monitoring - Prometheus AlertManager - 根据路由向不同客户端发送警报

标签 monitoring prometheus prometheus-alertmanager

我有 2 个服务 A B 我想监视它们。此外,我有 2 个不同的通知 channel X Y 在 AlertManager 配置文件中以 receivers 的形式。

如果服务 A 宕机,我想发送通知 X ,如果服务 B 宕机,我想通知 Y 。我怎样才能实现这个我的配置?

我的 AlertManager YAML 文件是:

route:
  receiver: X

receivers:
  - name: X
    email_configs:

  - name: Y
    email_configs:
alert.rule 文件是:
groups:

- name: A
  rules:
    - alert: A_down
      expr: expression
      for: 1m
      labels:
         severity: critical
      annotations:
         summary: "A is down"

- name: B
  rules:
    - alert: B_down
      expr: expression
      for: 1m
      labels:
        severity: warning
      annotations:
        summary: "B is down"

最佳答案

配置应该大致如下(未测试):

route:
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 2h

  receiver: 'default-receiver'

  routes:
  - match:
      alertname: A_down
    receiver: X
  - match:
      alertname: B_down
    receiver: Y

这个想法是,每个 route 字段都可以有一个 routes 字段,您可以在其中放置不同的配置,如果 match 中的标签与条件匹配,则会启用该配置。

关于monitoring - Prometheus AlertManager - 根据路由向不同客户端发送警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51485580/

相关文章:

linux - Mail/Mailx 可以和邮件服务器信息一起使用吗?

kubernetes - Kubernetes自动缩放

prometheus - 在配置文件中而不是命令行参数中指定 storage.tsdb.retention

kubernetes - Prometheus kube_pod_container_status_waiting_reason 没有捕获到 pod CrashLoopBackOff 原因

docker - AlertManager —容器警报在运行时未返回主机名

windows - 实时监控Windows中日志文件中的错误

monitoring - Graphite 碳继电器不工作

monitoring - 普罗米修斯增加不处理进程重新启动

kubernetes - K8S - 无法通过 - alertmanager 查看警报

java - 从 Java 应用程序监控 Tomcat 服务器