prometheus使用钉钉告警

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


若是为了灵活性,咱们能够本身写webhook,例如 能够实现不一样规则的告警通知到不一样的接收人、某些时间段的告警静默等 。 git

若是要求不高的话,咱们还能够使用国内第三方的告警webhook(例如 钉钉dingtalk、贝洽bearychat)github


这里我就以钉钉为例:web


github上有开源的项目,能够直接使用 api

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


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

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

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

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

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的配置,便可生效了。

相关文章
相关标签/搜索