软件准备
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创建钉钉群,配置机器人
1.2添加机器人
1.3 配置安全设置和名字
注意这里的IP地址段配置的是公网IP
注意保存webhook地址之后会用到。
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地址
成功之后会后钉钉群会提示
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规则,我刚好有一台达标就告警了。
6.参考文章
https://blog.csdn.net/xujiamin0022016/article/details/105291597
https://blog.csdn.net/knight_zhou/article/details/105583741