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

如何在Grafana单告警规则中按触发原因向不同联系人发邮件?

解决方案

要实现按触发原因分联系人发送告警,Grafana可以通过两种方式实现,具体如下:

方法一:拆分独立告警规则

这是最直观且不易出错的方式,把不同触发场景拆成两个独立规则:

  • 针对匹配条件触发的场景:复制原规则,删除"No Data"和"Error"的触发配置,只保留阈值/条件匹配的触发逻辑,将通知渠道设置为联系人2。
  • 针对错误/无数据的场景:新建规则,查询逻辑可复用原规则的查询(或专门检测查询是否异常),在规则的"Alert state"配置里,仅勾选"No Data"和"Error"时触发告警,将通知渠道设置为联系人1。
  • 注意:确保两个规则的名称、标签区分开,避免混淆。

方法二:利用通知策略的条件路由

如果不想拆分规则,可通过Grafana的通知策略实现动态路由(需Grafana v8.0及以上版本支持):

  1. 进入Alerting > Notification policies,点击根策略旁的Add policy添加子策略。
  2. 第一个子策略(错误/无数据):
    • 设置匹配条件:alert.status == "error" || alert.status == "no_data"
    • 选择联系人1对应的通知渠道,保存。
  3. 第二个子策略(匹配条件触发):
    • 设置匹配条件:alert.status == "firing"
    • 选择联系人2对应的通知渠道,保存。
  4. 调整策略优先级:确保两个子策略的优先级高于根策略,Grafana会按从上到下的顺序匹配策略。

额外提示

  • 可以在告警规则的Annotations中添加触发原因的标识,比如Reason: {{ .Status }},方便在通知内容里展示触发类型。
  • 测试时可手动构造不同场景:比如修改查询语句制造错误,或者停止数据源产生数据模拟无数据,验证通知是否正确发送给对应联系人。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 14:29:54