健康诊断
概述
健康诊断是容器智能分析的一个重要功能,用于诊断集群的健康状态。开通容器智能分析后,健康诊断将基于集群的配置和kube-prometheus-stack插件上报至AOM的指标,从集群、节点、工作负载、核心插件、外部依赖的维度出发,提供全面的集群健康状态检查。同时,该功能还基于Kubernetes集群的运维最佳实践,提供相应的诊断结果和修复建议。
约束与限制
- 集群版本高于v1.17。
- 集群处于“运行中”状态。
查看巡检详情
- 选择一个容器舰队或者未加入舰队的集群。图1 选择舰队或未加入舰队的集群

- 单击“健康诊断”页签,您可通过健康诊断功能查看各个集群的正常比例及风险数量。图2 健康诊断

- 下拉到“诊断结果”,查看当前集群巡检诊断结果。单击
,单击“诊断详情”,可进入健康诊断详情页查看诊断项和诊断结果。 图3 诊断结果
配置定时巡检规则
- 选择一个容器舰队或者未加入舰队的集群。图4 选择舰队或未加入舰队的集群

- 单击“容器洞察 > 集群总览”页签查看已开启监控的集群。
- 单击上方“健康诊断”,进入诊断详情页,在右边开启“定时巡检”,配置定时任务启动的时间。
集群将在指定时间自动开始集群巡检任务。单个集群,每天仅支持配置一个定时巡检时间。
图5 定时巡检设置

