Prometheus_钉钉群@某人_20210918

简述

之前写过一篇钉钉群@某人操作,但是实现过程过于复杂,还需要引入额外的插件(prometheus-webhook-dingtalk),现在PrometheusAlert插件已经支持@功能。而且之前是通过不同的监控任务实现的业务分组 感觉有些僵硬,现在通过为每个应用打标签的功能来实现不同的告警对象,两者结合使用。

配置项的标签

1
2
3
4
5
6
7
8
9
- targets:
- "10.0.1.117:6087"
labels:
instance: 10.0.1.117
port: 6087
application: test-pep-web
s_environment: EngineRoom
business: none
environment: test

多加了几个字段用于表述监控项的信息,这些字段都可以用来判断对应的责任人是谁。
rules中的标签是为一组监控项打上标签,相同的标签应该会被覆盖掉。
因为在基础监控项上就做了标签分类,所以同类监控任务上就可以进行合并 在rules.yml中或者alertmanager中进行标签匹配即可

alert manager配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
routes:
- receiver: 'Cloud'
group_wait: 30s
match_re:
business: 'Cloud'
serverity: critical|warning
environment: prod
- receiver: 'web'
group_wait: 30s
match_re:
business: web
serverity: critical|warning
environment: prod
......
- name: 'Cloud'
webhook_configs:
- url: 'http://10.0.1.16:8080/prometheusalert?type=dd&tpl=prometheus-dd&ddurl=https://oapi.dingtalk.com/robot/send?access_token=...&at=150...'
  • routes的匹配规则默认是 第一个receiver的match标签全匹配中后 则发送给第一个,即使第二个的标签也匹配
  • 相同receiver的标签是并的关系
  • 可在github上查看支持@功能的PrometheusAlert的版本
  • PromtheusAlert文档:https://feiyu563.gitbook.io/prometheusalert/prometheus/prometheus

Prometheus_钉钉群@某人_20210918
https://imwang77.github.io/2021/09/18/Prometheus_钉钉群@某人_20210918/
作者
imwang77
发布于
2021年9月18日
更新于
2021年9月18日
许可协议