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

Grafana无法查询告警:如何统计各监控目标的活跃告警数?

解决方案

1. 利用Grafana内置告警指标

Grafana原生告警会暴露内部监控指标,你可以通过默认的Grafana内置Prometheus数据源查询这些指标,核心可用指标:

  • grafana_alerting_alert_state:记录每个告警实例的状态,标签包含告警规则名(alertname)、监控目标标识(比如instance/job,需和你的目标属性标签对应)
  • 状态值说明:1代表活跃告警(alerting状态),0代表正常

2. 编写PromQL统计目标活跃告警数

假设你的监控目标用instance标签存储IP/名称,且告警规则已关联该标签,用以下查询统计每个目标的活跃告警数:

sum by (instance) (grafana_alerting_alert_state{state="alerting"})

如果目标用其他标签(比如target)标识,替换instance即可。

3. 表格面板整合目标属性与告警数

步骤1:拉取目标属性

在表格面板的查询编辑器中,第一个查询用任意带目标标签的指标(比如up指标,每个目标都会上报):

up

添加Labels to Fields转换,将需要的标签(如instance、job、target_name)转为表格列。

步骤2:拉取告警数统计

第二个查询用之前的PromQL统计语句,同样添加Labels to Fields转换,将值列重命名为活跃告警数。

步骤3:合并结果

添加Join转换,选择基于目标标识标签(如instance)进行左连接,即可将目标属性和对应告警数合并到同一表格。

4. 特殊场景处理

  • 告警规则未关联目标标签:修改告警规则,在查询中保留目标标识标签,或在告警规则的Labels中手动添加目标相关标签,确保grafana_alerting_alert_state能带上目标标识。
  • 使用外部Alertmanager:查询Alertmanager的alertmanager_alerts指标,按目标标签分组统计:
sum by (instance) (alertmanager_alerts{status="firing"})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:22:13