Grafana 9.4告警添加动态租户标签及替换B0显示问题咨询
Grafana 9.4告警配置问题解答
问题背景
当前使用Grafana 9.4搭建仪表盘并配置告警,已创建如下规则:
- 查询A:基于带
{tenant="tenant1", ...}标签的Prometheus指标,图例设为{{tenant}} - 表达式B(告警条件):经典条件配置为
WHEN last() of A is above 100
告警触发时通知示例:
Firing Value: B0=222.28333333333333 Labels: - alertname = My alert name - grafana_folder = My folder - team = my-team Annotations: - summary = My summary ...
问题1:能否添加包含租户名称的动态标签,实现特定租户告警静默?
可以,按以下步骤操作:
- 打开告警规则的编辑页面,找到Labels配置模块
- 点击「Add label」,设置标签键为
tenant,标签值填写模板语法{{ $labels.tenant }}——这个模板会直接引用Prometheus指标自带的tenant标签值 - 保存告警规则后,后续触发的告警会自动带上
tenant=xxx的标签,此时就能在告警静默功能中指定该标签,实现仅针对特定租户静默告警
问题2:如何将通知中的B0替换为查询A对应的租户名称?
有两种可行方法:
方法一:通过告警规则的Annotations配置
- 在告警规则编辑页面的Annotations模块,点击「Add annotation」
- 新增一个annotation,比如键设为
metric_value,值填写{{ $labels.tenant }}={{ $value }} - 修改通知内容模板(如果使用默认模板,需调整对应输出逻辑),将原来显示
Value: B0=xxx的部分替换为Value: {{ .Annotations.metric_value }}
方法二:直接修改通知模板
在Grafana的通知模板管理页面,找到当前使用的通知模板,定位到输出告警值的代码段,将B0={{ $value }}替换为{{ $labels.tenant }}={{ $value }}即可。如果涉及多租户场景,这个模板会自动匹配每个告警实例对应的租户标签值。
内容的提问来源于stack exchange,提问作者Marcel Gosselin
相关产品推荐
相关产品推荐

