美文网首页zabbix
zabbix4.0通过python脚本发钉钉告警

zabbix4.0通过python脚本发钉钉告警

作者: 肆無忌惮 | 来源:发表于2020-06-17 22:18 被阅读0次

python脚本为敏捷开发脚本,在zabbix监控也起到重要作用,以下是使用python脚本发钉钉告警的配置方法。

脚本如下:

vim /usr/lib/zabbix/alertscripts/dingding.py
#!/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()

新建dingding.py文件,将以上代码复制编辑,修改里面webhook的值。
保存后输入chmod a+x dingding.py 给dingding.py文件赋予执行权
在zabbix客户端创建一个告警媒介


2png.png

添加用户的告警媒介


3.png
添加配置-动作
4.png
5.png
如出现“ImportError: No module named requests”报错而无法发送信息,则说明没有requess模块,执行以下命令
yum install python-pip
pip install requests

相关文章

网友评论

    本文标题:zabbix4.0通过python脚本发钉钉告警

    本文链接:https://www.haomeiwen.com/subject/mpuexktx.html