1. bash脚本 #!/bin/bash to=$1 subject=$2 text=$3 #此处的 xxxxx 就是刚刚复制存留的 api 接口地址。 curl -i -X POST 'https://oapi.dingtalk.com/robot/send?access_token=4d760f4ca44280a2d2959191f50a6f36ac1101b032edbff69acae1bea4beffcb' -H 'Content-type':'application/json' -d ' { "msgtype": "text", "text": { "content": "'监控报警:''"$text"'" }, "at":{ "atMobiles":[ "'"$1"'" ], "isAtAll":false } }'
2. python脚本 #!/usr/bin/env python #coding:utf-8 #zabbix钉钉报警 import requests,json,sys,os,datetime webhook="https://oapi.dingtalk.com/robot/send?access_token=2b90881c7be855d0bcd694b38e75643a97031758782e5fad28be5cde110379b8" 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("/var/log/zabbix/ingding.log"): f=open("/var/log/zabbix/dingding.log","a+") else: f=open("/var/log/zabbix/ingding.log","w+") f.write(" "+"--"*30) if x.json()["errcode"] == 0: f.write(" "+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+" "+str(text)) f.close() else: f.write(" "+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + " " + str(text)) f.close()
3. 编辑zabbix_server.conf AlertScriptsPath=/etc/zabbix/scripts 脚本上传到/etc/zabbix/scripts目录下面 4. zabbix界面配置报警媒介
5. bash脚本配置 选择脚本-->脚本名-->添加参数 {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
6. python脚本配置和bash一样
7. go脚本配置 --accesstoken= --message={ALERT.MESSAGE}
8. go语言脚本 链接:https://pan.baidu.com/s/1fpnFkUdPqewQYC80y1a-nw 提取码:1234 复制这段内容后打开百度网盘手机App,操作更方便哦
9. 配置动作,操作消息内容 标题: (故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!) 消息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件 ID:{EVENT.ID} 10. 恢复消息 主题: 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复! 消息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件 ID:{EVENT.ID}