如何在Grafana多维告警中配置Windows主机无数据上报触发告警
无数据告警未触发问题解决方案
核心原因
你当前的指标查询仅返回正在上报的主机维度数据,停止上报的主机不会出现在查询结果集中,告警规则无法感知到已消失的主机维度,因此不会触发无数据告警。
分步解决方法
- 第一步:调整查询逻辑,覆盖全量主机维度
不能仅查询实时上报的指标,需要先拉取过去足够长周期内(可根据你的主机上线频率调整,通常设为24小时)所有出现过的Windows主机维度,再和实时上报数据做匹配,让停止上报的主机也能出现在查询结果中。
如果你用的是Prometheus数据源,可参考查询写法:# 取过去24h所有上报过指标的Windows主机列表,减去当前仍在上报的主机,剩下的就是停报的主机 sum by (instance) (windows_system_system_up_time[24h]) unless sum by (instance) (windows_system_system_up_time) - 第二步:修改告警触发规则
把原来的「无数据触发告警」逻辑,改成查询结果数量大于0即触发告警即可,上面的查询只要存在停止上报的主机就会返回对应维度的结果,直接匹配这个条件就能正常触发告警。 - 第三步:检查无数据相关配置(可选,如果你想保留原生无数据触发逻辑)
- 将告警规则的查询时间范围调整为指标上报周期的3倍及以上,比如指标1分钟上报一次就设为3分钟,避免偶发上报延迟导致误判
- 在无数据和错误处理配置项中,把
If no data or all values are null的选项设置为Alert,不要设为No Data或者OK
- 第四步:验证维度配置
确认告警规则的标签配置中保留了主机标识维度(通常为instance),确保告警通知可以明确对应到停止上报的具体主机。
内容的提问来源于stack exchange,提问作者Mr 123
相关产品推荐
相关产品推荐

