首页 > 解决方案 > 使用指标名称而不是指标标签进行匹配

问题描述

我的一个出口商打印了一个没有标签的指标:

$ curl -s http://localhost:9999/metrics | grep service_up | grep -v "#"
service_up 1

创建 AlertManager 接收器时,我通常使用其中一个度量标签match(例如,job: 'nodeexporter-textcollector')。

例如,对于这种情况,AlertManager 配置如下所示:

route:
  receiver: 'default'
  routes:
  - receiver: 'custom'
    match:
      severity: 'critical'
      job: 'nodeexporter-textcollector'

但是,对于上述指标 ( service_up) 是否可以匹配指标名称?

谢谢你。

标签: prometheusprometheus-alertmanager

解决方案


您已经为此指标定义了警报规则,对吗?类似于以下示例:

- alert: ServiceIsDown
  expr: service_up == 0

现在,要路由此警报,您只需要使用警报名称:

route:
  receiver: 'default'
  routes:
  - receiver: 'custom'
    match:
      alertname: 'ServiceIsDown'

推荐阅读