首页 > 解决方案 > Alertmanager 仅通过默认接收器

问题描述

如标题所述,我对 prometheus-operator 的 alertmanager 有疑问。我正在尝试使用路由过滤一些警报,但似乎没有考虑在内。

当我使用默认接收器时,一切似乎都工作正常,但是如果我尝试使用不执行任何操作的默认接收器进行过滤,然后使用路由,它不会进入路由并且我不会收到任何错误。

我正在使用的秘密:

route:
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 4h
  group_by: [cluster]
  receiver: 'default'
  routes:
  - match:
      alertname: !Watchdog
    receiver: 'slack-devops'
    continue: true
templates: ['/etc/alertmanager/config/*.tmpl']
receivers:
- name: 'default'
- name: 'slack-devops'
  slack_configs:
  - channel: "tmp-test-srv-alerting"

使用此配置,它会将所有内容都放在默认路由中,而 netheir 会进入路由,我什至没有收到错误消息。有人对如何使这项工作有想法吗?

标签: prometheus-alertmanagerprometheus-operatoralertmanager

解决方案


尝试使用支持否定匹配的“matchers”而不是“match”:而不是

# ❌ This is invalid
route:
- match:
   alertname: !WatchDog

# ✅ This is correct
route:
- matchers:
   - alertname!=Watchdog

文档:https ://prometheus.io/docs/alerting/latest/configuration/#matcher


推荐阅读