Prometheus+Altermanager实现钉钉告警

Prometheus+Altermanager实现钉钉告警

Prometheus和Altermanager的安装这里就不赘述了,我之前的文章有写到
不记得的小伙伴可以去看看Prometheus和Altermanager的安装使用

直接开始上操作
下载钉钉并打开,先创建一个接收告警信息的钉钉群
在这里插入图片描述
添加一个自定义的钉钉机器人,为了方便测试,都默认就好了,不用选其它配置
将webhook复制下来,等下要通过这个webhook来发送钉钉消息
在这里插入图片描述

在Altermanager告警机器下载钉钉告警插件地址

wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v2.1.0/prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz

我这里选择解压到/usr/local目录下

tar -xvf prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz -C /usr/local

修改目录名,显得短一点

mv prometheus-webhook-dingtalk-2.1.0.linux-amd64 prometheus-webhook-dingtalk

然后进入钉钉告警插件目录,将模板配置文件复制一份

cd /usr/local/prometheus-webhook-dingtalk
cp config.example.yml config.yml

修改配置文件,这里主要是配置告警方式,其它没用的可以注释掉,将刚才复制webhook替换成自己的

vim config.yml

在这里插入图片描述

然后修改告警模板,这个模板可以根据自己的需求进行设置

vim contrib/dingtalk.tmpl
{{ define "__subject" }}
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]
{{ end }}
 
 
{{ define "__alert_list" }}{{ range . }}
---
{{ if .Labels.owner }}@{{ .Labels.owner }}{{ end }}
 
**告警名称**: {{ index .Annotations "title" }} 
 
**告警级别**: {{ .Labels.severity }} 
 
**告警主机**: {{ .Labels.instance }} 
 
**告警信息**: {{ index .Annotations "description" }}
 
**告警时间**: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
{{ end }}{{ end }}
 
{{ define "__resolved_list" }}{{ range . }}
---
{{ if .Labels.owner }}@{{ .Labels.owner }}{{ end }}
 
**告警名称**: {{ index .Annotations "title" }}
 
**告警级别**: {{ .Labels.severity }}
 
**告警主机**: {{ .Labels.instance }}
 
**告警信息**: {{ index .Annotations "description" }}
 
**告警时间**: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
 
**恢复时间**: {{ dateInZone "2006.01.02 15:04:05" (.EndsAt) "Asia/Shanghai" }}
{{ end }}{{ end }}
 
 
{{ define "default.title" }}
{{ template "__subject" . }}
{{ end }}
 
{{ define "default.content" }}
{{ if gt (len .Alerts.Firing) 0 }}
**====侦测到{{ .Alerts.Firing | len  }}个故障====**
{{ template "__alert_list" .Alerts.Firing }}
---
{{ end }}
 
{{ if gt (len .Alerts.Resolved) 0 }}
**====恢复{{ .Alerts.Resolved | len  }}个故障====**
{{ template "__resolved_list" .Alerts.Resolved }}
{{ end }}
{{ end }}
 
 
{{ define "ding.link.title" }}{{ template "default.title" . }}{{ end }}
{{ define "ding.link.content" }}{{ template "default.content" . }}{{ end }}
{{ template "default.title" . }}
{{ template "default.content" . }}

模板设置好后就可以启动了,由于测试我就直接启动了
想保持进程一直运行可以用nohup或者写成服务,根据自己的需要选择

./prometheus-webhook-dingtalk --config.file=config.example.yml >dingtalk.log 2>&1 &

可以执行命令查看端口启动情况,默认使用 8060 端口

netstat -ntlp|grep 8060

接下来到alertmanager的配置

修改alertmanager配置文件,添加钉钉告警方式
大家根据自己alertmanager安装的目录来,我自己是安装在/opt目录下的

vim /opt/alertmanager-0.26.0/alertmanager.yml

在这里插入图片描述

修改好配置以后重新加载alertmanager的配置

curl -lv -X POST http://192.168.121.161:9093/-/reload

到这里配置就结束了,然后现在去实验检测结果

将Prometheus监控的服务器关闭一台,模拟服务器挂掉的情况
在这里插入图片描述

可以看到Prometheus已经发送告警信息

在这里插入图片描述

然后查看alertmanager的告警接收情况,可以看到告警已经产生

在这里插入图片描述
可以看到钉钉群也已经接收到告警信息
在这里插入图片描述
到这里Prometheus监控之钉钉告警就完成了。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当设计一个Prometheus+Grafana实现钉钉报警项目时,可以按照以下步骤进行: 1. 确定监控目标:首先确定需要监控的目标应用程序,并了解其提供的指标数据接口。 2. 配置Prometheus:在Prometheus的配置文件中,定义目标应用程序的地址和采集频率等参数。确保Prometheus能够定期从目标应用程序中采集到指标数据。 3. 配置Grafana:在Grafana中创建一个仪表盘,并将Prometheus作为数据源。配置仪表盘中的图表和面板,以展示和可视化Prometheus采集到的指标数据。 4. 设置报警规则:在Prometheus的配置文件中,设置报警规则和触发条件。定义哪些指标数据超过阈值时会触发报警,并指定报警的级别和通知方式。 5. 集成钉钉报警:在Grafana中配置钉钉作为报警通知渠道。提供钉钉机器人的Webhook地址和其他必要参数,以便Grafana能够发送报警通知给钉钉。 6. 测试报警流程:通过模拟一些触发报警的情况,测试报警流程是否正常工作。确保当指标数据超过阈值时,Prometheus能够触发报警,并且Grafana能够通过钉钉发送报警通知。 7. 优化和调优:根据实际情况,优化Prometheus和Grafana的配置参数,以及报警规则和触发条件。确保系统的性能和扩展性满足需求。 8. 定期维护和更新:监控系统是一个持续的工作,需要定期进行维护和更新。及时更新Prometheus、Grafana和钉钉机器人的版本,以获取最新的功能和安全补丁。 以上是一个基本的设计和实施流程,具体的实现细节和配置参数会根据实际情况而有所不同。在设计过程中,还需考虑安全性、可靠性和可扩展性等方面的因素,以确保整个监控和报警系统的有效运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值