zabbix对接企业微信web机器人发送报警信息-Python

#!/usr/bin/env python2
# -*- coding:utf-8 -*-


"""
zabbix
监控脚本-企业微信机器人
"""
import sys
import getopt
import requests
import traceback

try:
    opts, args = getopt.getopt(sys.argv[1:], shortopts='', longopts=['webhook_url=', 'alert_message='])

    for opt, value in opts:
        if opt == '--webhook_url':
            webhook_url = value
        elif opt == '--alert_message':
            alert_message = value
    webhook_header = {
        "Content-Type": "application/json",
    }
    webhook_message = {
        "msgtype": "text",
        "text": {
            "content": alert_message
        }
    }
    requests.post(url=webhook_url, headers=webhook_header, json=webhook_message)
except:
    traceback.print_exc(file=open('/tmp/wx.log', 'w+'))

编写完脚本需要就按脚本放到zabbix指定目录下, 脚本位于服务器配置文件中定义的目录中AlertScriptsPath

注意脚本名称就是你脚本的命名的文件名需要注意后缀.py也要加上 

添加管理

zabbix对接企业微信web机器人发送报警信息-Python_第1张图片

 配置动作

zabbix对接企业微信web机器人发送报警信息-Python_第2张图片

添加信息格式

zabbix对接企业微信web机器人发送报警信息-Python_第3张图片 

服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!

报警主机:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
报警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
报警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}-{ITEM.VALUE}
报警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

 恢复操作

zabbix对接企业微信web机器人发送报警信息-Python_第4张图片

服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!

报警主机:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
报警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
报警信息:{TRIGGER.NAME}
报警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}

 发送企业微信

zabbix对接企业微信web机器人发送报警信息-Python_第5张图片

 

 

你可能感兴趣的:(Liunx)