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

如何配置Grafana 8.2.3仅在指定时段触发多主机CPU使用率告警

问题原因分析
  • 运算逻辑与优先级错误:你编写的多主机查询将整个CPU使用率计算结果与时间条件相乘,和单主机查询的逻辑完全不一致。且当前测试用的时间条件(hour() > 8) * (hour() < 10)和你实际需求的凌晨1-5点不匹配,若当前时间不在8-10点区间内,整个表达式结果为0,若你的查询或告警规则过滤了0值,就会出现无数据的情况。
  • 标签匹配规则错误:先单独执行基础查询avg by (instance) (irate(windows_cpu_time_total{job=~"windows_scrape",mode="idle"}[2m]))验证是否有返回值。如果该查询无数据,说明job=~"windows_scrape"的标签匹配规则有误,你可以给正常运行的单主机查询加上job=~"windows_scrape"过滤条件测试,如果返回无数据,就说明你的Windows Exporter对应的job名和此处配置不一致。
  • 时间窗口配置不匹配:多主机查询用的是[2m]的irate窗口,单主机用的是[5m]窗口,如果你的Prometheus采集间隔大于1m,2m窗口可能会因为采集点数量不足,导致irate计算无返回值。
  • 时间条件写法不规范:用乘法实现时间过滤的写法极易引发优先级混淆,推荐使用PromQL原生的and逻辑运算符实现时间范围限制,可读性和准确性更高。
修复后的正确配置

以下是符合你凌晨1点到5点触发多主机高CPU告警的正确PromQL,可根据实际阈值调整>80的数值:

(100 - (avg by (instance) (irate(windows_cpu_time_total{job=~"windows_scrape", mode="idle"}[5m])) * 100)) > 80 and hour() >= 1 and hour() < 5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:24:06