linux怎么查看本机内存大小
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~