#!/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}
}