Zabbix 微信与钉钉告警配置部署

发布时间:2024年01月24日

Zabbix 微信与钉钉告警配置部署

系统环境准备好:

Lnmp +zabbix-server:172.20.26.167

Mysql主从+zabbix-agent:172.20.26.198、172.20.26.24

zabbix的安装部署可以查阅之前的文章:Zabbix 4.0安装部署+自动发现及自动注册、自动添加监控主机-CSDN博客

下面开始部署微信告警

微信报警,需要用的是微信企业号,个人也可以注册微信企业号,可以不进行认证。企业微信申请好后,在通讯录添加部门,以及运维人员,用于接收微信报警。

在企业微信网页登录后,点击“应用管理”,点击“创建应用”

微信接口调试

https://open.work.weixin.qq.com/wwopen/devtool/interface?

doc_id=15074

corpid 为企业微信的ID

corpsecret 为应用secret,是刚刚创建的监控应用的secret 信息

微信报警所需信息准备完毕。

报警是在172.20.26.167 zabbix-server 端进行,报警是服务端的报警进程负责管理,报警的脚本在zabbix服务端来配置。

在172.20.26.167服务器上将微信报警脚本上传到/usr/src目录下

[root@localhost src]# vim /etc/zabbix_server.conf?

查看zabbix_server配置文件中已定义好的报警脚本文件的路径,根据这个路径创建存放脚本的目录

[root@localhost src]# mkdir -p /var/lib/zabbixsrv/alertscripts

进入/var/lib/zabbixsrv/alertscripts 目录下,将weixin_alert脚本移动过来,并进行授权

[root@localhost src]# cd /var/lib/zabbixsrv/alertscripts???????????????????????? [root@localhost alertscripts]# mv /usr/src/weixin_alert .

[root@localhost alertscripts]# chmod +x weixin_alert

测试脚本

Corpid为企业微信ID号

Corpsecret 为创建的监控应用的secret信息

User 为通讯录某个人的账号信息,而不是姓名名称

Agentid为创建的监控应用的Agentid信息

[root@localhost alertscripts]# /var/lib/zabbixsrv/alertscripts/weixin_alert --corpid=ww445b42e470ffd0c7 --corpsecret=vDj1oEsUuuIYt6eGUn10hu8f6Od17Hvpa9E-KWwV0-Q --msg="zabbix告警测试" --user=LiQinChang --agentid=1000006?

{"errcode":0,"errmsg":"ok","invaliduser":""}

Web端创建报警媒介

回到zabbix监控平台,点击管理----报警媒介类型,点击“创建媒介类型”

--corpid=ww445b42e470ffd0c7

--corpsecret=vDj1oEsUuuIYt6eGUn10hu8f6Od17Hvpa9E-KWwV0-Q

--agentid=1000006

--user={ALERT.SENDTO}

--msg={ALERT.MESSAGE}

用户绑定媒介

创建动作

点击配置---动作,创建动作

配置完成后,我们手动将172.20.26.198服务器上的nginx服务stop掉,看看刚才我们设置的微信报警是否起作用

当nginx 服务stop后,因之前我们配置了执行远程命令(systemctl start nginx),所以nginx服务自动启动了.

至此微信告警配置、测试完成。

部署钉钉告警

下载钉钉电脑版,注册登录后, 左上角的按钮,选择“机器人管理”

点击“自定义”,

点击“添加”

给需要监控的项目起个名字,如“钉钉告警”,添加要发送到告警信息的群组里,定义好关键词,如:故障,已解决,点击完成。

在172.20.26.167服务器的/var/lib/zabbixsrv/alertscripts目录下上传钉钉告警脚本

将webhook地址写入dingding_alert.py脚本文件里

[root@localhost alertscripts]# vim dingding_alert.py

webhook

https://oapi.dingtalk.com/robot/send?access_token=02bf73d9c1e470e4b4a1529559a8716b093efbf4aa50e55cf9ce498daaa7f517

安装requests 模块

[root@localhost alertscripts]# yum install python-pip -y && pip install requests

[root@localhost alertscripts]# chmod +x /var/lib/zabbixsrv/alertscripts/dingding_alert.py

测试脚本

/var/lib/zabbixsrv/alertscripts/dingding_alert.py jfedu alert "故障:nginx down"

/var/lib/zabbixsrv/alertscripts/dingding_alert.py jfedu alert "已解决:nginx down"

ps:

jfedu 表示指定向那个用户告警,这里只是测试,正确写法应该是写用户的手机号码

alert 表示告警的主题

“故障:nginx down” 表示告警的消息,这里的“故障”是一定要写的,它是关键字,否则不会进行告警。

Web端创建报警媒介

回到zabbix监控平台,点击管理----报警媒介类型,点击“创建媒介类型”

{ALERT.SENDTO}?

{ALERT.SUBJECT}

{ALERT.MESSAGE}

用户绑定媒介

?

收件人:可以指定用户手机号码(注册钉钉的手机号码),指定对谁告警

创建动作

配置完成后,我们手动将172.20.26.198服务器上的nginx服务stop掉,看看刚才我们设置的钉钉报警是否起作用?钉钉告警已成功发出。

当nginx 服务stop后,因之前我们配置了执行远程命令(systemctl start nginx),所以nginx服务自动启动了。

至此钉钉告警配置、测试完成。

创建图形

创建聚合图形

文章来源:https://blog.csdn.net/lqcbj/article/details/135816188
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。