好好爱自己!

[转]prometheus alertamanager中route配置解读

 

原文:https://www.cnblogs.com/L-O-N/p/14024174.html

--------------------

 

 

想好好理解下alertamanager中route的规则解读,趁着这个机会,就直接拿着官方的demo文件进行解读.文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
routes:
  - match_re:
      service: ^(foo1|foo2|baz)$
    receiver: team-X-mails
    routes:
    - match:
        severity: critical
      receiver: team-X-pager
   
  - match:
      service: files
    receiver: team-Y-mails
 
    routes:
    - match:
        severity: critical
      receiver: team-Y-pager
 
 
  - match:
      service: database
    receiver: team-DB-pager
    # Also group alerts by affected database.
    group_by: [alertname, cluster, database]
    routes:
    - match:
        owner: team-X
      receiver: team-X-pager
      continue: true
    - match:
        owner: team-Y
      receiver: team-Y-pager

  对文件内容进行分拆分析

1
2
3
4
5
6
7
8
9
- match_re:
      service: ^(foo1|foo2|baz)$
    receiver: team-X-mails
    routes:
    - match:
        severity: critical
      receiver: team-X-pager
 
当服务 foo1|foo2|baz出现问题的时候,如果告警的解决的级别是critical,就会发送给team-X-pager组;当没有匹配到的情况下,默认发送给team-X-mails

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- match:
      service: database
    receiver: team-DB-pager
    # Also group alerts by affected database.
    group_by: [alertname, cluster, database]
    routes:
    - match:
        owner: team-X
      receiver: team-X-pager
      continue: true
    - match:
        owner: team-Y
      receiver: team-Y-pager
 
当服务是database出现问题的时候,如果匹配的标签是team-X,就会发给team-X-pager;继续匹配,当匹配的标签是team-Y,就会发给team-Y-pager;如果都没有匹配到,则默认发送给team-DB-pager
1
<br>相关组标签的解释

Alertmanager可以对告警通知进行分组,将多条告警合合并为一个通知。这里我们可以使用group_by来定义分组规则。基于告警中包含的标签,如果满足group_by中定义标签名称,那么这些告警将会合并为一个通知发送给接收器。

有的时候为了能够一次性收集和发送更多的相关信息时,可以通过group_wait参数设置等待时间,如果在等待时间内当前group接收到了新的告警,这些告警将会合并为一个通知向receiver发送。

group_interval配置,则用于定义相同的Group之间发送告警通知的时间间隔。

本博客的内容如果没有标注转载字样,均属个人原创!欢迎学习交流,如果觉得有价值,欢迎转载,转载请注明出处,谢谢
posted @   立志做一个好的程序员  阅读(208)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2016-09-17 网络知识学习系列(一)

不断学习创作,与自己快乐相处

点击右上角即可分享
微信分享提示