超详细配置Zabbix监控通过钉钉实现报警(3.4和4.0版本)

网友投稿 477 2022-11-09

超详细配置Zabbix监控通过钉钉实现报警(3.4和4.0版本)

博文目录 一、Zabbix配置通过钉钉报警 1、安装配置钉钉 2、配置钉钉报警媒介 3、配置钉钉报警动作 4、钉钉查看报警信息

有关Zabbix工作原理及概述请参考博文:Centos 7搭建Zabbix 4.0监控系统

关于Zabbix自定义监控项及监控客户端请参考博文:Zabbix 3.4配置监控项及监控Linux、Windows客户端

关于Zabbix监控通过邮件告警请参考博文:配置Zabbix监控实现邮件报警(3.4和4.0版本)

一、Zabbix配置通过钉钉报警

1、安装配置钉钉

安装钉钉软件,自行注册账号 编辑机器人名字,添加到刚刚创建的群组,安全设置选IP地址,需要在zabbix服务获取出口IP地址

[root@centos01 alertscripts]# curl ip.sb 183.199.188.205

5)保存获取的wehook

6)zabbix服务器修改主配置文件

[root@centos01 ~]# vim /etc/zabbix/zabbix_server.conf 480 AlertScriptsPath=/usr/lib/zabbix/alertscripts

7)进入/usr/lib/zabbix/alertscripts/下创建脚本,写入内容

[root@centos01 ~]# vim /usr/lib/zabbix/alertscripts/dingding.py #!/usr/bin/env python # -*- coding: utf-8 -*- # https://aityp.com ## mobified by benson , remove config file import requests import json import sys import os import time #import configparser headers = {'Content-Type': 'application/json;charset=utf-8'} time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) log_file = "/tmp/zabbix.log" api_url = " def log(info): if os.path.isfile(log_file) == False: f = open(log_file, 'a+') f = open(log_file,'a+') f.write(info) f.close() def msg(text,user): json_text= { "msgtype": "markdown", "markdown": { "title":"zabbix monitor", "text": text }, "at": { "atMobiles": [ user ], "isAtAll": True } } r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json() code = r["errcode"] #print (code) if code == 0: log(time + ":消息发送成功 返回码:" + str(code) + "\n") else: log(time + ":消息发送失败 返回码:" + str(code) + "\n") exit(3) if __name__ == '__main__': text = sys.argv[3] user = sys.argv[1] msg(text,user)

8)脚本添加执行权限,修改属组属主

[root@centos01 ~]# chmod +x /usr/lib/zabbix/alertscripts/dingding.py [root@centos01 ~]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/dingding.py

9)创建脚本日志,添加执行权限

[root@centos01 alertscripts]# touch /tmp/zabbix.log [root@centos01 alertscripts]# chmod +x /tmp/zabbix.log [root@centos01 alertscripts]# chown zabbix:zabbix /tmp/zabbix.log

10)测试脚本是否正常

[root@centos01 ~]# cd /usr/lib/zabbix/alertscripts/ [root@centos01 alertscripts]# python dingding.py 11 22 33

11)钉钉查看是否收到测试消息

2、配置钉钉报警媒介

1) 创建新的报警媒介

名称:随便定义类型:脚本脚本名称:/usr/lib/zabbix/alertscripts/目录下是什么名字这就写什么名字脚本参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}

2)将钉钉报警媒介关联到用户

3、配置钉钉报警动作

1)添加动作

2)配置动作操作,每条之间必须有一行空行,否则报警信息不自动换行

默认接收人:故障{TRIGGER.STATUS}==>服务器{HOSTNAME1} 发生 {TRIGGER.NAME}故障!默认信息:异常主机:{HOST.NAME} 告警 IP:{HOST.IP} 告警时间:{EVENT.DATE}-{EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警项目:{TRIGGER.KEY1}

告警信息:{TRIGGER.NAME}

问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件 ID:{EVENT.ID} 来自zabbix监控平台

3)配置动作恢复操作,每条之间必须有一行空行,否则报警信息不自动换行

恢复主题:恢复{TRIGGER.STATUS}==>服务器{HOSTNAME1}: {TRIGGER.NAME}已恢复!恢复信息:恢复主机:{HOST.NAME} 恢复 IP:{HOST.IP} 恢复时间:{EVENT.RECOVERY.TIME} 等级:{TRIGGER.SEVERITY} 告警项目:{TRIGGER.KEY1} 恢复信息:{TRIGGER.NAME} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件 ID:{EVENT.ID} 来自zabbix监控平台

4)配置确认操作,每条之间必须有一行空行,否则报警信息不自动换行

默认接收人:服务器:{HOST.NAME}: 报警确认!默认信息:确认人:{USER.FULLNAME} 时间:{ACK.DATE} {ACK.TIME} 确认信息如下:{ACK.MESSAGE} 问题服务器:{HOSTNAME1} 问题服务器IP:{HOST.CONN} 问题详情: {TRIGGER.NAME} 问题ID:{EVENT.ID}

5)新创建的动作一定是启动状态

4、钉钉查看报警信息

1)使用ping命令ping被监控的100.20主机

C:\Users\Administrator>ping -n 1000 -l 60000 192.168.100.20

2)zabbix服务器的web界面查看网卡监控图形

3)查看仪表板,显示三次问题已送达钉钉

4)钉钉查看报警消息

5)手机打开钉钉app查看报警信息

6)停止对100.20的ping测试,稍等一会会稍等恢复消息

7)手机打开钉钉app查看恢复消息

8)查看仪表板,确认问题已解决

9)钉钉查看确认消息

10)手机打开钉钉app查看消息

———————— 本文至此结束,感谢阅读 ————————

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot启动过程中常用的回调示例详解
下一篇:OpenVX 实现卷积神经网络扩展
相关文章

 发表评论

暂时没有评论,来抢沙发吧~