Zabbix-钉钉报警
一、登录到钉钉控制台,创建一个机器人
2、编写脚本
[root@Zabbix_server alertscript]# vim Zabbix_DingDing.py
#!/usr/bin/env python
#coding:utf-8
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=a08fe723e61646258dd4dbb2752cd1634e527682f9d7180def1d510640ee30ce"
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/dingding.log"):
f=open("/tmp/dingding.log","a+")
else:
f=open("/tmp/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()
添加执行权限,进行测试
[root@Zabbix_server alertscript]# chmod +x Zabbix_DingDing.py
在钉钉后台通讯录中,复制接收人的UserID,进行信息发送测试
二、添加告警媒介
三、触发告警,发送信息
注:/tmp目录下面会生成一个dingding.log文件,这个文件也需要将属主修改为zabbix,不然告警触发会报错,将不能发送信息