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

Prometheus与Grafana中CPU使用率分级告警配置求助

实现Prometheus+Grafana CPU使用率分级告警方案

一、Prometheus告警规则编写(核心解决区间查询问题)

Prometheus告警规则的expr要求返回瞬时向量(当前时刻的指标值),如果错误使用范围向量查询(比如加[5m]这类区间)会导致查询失败。你已经完成CPU使用率百分比计算,直接基于这个瞬时指标写判断逻辑即可。

假设你的CPU使用率指标名为cpu_usage_percent,编写如下告警规则(通常放在prometheus/rules/cpu-alerts.yaml):

groups:
- name: cpu_usage_alerts
  rules:
  # 中等告警:CPU使用率在70%-80%之间
  - alert: CPUUsageMedium
    expr: cpu_usage_percent >= 70 AND cpu_usage_percent < 80
    for: 2m  # 持续2分钟触发,避免瞬时抖动误报
    labels:
      severity: medium
    annotations:
      summary: "CPU使用率中等告警 ({{ $labels.instance }})"
      description: "CPU使用率当前为 {{ $value }}%,处于70%-80%区间"

  # 严重告警:CPU使用率超过80%
  - alert: CPUUsageCritical
    expr: cpu_usage_percent >= 80
    for: 1m  # 严重告警可缩短持续检测时间
    labels:
      severity: critical
    annotations:
      summary: "CPU使用率严重告警 ({{ $labels.instance }})"
      description: "CPU使用率当前为 {{ $value }}%,已超过80%"

二、Grafana侧配置

  1. 告警渠道区分:在Grafana的Alerting -> Contact Points中,创建两个独立通知渠道(如企业微信机器人、邮件),分别对应medium和critical级别。
  2. 路由规则设置:在Alerting -> Notification Policies中添加路由规则:
    • 匹配labels.severity = critical的告警,路由到严重告警专属渠道
    • 匹配labels.severity = medium的告警,路由到中等告警专属渠道
  3. 可视化阈值(可选):在CPU使用率监控面板中添加阈值线,70%设为黄色、80%设为红色,直观展示使用率区间。

三、常见区间查询失败原因排查

如果之前尝试区间查询失败,大概率是以下问题:

  • 错误将范围向量(如cpu_usage[5m])直接用于告警规则expr,告警规则要求输入瞬时向量,需配合rate()/avg_over_time()等函数转换为瞬时值后再判断
  • 原始指标类型不匹配(如counter类型未做rate转换),但你已经完成百分比计算,直接用最终的瞬时指标即可
  • Prometheus未正确加载告警规则文件,可通过http://<prometheus-ip>:9090/rules查看规则是否生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 17:32:36