Zabbix钉钉机器人监控脚本(可用版)

#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="上面创建钉钉机器人的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()

以上代码经检测为可使用,可将上述代码保存为Python执行程序(.py文件),可配合Zabbix触发器进行报警。
Zabbix监控脚本一般存位置为/usr/local/zabbix/share/zabbix/alertscripts/ 目录下,具体位置可改变,但是要与zabbix_server.conf配置文件中的Alertscripts路径保持一致。
并且代码后段的文件类型操作,在/tmp/目录下建立报警信息日志,便于排查相关错误,及告警信息是否进入zabbix服务器中。

猜你喜欢

转载自blog.csdn.net/wl137881454/article/details/82352112