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,不然告警触发会报错,将不能发送信息

posted @ 2021-08-30 21:41  Cai_HL  阅读(38)  评论(0编辑  收藏  举报
>