zabbix配置钉钉告警

2023-05-19 17:40:17 浏览数 (1)

# 将脚本放到zabbix-server服务器路径:/usr/lib/zabbix/alertscripts

脚本如下

代码语言:javascript复制
#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=712c3d89c613a3cce737bd1ed5ce8c7b9ebd5ee48c115236873b2a2a54c5efcf"

#说明:这里改为自己创建的机器人的webhook的值 
user=sys.argv[1]
#发给钉钉群中哪个用户
text=sys.argv[3]

data={ 
    "msgtype": "text", 
    "text": { 
        "content": text 
    }, 
    "at": { 
        "atMobiles": [
            user 
        ],
        "isAtAll": False
    } 
}
#钉钉API固定数据格式
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/usr/lib/zabbix/alertscripts/dingding.log"):
    f=open("/usr/lib/zabbix/alertscripts/dingding.log","a ")
else:
    f=open("/usr/lib/zabbix/alertscripts/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()
# 报警媒介配置
# 配置触发器动作

故障名称:{EVENT.NAME}

服务器:{HOST.NAME} 发生:{TRIGGER.NAME}故障! 告警主机:{HOST.NAME} 监控项目:{ITEM.NAME} 监控取值:{ITEM.LASTVALUE} 告警等级:{TRIGGER.SEVERITY} 当前状态:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 事件ID:{EVENT.ID}

# 设置告警用户,添加报警媒介

0 人点赞