问题现象
阿里云容器服务Kubernetes版集群中的Java应用安装Agent后,应用监控没有数据。
可能原因
应用所在Pod未被注入arms-init-container、应用YAML文件中无Annotations注解以及STS服务未正确授权等原因都可能导致应用监控无数据。
解决方案
- 登录容器服务Kubernetes版控制台。
- 在左侧导航栏选择集群,在集群列表页面上的目标集群右侧操作列单击应用管理。
- 在容器组页签顶部选择您的应用所在的命名空间,然后单击目标应用右侧单击编辑。
- 在编辑YAML对话框中查看YAML文件中是否存在initContainers。
- 如果不存在,则说明未被注入arms-init-container,执行5。
- 如果存在,则说明已被注入arms-init-container,执行8。
- 在容器组页签顶部选择命名空间为arms-pilot。查看Pod列表中是否存在名称前缀为arms-pilot的Pod。
- 在无状态或有状态页签目标应用右侧操作列中选择,在编辑YAML对话框查看YAML文件中是否存在以下Annotations注解。
annotations:
armsPilotAutoEnable: 'on'
armsPilotCreateAppName: <your-deployment-name>
- 如果存在,则执行7。
- 如果不存在,则在编辑YAML对话框中的spec > template > metadata层级下添加以上Annotations注解,并将
<your-deployment-name>
替换为您的应用名称,然后单击更新。
- 在容器组页签目标应用右侧单击日志,查看arms-pilot的Pod日志是否报STS错误,即提示
"Message":"STS错误"
。
- 如果报STS错误,则需为应用所在集群授权,并重启应用所在Pod。具体操作,请参见为容器服务Kubernetes版授权。
- 如果未报STS错误,则联系ARMS钉钉服务账号:arms160804。
- 在容器组页签目标应用右侧单击编辑,在编辑YAML对话框中查看YAML文件中是否存在以下javaagent参数。
-javaagent:/home/admin/.opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar