一、钉钉注册
二、zabbix服务器server端配置
- zabbix的配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
- 安装Python环境
yum install -y python-requests python
- 编写钉钉报警脚本
vim /usr/local/zabbix/share/zabbix/alertscripts/dingding.py
#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=df6cc6508c487d91d1615897c2da447f343e6e13e45b440d424a484afd449484" #添加之前复制的webhook
user=sys.argv[1]
text=sys.argv[3]
data={
"msgtype": "text",
"text": {
"content": text
},
"at": {
"atMobiles": [
user
],
"isAtAll": False
}
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/tmp/zabbix_dingding.log"):
f=open("/tmp/zabbix_dingding.log","a+")
else:
f=open("/tmp/zabbix_dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"\n"+str(text))
f.close()
else:
f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text))
f.close()
#添加权限
chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/dingding.py
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/dingding.py
#重启
killall -9 zabbix_server
zabbix_server
三、web页面设置
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
第一个添加后,选择
第二个添加后选择
最后更新
验证