本文介绍了Kubernetes监控在安装和使用过程中的常见问题。
安装相关
无法安装Kubernetes监控组件
问题现象排查步骤
- 在集群拓扑或组件管理页面单击查看检查报告。
- 根据检查报告提示确认是否安装了最新版本的Prometheus监控组件。
- 确认集群是否被授权。
检查集群是否存在ARMS Addon Token:
- 若存在ARMS Addon Token,ARMS会进行免密授权,Prometheus监控和Kubernetes监控组件安装完成后,即可使用Kubernetes监控。
- 若不存在ARMS Addon Token,则需要手动添加ARMS和链路追踪权限策略。
查看ARMS Addon Token
- 在容器服务管理控制台的集群列表页面,单击目标集群名称进入集群详情页。
- 在左侧导航栏选择,然后在顶部选择命名空间为kube-system,查看addon.arms.token是否存在。
手动添加ARMS和链路追踪权限策略
- 在容器服务管理控制台的集群列表页面,单击目标集群名称进入集群详情页。
- 在左侧导航栏单击集群信息,并在右侧页面单击集群资源页签。
- 单击Worker RAM角色右侧链接,然后在角色页面单击新增授权。
- 在新增授权面板的选择权限区域,通过关键字搜索以下两个权限策略 ,并单击权限策略将其添加至右侧的已选择列表中,然后单击确定。
- AliyunTracingAnalysisFullAccess:链路追踪的完整权限。
- AliyunARMSFullAccess:ARMS的完整权限。
说明
- Kubernetes托管版集群:对于部分Kubernetes托管版集群,可能存在没有ARMS Addon Token的情况,因此,对于Kubernetes托管版集群,建议首先检查ARMS
Addon Token是否存在。若不存在,仍需进行手动授权。
- Kubernetes专有版集群:默认不支持ARMS Addon Token,需进行手动授权。
- 注册集群:默认不支持ARMS Addon Token,需进行手动授权。由于注册集群没有Worker RAM角色,无法通过Worker RAM角色手动添加ARMS和链接追踪的权限策略,因此,注册集群安装Kubernetes监控组件的操作,请参见注册集群安装组件。
使用相关
Cmonitor Agent Pod报错readiness probe failed
问题现象在
容器服务管理控制台目标集群下的页面,单击
arms-prom命名空间下名为
cmonitor-agent-<xxx>的Pod,在
事件页签出现错误信息:
readiness probe failed
。

排查步骤检查集群是否满足接入环境要求。详细的接入限制,请参见Kubernetes监控运行环境要求和限制。
Cmonitor Agent Pod内存和CPU使用率过高
问题现象在容器服务管理控制台目标集群下的页面,arms-prom命名空间下名为cmonitor-agent-<xxx>的Pod出现内存和CPU使用率过高的问题。
排查步骤
- 确认告警Pod所在节点的请求量是否过高,是否达到了1w/s及以上的请求数。
- 确认告警Pod所在节点的CPU和内存使用是否过高。
- 联系Kubernetes监控答疑钉钉群(群号:
35568145
)获取帮助。
拓扑图没有流量关系
问题现象集群拓扑页面只有节点,没有流量关系的连线。

排查步骤
- 检查探针状态。
在容器服务管理控制台目标集群的页面,选择命名空间为arms-prom,然后查看守护进程集页面是否存在cmonitor-agent。
- 如果存在且容器组数量总数和就绪数量一致,说明Kubernetes监控探针状态正常。

- 如果不存在或者容器组数量总数和就绪数量不一致,则说明Kubernetes监控探针安装失败,请联系Kubernetes监控答疑钉钉群(群号:
35568145
)获取帮助。
- 检查探针日志。
单击cmonitor-agent名称,然后单击日志页签。
查看容器组日志运行状态。正常运行状态的日志将会持续打印版本号,不会出现任何异常日志。如果任何异常日志,请联系
Kubernetes监控答疑钉钉群(群号:
35568145
)获取帮助。

- 检查探针配置。
在左侧导航栏选择,选择命名空间为arms-prom,然后查看配置项页面是否存在otel-collector-config,并确保存在以下配置。如果不存在,请联系Kubernetes监控答疑钉钉群(群号:35568145
)获取帮助。

拓扑详情面板的接口详情为空
问题现象
- 在集群拓扑页面单击节点打开详情面板。
- 在详情面板单击查看列表查看接口调用详情,接口调用详情页面为空。

排查步骤
- 检查探针状态。
在容器服务管理控制台目标集群的页面,选择命名空间为arms-prom,然后查看守护进程集页面是否存在cmonitor-agent。
- 如果存在且容器组数量总数和就绪数量一致,说明Kubernetes监控探针状态正常。

- 如果不存在或者容器组数量总数和就绪数量不一致,则说明Kubernetes监控探针安装失败,请联系Kubernetes监控答疑钉钉群(群号:
35568145
)获取帮助。
- 检查探针日志。
单击cmonitor-agent名称,然后单击日志页签。
查看容器组日志运行状态。正常运行状态的日志将会持续打印版本号,不会出现任何异常日志。如果任何异常日志,请联系
Kubernetes监控答疑钉钉群(群号:
35568145
)获取帮助。

- 检查探针配置。
在左侧导航栏选择,选择命名空间为arms-prom,然后查看配置项页面是否存在otel-collector-config,并确保存在以下配置。如果不存在,请联系Kubernetes监控答疑钉钉群(群号:35568145
)获取帮助。

- 查看采样率。
- 在ARMS控制台的Kubernetes监控页面单击目标集群名称。
- 在左侧导航栏单击集群管理,然后在集群配置页签的链路区域查看链路数据采样率。
默认采样率只有10%,如果调用次数较少,可能没有调用详情,请根据实际情况调整采样率。
拓扑详情面板的接口名称收敛为星号(*)
问题现象在
集群拓扑页面的节点详情面板,接口名称收敛为星号(*)。

排查步骤接口字段会作为一个指标Label存储到Prometheus监控里,而一个Label的值过多会导致维度发散,严重影响Prometheus的存储和查询性能,为了避免出现这个问题,Kubernetes监控接口最多支持2级路径,如果某一级路径出现的不同内容超过50个,就会被收敛为星号(*);另外,所有包含数字、.png、.html等字段的内容也会被收敛为星号(*)。