如何在Prometheus告警规则中将指标值设置为标签?
如何在Prometheus告警规则中将指标值作为标签携带
需求是把Prometheus指标的数值直接作为告警标签的值。比如有一个无标签的自定义计数器指标:
# TYPE ping_count counter ping_counter 22
现有告警规则如下:
groups: - name: Count greater than 5 rules: - alert: CountGreaterThan5 expr: ping_counter > 5 for: 40s labels: route: ping_counter
期望在AlertManager中看到route标签携带ping_counter的实际指标值,比如route="22"或者route="3"。
解决方法
在Prometheus告警规则的标签配置中,使用模板变量{{ $value }}即可获取指标的当前数值。修改后的告警规则如下:
groups: - name: Count greater than 5 rules: - alert: CountGreaterThan5 expr: ping_counter > 5 for: 40s labels: route: '{{ $value }}'
{{ $value }}会自动替换为告警表达式ping_counter > 5计算出的ping_counter实际数值,这样AlertManager收到告警时,route标签就会带上对应的指标值。
内容的提问来源于stack exchange,提问作者Supreeth
相关产品推荐
相关产品推荐