也可按照查看巡检详情指导进入单集群巡检详情页面。
发起诊断
- 按照查看巡检详情指导进入单集群巡检页面。
- 在下方“巡检集群”中选择未巡检集群,单击“马上诊断”。
集群将开始执行诊断。诊断结束后,页面将自动刷新并展示诊断结果,其中无风险项将自动隐藏。
健康诊断将针对不同维度的巡检项,归纳Kubernetes中常见的问题,并提供相应的修复建议。您可以单击“诊断详情”查看具体诊断项的详细信息与修复建议。
图6 诊断详情
支持的巡检项
巡检维度 | 集群巡检场景 | 巡检项 |
|---|---|---|
集群 | 集群资源规划能力 | 集群Master节点是否高可用 |
集群CPU的Request水位是否超过80% | ||
集群CPU的Limit水位是否超过150% | ||
集群内存的Request水位是否超过80% | ||
集群内存的Limit水位是否超过150% | ||
集群版本是否超期 | ||
集群运维能力 | 集群kube-prometheus-stack插件状态是否正常 | |
集群log-agent插件状态是否正常 | ||
集群npd插件状态是否正常 | ||
集群配置 | 安全组配置是否正确 | |
核心插件 | coredns插件状态 | coredns近24小时cpu使用率最大值是否超过80% |
coredns近24小时内存使用率最大值是否超过80% | ||
coredns近24小时是否存在域名解析失败请求次数 | ||
coredns近24小时P99请求时延是否超过5s | ||
coredns插件状态 | ||
everest插件状态 | everest插件状态 | |
everest近24小时CPU使用率最大值是否超过80% | ||
everest近24小时内存使用率最大值是否超过80% | ||
kube-prometheus-stack插件状态 | kube-prometheus-stack近24小时CPU使用率最大值是否超过80% | |
kube-prometheus-stack近24小时内存使用率最大值是否超过80% | ||
kube-prometheus-status插件状态 | ||
kube-prometheus-status近24小时是否出现OOM | ||
kube-prometheus-status在Server部署模式下,prometheus-server的PVC使用率是否超过80% | ||
log-agent插件状态 | log-agent插件状态 | |
LTS日志组、日志流是否创建成功 | ||
LTS日志组结构化是否创建成功 | ||
autoscaler插件状态 | 集群在开启节点池弹性扩缩容条件下,autoscaler插件状态是否可用 | |
节点 | 节点状态 | 节点状态是否就绪 |
节点状态不可调度 | ||
节点kubelet状态 | ||
节点配置 | 节点内存的Request是否超过80% | |
节点CPU的Request是否超过80% | ||
节点内存的Limit检查是否超过150% | ||
节点CPU的Limit检查是否超过150% | ||
节点资源水位诊断 | 节点24小时内CPU使用率最大值是否超过80% | |
节点24小时内内存使用率最大值是否超过80% | ||
节点磁盘使用率是否超过80% | ||
节点PID使用量是否正常 | ||
节点24小时内是否发生OOM事件 | ||
负载 | Pod状态 | Pod状态检查 |
Pod负载状态 | Pod在24小时内是否发生OOM | |
Pod的24小时内CPU使用率最大值是否超过80% | ||
Pod的24小时内内存使用率最大值是否超过80% | ||
Pod配置 | Pod中的容器是否配置Request | |
Pod中的容器是否配置Limit | ||
Pod探针配置 | Pod中的容器是否配置存活探针 | |
Pod中的容器是否配置就绪探针 | ||
外部依赖 | 租户节点资源配额 | 租户云硬盘配额是否超过90% |
租户ECS配额充足是否超过90% |
巡检维度 | 集群巡检场景 | 巡检项 |
|---|---|---|
集群 | 集群资源规划能力 | 集群Master节点是否高可用 |
集群CPU的Request水位是否超过80% | ||
集群CPU的Limit水位是否超过150% | ||
集群内存的Request水位是否超过80% | ||
集群内存的Limit水位是否超过150% | ||
集群运维能力 | 集群kube-prometheus-stack插件状态是否正常 | |
集群log-agent插件状态是否正常 | ||
核心插件 | kube-prometheus-stack插件状态 | kube-prometheus-stack近24小时CPU使用率最大值是否超过80% |
kube-prometheus-stack近24小时内存使用率最大值是否超过80% | ||
kube-prometheus-status插件状态 | ||
kube-prometheus-status近24小时是否出现OOM | ||
log-agent插件状态 | log-agent插件状态 | |
LTS日志组、日志流是否创建成功 | ||
LTS日志组结构化是否创建成功 | ||
节点 | 节点状态 | 节点状态是否就绪 |
节点状态不可调度 | ||
节点kubelet状态 | ||
节点配置 | 节点内存的Request是否超过80% | |
节点CPU的Request是否超过80% | ||
节点内存的Limit检查是否超过150% | ||
节点CPU的Limit检查是否超过150% | ||
节点资源水位诊断 | 节点24小时内CPU使用率最大值是否超过80% | |
节点24小时内内存使用率最大值是否超过80% | ||
节点磁盘使用率是否超过80% | ||
节点PID使用量是否正常 | ||
节点24小时内是否发生OOM事件 | ||
负载 | Pod状态 | Pod状态检查 |
Pod负载状态 | Pod在24小时内是否发生OOM | |
Pod的24小时内CPU使用率最大值是否超过80% | ||
Pod的24小时内内存使用率最大值是否超过80% | ||
Pod配置 | Pod中的容器是否配置Request | |
Pod中的容器是否配置Limit | ||
Pod探针配置 | Pod中的容器是否配置存活探针 | |
Pod中的容器是否配置就绪探针 | ||
外部依赖 | 租户节点资源配额 | 租户云硬盘配额是否超过90% |
租户ECS配额充足是否超过90% |
巡检维度 | 集群巡检场景 | 巡检项 |
|---|---|---|
集群 | 集群资源规划能力 | 集群Master节点是否高可用 |
集群CPU的Request水位是否超过80% | ||
集群CPU的Limit水位是否超过150% | ||
集群内存的Request水位是否超过80% | ||
集群内存的Limit水位是否超过150% | ||
集群运维能力 | 集群kube-prometheus-stack插件状态是否正常 | |
核心插件 | kube-prometheus-stack插件状态 | kube-prometheus-stack近24小时CPU使用率最大值是否超过80% |
kube-prometheus-stack近24小时内存使用率最大值是否超过80% | ||
kube-prometheus-status插件状态 | ||
kube-prometheus-status近24小时是否出现OOM | ||
节点 | 节点状态 | 节点状态是否就绪 |
节点状态不可调度 | ||
节点kubelet状态 | ||
节点配置 | 节点内存的Request是否超过80% | |
节点CPU的Request是否超过80% | ||
节点内存的Limit检查是否超过150% | ||
节点CPU的Limit检查是否超过150% | ||
节点资源水位诊断 | 节点24小时内CPU使用率最大值是否超过80% | |
节点24小时内内存使用率最大值是否超过80% | ||
节点磁盘使用率是否超过80% | ||
节点PID使用量是否正常 | ||
节点24小时内是否发生OOM事件 | ||
负载 | Pod状态 | Pod状态检查 |
Pod负载状态 | Pod在24小时内是否发生OOM | |
Pod的24小时内CPU使用率最大值是否超过80% | ||
Pod的24小时内内存使用率最大值是否超过80% | ||
Pod配置 | Pod中的容器是否配置Request | |
Pod中的容器是否配置Limit | ||
Pod探针配置 | Pod中的容器是否配置存活探针 | |
Pod中的容器是否配置就绪探针 | ||
外部依赖 | 租户节点资源配额 | 租户云硬盘配额是否超过90% |
租户ECS配额充足是否超过90% |

