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

这篇说说腾讯云监控系统的核心指标与告警配置建议,涵盖基础设施、Kubernetes集群、容器及应用层监控指标,并给出阈值设置、告警分级与规则标签建议。 监控指标:覆盖节点CPU/内存/磁盘、Pod状态、HTTP错误率等指标,并给出PromQL查询与阈值。 告警分级:P0紧急告警需15分钟内响应,P1高优先级1小时内,P2中等4小时内,P3信息24小时内。 配置建议:包含动态阈值策略、环境差异化及告警规则标签(如sev。

相关产品
Prometheus 监控服务 产品页,含版本规格、价格与购买入口。

一、节点资源监控

指标类型 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

三、节点状态监控

指标类型 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[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: "建议的处理动作" # 可选,处理建议

赞 (0)
上一篇 4天前
下一篇 4天前