一、概述
本文將介紹通過prometheus + alertmanager的方式實現釘釘報警。
二、獲取自定義機器人webhook
操作方法引自釘釘官方開發文檔:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
-
打開PC端釘釘,點擊頭像,選擇“機器人管理”。
-
在機器人管理頁面選擇“自定義”機器人,輸入機器人名字並選擇要發送消息的群,同時可以為機器人設置機器人頭像。
-
完成必要的安全設置(至少選擇一種),勾選 我已閱讀並同意《自定義機器人服務及免責條款》,點擊“完成”。安全設置目前有3種方式,設置說明見下文介紹。
-
完成安全設置后,復制出機器人的Webhook地址,可用於向這個群發送消息,格式如下:
https://oapi.dingtalk.com/robot/send?access_token=XXXXXX
三、將釘釘接入 Prometheus AlertManager WebHook
官方GitHub地址:https://github.com/timonwong/prometheus-webhook-dingtalk
- 下載二進制安裝包
shell> wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v1.4.0/prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz
shell> tar zxvf prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz
shell> mv prometheus-webhook-dingtalk-1.4.0.linux-amd64 /usr/local/dingtalk/
- 配置釘釘告警文件
shell> cd /usr/local/dingtalk/
# 替換 config.yml 文件中的 url 后面的值信息為 復制出機器人的Webhook地址
shell> cp config.example.yml config.yml
- 啟動 prometheus-webhook-dingtalk
shell> /usr/local/dingtalk/prometheus-webhook-dingtalk --log.level=info > dingding.log 2>&1 &
- 配置系統服務
shell> vim /etc/systemd/system/prometheus-webhook-dingtalk.service
[Unit]
Description=prometheus-webhook-dingtalk
After=network-online.target
[Service]
Restart=on-failure
ExecStart=/usr/local/dingtalk/prometheus-webhook-dingtalk
[Install]
WantedBy=multi-user.target
shell> chmod u+x /etc/systemd/system/prometheus-webhook-dingtalk.service
shell> systemctl daemon-reload
shell> systemctl start prometheus-webhook-dingtalk
shell> systemctl status prometheus-webhook-dingtalk
四、配置 alertmanager webhook
receivers:
- name: 'default'
webhook_configs:
- url: 'http://10.65.24.200:8060/dingtalk/sre/send'
send_resolved: true
五、配置 prometheus
見《Day5-06 部署Alertmanager》,這里不再贅述。