Grafana 8.5.6中用Azure Monitor数据源时如何在告警消息中使用变量
在Grafana 8.5.6 + Azure Monitor中用变量填充告警消息的资源组/资源名称/指标名称
针对你的问题,有两种可靠的方法可以在告警消息中填充这些字段:
方法一:通过Dashboard变量关联Azure Monitor维度
先在Dashboard中创建对应维度的变量,之后直接在告警消息里引用:
- 创建资源组变量:
- 进入Dashboard的
Settings->Variables,点击Add variable - 类型选择
Azure Monitor,数据源选你的Azure Monitor实例 - 变量类型选
Resource Groups,配置对应的Azure订阅,保存变量命名为resourceGroup
- 进入Dashboard的
- 创建资源名称变量:
- 新增变量,类型选
Azure Monitor,数据源同上 - 变量类型选
Resources,在Resource group选项中选择刚才创建的${resourceGroup}变量,保存命名为resourceName
- 新增变量,类型选
- 创建指标名称变量:
- 新增变量,类型选
Azure Monitor,数据源同上 - 变量类型选
Metrics,关联${resourceGroup}和${resourceName}变量,保存命名为metricName
- 新增变量,类型选
完成后,在告警规则的Message字段中直接引用这些变量:
告警触发:资源组 ${resourceGroup},资源 ${resourceName} 的指标 ${metricName} 超出阈值
方法二:直接引用查询返回的标签值
如果你的告警查询是针对特定资源的单实例告警,Azure Monitor数据源会自动将资源组、资源名称、指标名作为标签返回,直接在告警消息中使用模板语法引用:
- 资源组:
{{ $labels.resourceGroup }} - 资源名称:
{{ $labels.resourceName }} - 指标名称:
{{ $labels.metric }}
示例告警消息:
{{ $labels.resourceGroup }}/{{ $labels.resourceName }} 的 {{ $labels.metric }} 指标值为 {{ $value }},已触发告警
注意事项
- 若配置了多资源的批量告警,需要确保变量支持多选,并且可以通过
{{ range $labels }}语法遍历所有匹配的标签值 - 配置完成后,点击告警规则页面的
Test rule按钮,验证生成的告警消息是否正确填充了所需字段
内容的提问来源于stack exchange,提问作者Parag Gupta
相关产品推荐
相关产品推荐

