Prometheus 配置钉钉告警

软件准备

prometheus-webhook-dingtalk下载地址
https://github.com/timonwong/prometheus-webhook-dingtalk
https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v1.4.0/prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz

windows_exporter下载地址
https://github.com/prometheus-community/windows_exporter
https://github.com/prometheus-community/windows_exporter/releases/download/v0.16.0/windows_exporter-0.16.0-386.msi

1.钉钉配置

1.1创建钉钉群,配置机器人

Prometheus 配置钉钉告警

1.2添加机器人

Prometheus 配置钉钉告警
Prometheus 配置钉钉告警

1.3 配置安全设置和名字

注意这里的IP地址段配置的是公网IP
Prometheus 配置钉钉告警
注意保存webhook地址之后会用到。
Prometheus 配置钉钉告警

2.钉钉插件安装(prometheus-webhook-dingtalk)

因为使用钉钉告警的话,还需要钉钉插件支持,所以我们先来安装一下插件,我们直接下载二进制包。启动的默认端口为8060。

mkdir -p app/webhook
tar xzf prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz
mv prometheus-webhook-dingtalk-1.4.0.linux-amd64 prometheus-webhook-dingtalk
cd app/webhook/prometheus-webhook-dingtalk
./prometheus-webhook-dingtalk --ding.profile="ops_dingding=后面跟钉钉的webhook地址" & #注意双引号要有

启动之后注意看输出信息Alertmanager配置文件中的url地址 http://localhost:8060/dingtalk/ops_dingding/send就会出现了。这个地址要与alertmanager.yml中的一致。

测试

curl -H "Content-Type: application/json" -d '{"msgtype":"text","text":{"content":"prometheus alert test"}}' https://oapi.dingtalk.com/robot/send?access_token=这个是钉钉的webhook地址

Prometheus 配置钉钉告警
成功之后会后钉钉群会提示

3.Alertmanager配置

注意格式,还有空格,否则容易报错。

vim alertmanager.yml
route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 1h
  receiver: 'ops_dingding'
receivers:
- name: 'ops_dingding'
  webhook_configs:
  - url: 'http://localhost:8060/dingtalk/ops_dingding/send'
    send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

启动

./alertmanager --web.listen-address=IP:8093 --cluster.listen-address=IP:8094 --config.file=alertmanager.yml &

这里我的9093端口被占用所以指定了8093端口,8094是因为alertmanager有两个端口(9093和9094),只改一个出现了错误,但是我也没找到原因,希望大佬指出。端口没有被占用不需要写--web.listen-address --cluster.listen-address两条参数。

4.修改prometheus配置

vim prometheus.yml
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - 192.168.10.25:8093 # 这里修改为 alertmanagers 的地址,最好写IP地址,因为修改了端口    

重启Prometheus

5.测试告警

这里可以修改rule规则,我刚好有一台达标就告警了。
Prometheus 配置钉钉告警
Prometheus 配置钉钉告警

6.参考文章

https://blog.csdn.net/xujiamin0022016/article/details/105291597
https://blog.csdn.net/knight_zhou/article/details/105583741

上一篇:Request:为 HTTP、Webhook 场景而设计的调试工具


下一篇:禅道集成钉钉,bug、需求等通过钉钉提醒