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