//雪花飘落特效 //右上角github跳转   

zabbix 5.0 企业微信 markdown类型告警python脚本

 

 

#!/usr/bin/python3.6
#_*_coding:utf-8 _*_
#author:Fei Huang

import requests,sys,json,time
import urllib3
urllib3.disable_warnings()

def SendMessageURL(User,Subject,Messages):
    # 以下URL 引号内的内容替换为你的机器人的webhook的地址
    URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=50130ee3-0f43-4639-9eaf-dba538032133"
    HEADERS = {"Content-Type": "application/json"}
    Data = {
        "msgtype": "markdown",
        "markdown": { 
                "content": Subject + "\n" + Messages,
                #下方代码在群里@相应的人员,注意需要使用userid,就是用户名,不是中文名称,是企业微信通讯录中的“帐号”,这里不用修改,只需要知道账号就可以了。
                "mentioned_list" :[User],
                #"mentioned_list" :[User,"@all"],
                #下方代码可使用手机号进行提示,本示例中并未示例
                #"mentioned_mobile_list" : ["13800000000","@all"]
            }
    }
    r = requests.post(url=URL, headers=HEADERS, json=Data, verify=False)
    print(r.json())

if __name__ == "__main__":
    SENDTO = str(sys.argv[1])
    SUBJECT = str(sys.argv[2])
    MESSAGE = str(sys.argv[3])
    Status = str(SendMessageURL(SENDTO,SUBJECT,MESSAGE))
    print (Status)

 

故障消息模板
主题:
# 服务故障: <font color="warning">{EVENT.NAME}</font>

消息:
{
> 告警主机: **{HOST.NAME}**
> 主机地址: **{HOST.IP}**
> 监控项目: {ITEM.NAME}
> 故障地址: <font color="comment">{TRIGGER.URL}</font>
> 故障详情: {TRIGGER.DESCRIPTION}
> 当前取值: {ITEM.LASTVALUE}
> 告警等级: {TRIGGER.SEVERITY}
> 告警时间: {EVENT.DATE}-{EVENT.TIME}
> 事件ID: {EVENT.ID}
}


恢复消息模板
主题:
# 故障恢复: <font color="info">{EVENT.NAME}</font>

消息:
{
> 主机名称: **{HOST.NAME}**
> 主机地址: **{HOST.IP}**
> 告警名称: {EVENT.NAME}
> 持续时长: {EVENT.DURATION}
> 恢复时间: {EVENT.RECOVERY.DATE}-{EVENT.RECOVERY.TIME} 
> 当前状态: {TRIGGER.STATUS}
> 当前取值: {ITEM.LASTVALUE}
> 事件ID: {EVENT.ID}
}

 

posted @ 2021-09-10 14:58  农夫运维  阅读(503)  评论(0)    收藏  举报