You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus AlertManager 单节点CPU高负载未触发告警问题咨询

问题原因

你当前配置的告警规则未按实例维度分组,avg()聚合默认计算所有服务器的全局CPU空闲率平均值,只有全量服务器整体平均空闲CPU低于30%才会触发告警,单台服务器CPU跑满的情况自然不会触发告警。

修复方案

调整告警表达式的聚合逻辑,新增by (instance)指定按服务器实例维度分别计算指标,修复后的完整告警规则如下:

- alert: HostHighCpuLoad
  expr: avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[1m]) * 100) < 30
  for: 1m
  labels:
    severity: warning
  annotations:
    summary: "High usage on {{ $labels.instance }}"
    description: "{{ $labels.instance }} has a average CPU idle (current value: {{ $value | printf \"%.2f\" }}%)"
额外优化建议
  • 上述修改后Prometheus会对每台服务器的CPU空闲率单独做阈值判断,任意一台满足条件就会触发对应实例的告警,完全匹配你逐台监控的需求
  • 示例中新增了数值格式化语法printf \"%.2f\",可以让告警通知里的数值只保留两位小数,可读性更强,你可以根据自己的使用习惯调整
  • 如果你的监控集群下有多套环境、多个业务分组,也可以根据需要在by参数中增加对应的标签维度,比如avg by (instance, env, business)实现更细粒度的分组告警规则

内容的提问来源于stack exchange,提问作者emma_lanome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:45:04