路由配置

路由配置是 Alertmanager 自定义资源的一部分,它控制 Prometheus 发射的告警在到达接收器之前如何分组和过滤。

当路由被改变时,Prometheus Operator 会重新生成 Alertmanager 自定义资源,以更新这些变化。

关于配置路由的更多信息,请参阅官方 Alertmanager 文档。

本节假设熟悉监控组件如何协同工作。更多信息,请参阅本节。

路由限制

Alertmanager 根据其接收器和路由树为 Prometheus 代理告警,该路由树根据标签将告警过滤到某些接收器。

告警驱动程序将 Alertmanager 的告警代理给非本地接收器,如 Microsoft Teams 和 SMS。

在配置路由和接收器的 Rancher UI 中,你可以配置有一个根的路由树,然后再配置一个深度的路由树,这样的树就有两个深度。但是如果在直接配置 Alertmanager 的时候使用 continue 路由,就可以让树更深。

每个接收器是针对一个或多个通知提供者的。因此,如果你知道 Slack 的每个告警也应该发送到 PagerDuty,你可以在同一个接收器中配置这两个。

路由配置

关于标签和注释的说明

标签用来识别可能影响通知路由的信息。有关告警的标识信息可以由容器名称或应通知的团队名称组成。

注释用于不影响告警接收器的信息,如运行手册的网址或错误信息。

Rancher v2.5.4+

接收器

路由需要指向一个已经配置好的接收器

分组

字段默认描述
Group ByN/a将传入的告警归为一组的标签。例如,[ group_by: ‘[‘ <labelname>, … ‘] ‘’ 。] 标签的多个告警,如cluster=Aalertname=LatencyHigh,可以被批处理到一个组中。要按所有可能的标签集合,请使用特殊值‘…’作为唯一的标签名称,例如:group_by: [‘…’] 分组可以有效地完全禁止聚合,按原样传递所有告警。这不太可能是你想要的,除非您的告警量非常低或您的上游通知系统执行自己的分组。
分组等待30s同一分组的告警在发送前要等待多长时间的缓冲。
组间隔5m对于已经被添加到已经发送了初始通知的告警组,在发送告警之前要等待多长时间。
重复时间间隔4h在重新发送已经发送的给定告警之前等待多长时间。

匹配

Match字段指的是一组相等匹配器,用于根据告警上定义的标签来确定哪些告警要发送到指定的路由。当你向 Rancher UI 添加键值对时,它们对应于以下格式的 YAML:

  1. match:
  2. [ <labelname>: <labelvalue>, ... ]

Copy

Match Regex字段指的是一组正则表达式匹配器,用于根据告警上定义的标签,确定哪些告警要发送到指定的路由。当你在 Rancher UI 中添加键值对时,它们对应于以下格式的 YAML:

  1. match_re:
  2. [ <labelname>: <regex>, ... ]

Copy

Rancher v2.5.0-2.5.3

Alertmanager 必须在 YAML 中进行配置,如这个例子所示。