zabbix监控钉钉报警

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}

原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/14393419.html