路由配置
路由配置是 Alertmanager 自定义资源的一部分,它控制 Prometheus 发射的告警在到达接收器之前如何分组和过滤。
当路由被改变时,Prometheus Operator 会重新生成 Alertmanager 自定义资源,以更新这些变化。
关于配置路由的更多信息,请参阅官方 Alertmanager 文档。
本节假设熟悉监控组件如何协同工作。更多信息,请参阅本节。
路由限制
Alertmanager 根据其接收器和路由树为 Prometheus 代理告警,该路由树根据标签将告警过滤到某些接收器。
告警驱动程序将 Alertmanager 的告警代理给非本地接收器,如 Microsoft Teams 和 SMS。
在配置路由和接收器的 Rancher UI 中,你可以配置有一个根的路由树,然后再配置一个深度的路由树,这样的树就有两个深度。但是如果在直接配置 Alertmanager 的时候使用 continue
路由,就可以让树更深。
每个接收器是针对一个或多个通知提供者的。因此,如果你知道 Slack 的每个告警也应该发送到 PagerDuty,你可以在同一个接收器中配置这两个。
路由配置
关于标签和注释的说明
标签用来识别可能影响通知路由的信息。有关告警的标识信息可以由容器名称或应通知的团队名称组成。
注释用于不影响告警接收器的信息,如运行手册的网址或错误信息。
Rancher v2.5.4+
接收器
路由需要指向一个已经配置好的接收器。
分组
字段 | 默认 | 描述 |
---|---|---|
Group By | N/a | 将传入的告警归为一组的标签。例如,[ group_by: ‘[‘ <labelname>, … ‘] ‘’ 。] 标签的多个告警,如cluster=A 和alertname=LatencyHigh ,可以被批处理到一个组中。要按所有可能的标签集合,请使用特殊值‘…’ 作为唯一的标签名称,例如:group_by: [‘…’] 按 … 分组可以有效地完全禁止聚合,按原样传递所有告警。这不太可能是你想要的,除非您的告警量非常低或您的上游通知系统执行自己的分组。 |
分组等待 | 30s | 同一分组的告警在发送前要等待多长时间的缓冲。 |
组间隔 | 5m | 对于已经被添加到已经发送了初始通知的告警组,在发送告警之前要等待多长时间。 |
重复时间间隔 | 4h | 在重新发送已经发送的给定告警之前等待多长时间。 |
匹配
Match字段指的是一组相等匹配器,用于根据告警上定义的标签来确定哪些告警要发送到指定的路由。当你向 Rancher UI 添加键值对时,它们对应于以下格式的 YAML:
match:
[ <labelname>: <labelvalue>, ... ]
Copy
Match Regex字段指的是一组正则表达式匹配器,用于根据告警上定义的标签,确定哪些告警要发送到指定的路由。当你在 Rancher UI 中添加键值对时,它们对应于以下格式的 YAML:
match_re:
[ <labelname>: <regex>, ... ]
Copy
Rancher v2.5.0-2.5.3
Alertmanager 必须在 YAML 中进行配置,如这个例子所示。