线上问题诊断
虽然阿里云函数计算控制台提供很好的白屏化可观测能力, 但是小明是一个命令行爱好者,他希望在终端也能完成基本的日志查询和实例登录操作。
查看日志
-
需要给函数的 s.yaml 配置上 logConfig
上面的 project 和 logstore 替换成您日志服务的 project 和 logstore, logstore 打开索引
-
执行 s deploy
部署函数
-
执行 s invoke
命令,让函数执行产生日志
-
查询日志
更多日志查询使用请参考logs指令
登录实例
在一些日常的场景下,实例命令行操作会带来更符合用户习惯、更高效便捷的排查问题方式。
小明写完一个程序部署到函数计算后,发现函数中设置的环境变量不生效,如果进一步排查,则需要修改代码,打印日志,重新部署,查看日志,使用这样繁琐的排查方式。现在借助实例命令行操作,小明可以:
或者直接登录实例:
More
实例命令行操作提供了便捷的登录体验,能帮助用户解决复杂场景下的应用问题。一些情况下,用户已经无法通过函数日志、监控指标来具体定位问题,需要借助比如 coredump 、tcpdump、jmap 等工具进行深入排查。
比如,小明发现自己的线上程序最近会出现一些函数错误,报错内容都是连接远程某服务超时。小明怀疑是函数实例与远端服务的网络链接不稳定,想进入实例内部,调查分析下实例与远端服务的网络情况。他可以按照这样的步骤进行:
-
登录进实例内部后,先安装 tcpdump 工具,需要执行 apt-get update 和 apt-get install tcpdump 两条命令:
-
安装完毕后,执行 tcpdump 命令,对远端服务 IP 的请求进行抓包,并将抓包结果保存在 tcpdump.cap 文件中:
-
抓包完毕,借助 OSS 命令行工具 ossutil64 ,将 tcpdump.cap 文件上传到自己的 OSS ,然后下载到本地借助分析工具 wireshark 可以进行分析。