文档中心>腾讯云可观测平台>Prometheus 监控>实践教程>容器服务核心监控指标与告警配置建议

容器服务核心监控指标与告警配置建议

最近更新时间:2025-10-16 14:57:21

我的收藏

核心监控指标

基础设施层监控指标

节点资源监控

指标类型
PromQL 查询
建议阈值
持续时间
告警级别
CPU 使用率
(1 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance)) * 100
>85%
持续5分钟
P2
CPU 使用率
(1 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance)) * 100
>95%
持续2分钟
P1
内存使用率
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100
>85%
持续5分钟
P2
内存使用率
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100
>95%
持续2分钟
P1
磁盘使用率
(1 - node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100
>85%
持续0分钟
P2
磁盘使用率
(1 - node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100
>95%
持续0分钟
P1
磁盘 IO 等待
rate(node_disk_io_time_seconds_total[5m]) * 100
>80%
持续5分钟
P2

网络监控

指标类型
PromQL查询
建议阈值
持续时间
告警级别
网络错误率
rate(node_network_receive_errs_total[5m]) + rate(node_network_transmit_errs_total[5m])
>10/秒
持续5分钟
P2
网络丢包率
rate(node_network_receive_drop_total[5m]) + rate(node_network_transmit_drop_total[5m])
>10/秒
持续5分钟
P2

Kubernetes 集群层监控指标

节点状态监控

指标类型
PromQL 查询
建议阈值
持续时间
告警级别
节点不可用
kube_node_status_condition{condition="Ready",status="false"}
>0
持续3分钟
P1
节点不可用
kube_node_status_condition{condition="Ready",status="unknown"}
>0
持续1分钟
P0
可调度节点数
kube_node_status_condition{condition="Ready",status="true"}
<最小节点数
持续0分钟
P1

Pod 状态监控

指标类型
PromQL 查询
建议阈值
持续时间
告警级别
Pod 启动失败
kube_pod_status_phase{phase="Failed"}
>0
持续5分钟
P2
Pod 重启频繁
rate(kube_pod_container_status_restarts_total[15m]) * 60
>5次/小时
持续0分钟
P2
Pod OOMKilled
increase(kube_pod_container_status_restarts_total{reason="OOMKilled"}[10m])
>0
持续0分钟
P1
Pod 挂起时间
kube_pod_status_phase{phase="Pending"}
>0
持续10分钟
P2

工作负载监控

指标类型
PromQL 查询
建议阈值
持续时间
告警级别
Deployment 副本不足
kube_deployment_status_replicas_available / kube_deployment_spec_replicas
<0.8
持续5分钟
P1
DaemonSet Pod 缺失
kube_daemonset_status_number_ready / kube_daemonset_status_desired_number_scheduled
<1.0
持续3分钟
P1

容器层监控指标

资源使用监控

指标类型
PromQL 查询
建议阈值
持续时间
告警级别
容器 CPU 使用率
rate(container_cpu_usage_seconds_total[5m]) / on(pod) kube_pod_container_resource_limits_cpu_cores * 100
>90%
持续5分钟
P2
容器内存使用率
container_memory_working_set_bytes / on(pod) kube_pod_container_resource_limits_memory_bytes * 100
>90%
持续5分钟
P2
容器内存使用率
container_memory_working_set_bytes / on(pod) kube_pod_container_resource_limits_memory_bytes * 100
>95%
持续2分钟
P1

应用层监控指标

HTTP 服务监控

指标类型
PromQL 查询示例
建议阈值
持续时间
告警级别
HTTP 错误率
rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) * 100
>5%
持续5分钟
P2
HTTP 错误率
rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) * 100
>10%
持续2分钟
P1
响应时间P99
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))
>2秒
持续5分钟
P2
服务可用性
up{job="your-service"}
<1
持续1分钟
P0

告警配置建议

阈值设置原则

动态阈值策略
业务高峰期调整:根据历史数据动态调整阈值。
环境差异化:开发/测试/生产环境使用不同阈值。
渐进式告警:使用多级阈值避免告警风暴。
时间窗口设置
瞬时告警:适用于严重故障(如服务完全不可用)。
持续时间告警:适用于性能类问题(如 CPU 持续高负载)。
趋势告警:适用于容量规划(如磁盘空间增长趋势)。

告警规则标签建议

labels:
severity: critical|high|warning|info # 告警严重程度
team: platform|business|sre # 负责团队
environment: prod|staging|dev # 环境标识
component: api|database|cache # 组件类型

告警分级原则

优先级
特征描述
响应时间
通知方式
典型场景
处理原则
P0 - 紧急告警(Critical)
直接影响用户体验或核心业务功能,需要立即响应
15分钟内
电话 + 短信 + 即时消息
集群整体不可用
核心服务全部实例失败
数据丢失风险
安全漏洞利用
立即启动应急响应流程
优先恢复业务功能
记录详细操作日志
P1 - 高优先级告警(High)
部分业务功能受影响,可能导致服务降级
1小时内
即时消息 + 邮件
节点 NotReady 超过5分钟
服务副本数低于最小阈值
主要组件异常但有备份
快速定位问题范围
评估业务影响
制定恢复计划
P2 - 中等告警(Warning)
系统资源使用异常,可能影响性能
4小时内
邮件 + 工作时间即时消息
CPU/内存使用率持续超过80%
磁盘空间不足警告
网络延迟增加
-
P3 - 信息告警(Info)
系统状态变化通知,无需立即处理
24小时内
邮件
配置变更通知
定期巡检结果
容量规划提醒
-

告警规则注解建议

annotations:
runbook_url: "故障处理手册链接" # 推荐,处理指南
dashboard_url: "监控面板链接" # 推荐,相关面板
playbook_url: "自动化脚本链接" # 可选,自动处理
impact: "业务影响描述" # 可选,影响范围
action: "建议的处理动作" # 可选,处理建议