K8S Pod 常用告警指标

775 阅读1分钟

Pod CPU 利用率告警

告警指标:container-cpu-usage

告警等级:P2 >= 0.85, P1 >= 0.95

对应措施:通知开发同学查看 cpu load 高的具体原因,一般都是 gc 回收机不了内存导致的,如果是用户负载过高,则扩容。

告警表达式:sum(rate(container_cpu_usage_seconds_total{container=~"app1|app2|app3"}[2m])) by (pod,namespace) / (sum(container_spec_cpu_quota{container=~"app1|app2|app3"}) by (pod,namespace) / sum(container_spec_cpu_period{container=~"app1|app2|app3"}) by (pod,namespace))

Pod Memory 使用率告警

告警指标:container-memory-usage

告警等级:P2 >= 0.90, P1 >= 0.98

对应措施:通知开发同学查看 memory 占用高的具体原因,一般都是 gc 回收集不了内存,或者堆外内存泄漏导致的。

告警表达式:container_memory_usage_bytes{container=~"container1|container2|container3"} /container_spec_memory_limit_bytes{container=~"container1|container2|container3"}

Pod 实例状态告警

告警指标:pod_instance_status

告警等级:P1 == 0.00

对应措施:检查 pod 挂掉的原因,并重新拉起该 pod

告警表达式:up{service=~"container1|container2|container3"}

Pod 重启告警

告警指标:pod_restart_count_rate

告警等级:P1 > 0.00

对应措施:检查 pod重启的原因,一般有两个:一是 OOM killed;二是容器 Readiness、Liveness 探针异常。

告警表达式:irate(kube_pod_container_status_restarts_total{container=~"container1|container2|container3"}[2m])