前面的邮件告警虽然已经可用,但是现在大多数企业使用邮件的已经很少了,尤其这种告警类比较需要及时处理的工作,但是Prometheus在接入一些通讯工具的时候会有些问题,经常要单独部署一些接收发送的工具,这次找到了一个可以集成多个聊天工具的告警工具,就用这个工具来演示下如何进行钉钉告警,剩下的飞书机器人,企微机器人都是大同小异。
如果文章帮助到了您,请动动您发财的小手来个赞,转个发呗 嘿嘿!
1. PrometheusAlert部署
这里略过了,之前已经进行了部署,可以看前面文章或者到网上找下部署步骤,这里我就把我的docker-compose文件内容复制出来
javascript
...
prometheusalert-center:
image: feiyu563/prometheus-alert:v4.9.1
container_name: prometheus-alert-center
hostname: prometheus-alert-center
restart: always
volumes:
- /usr/local/prometheus_monitor/PrometheusAlert/app.conf:/app/conf/app.conf
- /usr/local/prometheus_monitor/PrometheusAlert/logs:/app/logs
ports:
- "9223:8080"
networks:
- monitor_network
...
2.PrometheusAlert配置调整
ini
root@ubuntu2204-98:~# cd /usr/local/prometheus_monitor/PrometheusAlert
root@ubuntu2204-98:/usr/local/prometheus_monitor/PrometheusAlert# vi app.conf
#---------------------↓全局配置(设置登录账号密码登)-----------------------
appname = PrometheusAlert
login_user=admin
login_password=123456
httpaddr = "0.0.0.0"
#---------------------↓告警消息全局配置,会适配到所有的告警-----------------------
#告警消息标题
title=PrometheusAlert
#钉钉告警 告警logo图标地址
logourl=https://raw.githubusercontent.com/feiyu563/PrometheusAlert/master/doc/alert-center.png
#钉钉告警 恢复logo图标地址
rlogourl=https://raw.githubusercontent.com/feiyu563/PrometheusAlert/master/doc/alert-center.png
3.接入钉钉告警
如何创建钉钉机器人请参考网上文章,有很多
ruby
root@ubuntu2204-98:/usr/local/prometheus_monitor/PrometheusAlert# vi app.conf
#---------------------↓webhook-----------------------
#是否开启钉钉告警通道,可同时开始多个通道0为关闭,1为开启
open-dingding=1
#默认钉钉机器人地址
ddurl=https://oapi.dingtalk.com/robot/send?access_token=xxxxxxx
#是否开启 @所有人(0为关闭,1为开启)
dd_isatall=1
#是否开启钉钉机器人加签,0为关闭,1为开启
# 使用方法:https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&secret=mysecret
open-dingding-secret=0
登录PrometheusAlert管理页面测试钉钉告警

image-20250826173536043

image-20250826173547116
4.配置Alertmanager使用webhook调用PrometheusAlert
ruby
root@ubuntu2204-98:/usr/local/prometheus_monitor/alertmanager# cd
root@ubuntu2204-98:~# cd /usr/local/prometheus_monitor/alertmanager
root@ubuntu2204-98:/usr/local/prometheus_monitor/alertmanager# vi alertmanager.yml
....
routes:
- match:
severity: warning
receiver: 'web.hook.prometheusalert' #这里改成新告警配置的名称
receivers:
- name: 'mail'
.......
# 增加配置
- name: 'web.hook.prometheusalert'
webhook_configs:
- url: 'http://192.168.1.98:9223/prometheusalert?type=dd&tpl=prometheus-dd&ddurl=https://oapi.dingtalk.com/robot/send?access_token=xxxx&at=手机号'
....
5.提高负载进行测试
typescript
root@ubuntu2204-98:/usr/local/prometheus_monitor/alertmanager# for i in {1..4}; do (while true; do echo "scale=5000; 4*a(1)" | bc -l > /dev/null; done) & done

image-20250826180537268

image-20250826180639584
告警已经完成,这里告警模板我是用的默认的,大家可以进行自定义,图片呢是因为没有所以是个叹号。
到此Prometheus监控及告警基础使用就是这个意思了,剩下的就是大家自由发挥了,我也会不定期的更新一些监控方法和模板之类的。
另外对于主机状态监控这里,如果你是自建机房或者公司自己的私有环境使用Prometheus完全是可以的,但是如果你使用的是云主机我觉得更建议你使用云厂商提供的云监控,一般主机监控是免费的。但是你要多维度进行监控多种不同产品的话就需要购买云厂商产品了,这个看公司怎么决定,说白了有钱就行哈哈。