k8s中prometheus operator告警收敛配置

529次阅读
没有评论

共计 900 个字符,预计需要花费 3 分钟才能阅读完成。

k8s 的 prometheus operator 如果报警没有收敛配置,触发报警后,会一直报警,导致人容易麻木。
这里只是用到了 prometheus 告警收敛的最基本配置。
在 k8s 中修改 alertmanager.yaml 密文。

"global":
  "resolve_timeout": "5m"

route:
  group_by: ['alertname']
  receiver: 'default'
  routes: 
  - receiver: webhook
    match_re:
      severity: warning|info|critical|emergency
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h

receivers:
- name: 'default'
  webhook_configs:
  - send_resolved: true
    url: 'http://wechat-webhook.monitoring.svc.cluster.local:8888/alert'
    max_alerts: 0

- name: 'webhook'
  webhook_configs:
  - send_resolved: true
    url: 'http://wechat-webhook.monitoring.svc.cluster.local:8888/alert'
    max_alerts: 0

原理是基于标签的告警处理路由。
每一个告警都会从配置文件中顶级的 route 进入路由树,需要注意的是顶级的 route 必须匹配所有告警 (即不能有任何的匹配设置 match 和 match_re),每一个路由都可以定义自己的接受人以及匹配规则。默认情况下,告警进入到顶级 route 后会遍历所有的子节点,直到找到最深的匹配 route,并将告警发送到该 route 定义的 receiver 中。

这里配置了一个 receiver 为 webhook,并且匹配 severity 告警级别,如果匹配到了就走 webhook,没有匹配到就走 default
实际我配置 default 是多余的,但是后面可能有新需求保留。

更多内容请参考官当文档。当然如果你有开发能力也可以在 webhook 报警端抑制。

正文完
 0
yx
版权声明:本站原创文章,由 yx 于2022-09-21发表,共计900字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码