千家信息网

prometheus使用钉钉告警

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,prometheus自带的邮件告警,有可能被淹没在日常邮件中。 因此建议再配一个webhook类的告警通道。如果为了灵活性,我们可以自己写webhook,例如 可以实现不同规则的告警通知到不同的接收人
千家信息网最后更新 2024年11月28日prometheus使用钉钉告警

prometheus自带的邮件告警,有可能被淹没在日常邮件中。 因此建议再配一个webhook类的告警通道。


如果为了灵活性,我们可以自己写webhook,例如 可以实现不同规则的告警通知到不同的接收人、某些时间段的告警静默等 。

如果要求不高的话,我们还可以使用国内第三方的告警webhook(例如 钉钉dingtalk、贝洽bearychat)


这里我就以钉钉为例:


github上有开源的项目,可以直接使用

地址: https://github.com/timonwong/prometheus-webhook-dingtalk


下载binary包:prometheus-webhook-dingtalk-0.3.0.linux-amd64.tar.gz

tar xf prometheus-webhook-dingtalk-0.3.0.linux-amd64.tar.gz -C /usr/local/

cd /usr/local/prometheus-webhook-dingtalk-0.3.0.linux-amd64

./prometheus-webhook-dingtalk --ding.profile="ops_dingding=https://oapi.dingtalk.com/robot/sendaccess_token=xxxxxxxxxxxxxxxxxxxxxx" 前台启动进程

TIPS: 这个token是从dingding里面新建机器人的时候拿到的,可以自行去搜搜看如何添加钉钉机器人,这里就跳过了。



然后,我们还需要到alertmanager那边

global:

resolve_timeout: 5m

receivers:

- name: 'dingding.webhook'

webhook_configs:

- url: 'http://${prometheus-webhook-dingtalk的服务器地址}:8060/dingtalk/ops_dingding/send'

send_resolved: true

route:

group_by: ['cluster','alertname','job']

group_wait: 30s

group_interval: 1m

repeat_interval: 5h

receiver: 'dingding.webhook'

routes:

- match:

severity: critical

receiver: 'dingding.webhook'

group_wait: 10s

group_interval: 15s

repeat_interval: 5m

- match:

severity: warning

receiver: 'dingding.webhook'

- match:

alertname: Watchdog

repeat_interval: 1h




然后,重载下alertmanager的配置,即可生效了。




0