更新时间:2024-05-30 GMT+08:00
分享

健康诊断

概述

健康诊断是容器智能分析的一个重要功能,用于诊断集群的健康状态。开通容器智能分析后,健康诊断将基于集群的配置和kube-prometheus-stack插件上报至AOM的指标,从集群、节点、工作负载、核心插件、外部依赖的维度出发,提供全面的集群健康状态检查。同时,该功能还基于Kubernetes集群的运维最佳实践,提供相应的诊断结果和修复建议。

约束与限制

  • 集群版本高于v1.17。
  • 集群处于“运行中”状态。

查看巡检详情

  1. 选择一个容器舰队或者未加入舰队的集群。

    图1 选择舰队或未加入舰队的集群

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

    图2 健康诊断

  3. 下拉到“诊断结果”,查看当前集群巡检诊断结果。

    单击,单击“诊断详情”,可进入健康诊断详情页查看诊断项和诊断结果。
    图3 诊断结果

配置定时巡检规则

  1. 选择一个容器舰队或者未加入舰队的集群。

    图4 选择舰队或未加入舰队的集群

  2. 单击“容器洞察 > 集群总览”页签查看已开启监控的集群。
  3. 单击上方“健康诊断”,进入诊断详情页,在右边开启“定时巡检”,配置定时任务启动的时间。

    集群将在指定时间自动开始集群巡检任务。单个集群,每天仅支持配置一个定时巡检时间。

    图5 定时巡检设置

    也可按照查看巡检详情指导进入单集群巡检详情页面。

发起诊断

  1. 按照查看巡检详情指导进入单集群巡检页面。
  2. 在下方“巡检集群”中选择未巡检集群,单击“马上诊断”。

    集群将开始执行诊断。诊断结束后,页面将自动刷新并展示诊断结果,其中无风险项将自动隐藏。

    健康诊断将针对不同维度的巡检项,归纳Kubernetes中常见的问题,并提供相应的修复建议。您可以单击“诊断详情”查看具体诊断项的详细信息与修复建议。

    图6 诊断详情

支持的巡检项

表1 CCE集群巡检项

巡检维度

集群巡检场景

巡检项

集群

集群资源规划能力

集群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状态

节点配置

节点内存的Requset是否超过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%

表2 本地集群巡检项

巡检维度

集群巡检场景

巡检项

集群

集群资源规划能力

集群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状态

节点配置

节点内存的Requset是否超过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%

表3 附着集群、多云集群、伙伴云集群巡检项

巡检维度

集群巡检场景

巡检项

集群

集群资源规划能力

集群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状态

节点配置

节点内存的Requset是否超过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%

相关文档