博文目录
一、Zabbix配置通过钉钉报警
1、安装配置钉钉
2、配置钉钉报警媒介
3、配置钉钉报警动作
4、钉钉查看报警信息
关于Zabbix监控系统的搭建这里就不多说了,直接进入正题,配置通过企业微信实现告警。
有关Zabbix工作原理及概述请参考博文:Centos 7搭建Zabbix 4.0监控系统
关于Zabbix自定义监控项及监控客户端请参考博文:Zabbix 3.4配置监控项及监控Linux、Windows客户端
关于Zabbix监控通过邮件告警请参考博文:配置Zabbix监控实现邮件报警(3.4和4.0版本)
关于Zabbix监控通过企业微信告警请参考博文:
本博客将会接着配置Zabbix3.4及4.0版本通过企业微信报警(全网最详细)环境继续进行,如有不明白请参考以上博客。
安装钉钉软件,自行注册账号https://www.dingtalk.com/
[root@centos01 alertscripts]# curl ip.sb
183.199.188.205
https://oapi.dingtalk.com/robot/send?access_token=9f9249cd4699fe68dd3d3655d3bd1f15cd81fcb71788eccc46d8c51f66d758b2
[root@centos01 ~]# vim /etc/zabbix/zabbix_server.conf
480 AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@centos01 ~]# vim /usr/lib/zabbix/alertscripts/dingding.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# https://www.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 = "https://oapi.dingtalk.com/robot/send?access_token=9f9249cd4699fe68dd3d3655d3bd1f15cd81fcb71788eccc46d8c51f66d758b2"
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)
[root@centos01 ~]# chmod +x /usr/lib/zabbix/alertscripts/dingding.py
[root@centos01 ~]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/dingding.py
[root@centos01 alertscripts]# touch /tmp/zabbix.log
[root@centos01 alertscripts]# chmod +x /tmp/zabbix.log
[root@centos01 alertscripts]# chown zabbix:zabbix /tmp/zabbix.log
[root@centos01 ~]# cd /usr/lib/zabbix/alertscripts/
[root@centos01 alertscripts]# python dingding.py 11 22 33
名称:随便定义
类型:脚本
脚本名称:/usr/lib/zabbix/alertscripts/目录下是什么名字这就写什么名字
脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
默认接收人:故障{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监控平台
恢复主题:恢复{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监控平台
默认接收人:服务器:{HOST.NAME}: 报警确认!
默认信息:
确认人:{USER.FULLNAME}时间:{ACK.DATE} {ACK.TIME}
确认信息如下:{ACK.MESSAGE}
问题服务器:{HOSTNAME1}
问题服务器IP:{HOST.CONN}
问题详情: {TRIGGER.NAME}
问题ID:{EVENT.ID}
C:\Users\Administrator>ping -n 1000 -l 60000 192.168.100.20
———————— 本文至此结束,感谢阅读 ————————