往期回顾: 【逗老师带你学IT】PRTG监控系统通过企业微信推送告警消息 【逗老师带你学IT】PRTG HTTP API获取指定传感器流量图表图片 在往期的文章里,我们讲了 1、如何在PRTG产生告警的时候通过企业微信小机器人推送告警 2、如何通过API抓取PRTG的流量图片 那么..... 我们可不可以在推送告警的时候,发送图文混排的告警消息呢? 可以! 我们把之前的代码稍微一改就可以了:
#import http.client
import json
import urllib
import requests
import sys
import datetime
webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=f04f8bda-92ff-4271-bbfc-0e02306817544"
#以上地址改成企业微信小机器人webhook地址
def wechatwork_robot():
now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
paramsList =[ "", "探针设备:","设备群组:","节点:", "传感器名称:" , "现在状态:","停机时间:","附加消息:","传感器ID:","参数9:" ]
content = ""
headers = {"Content-Type": "text/plain"}
for i in range(len(sys.argv)):
if i>0:
content = content +"<font color=\"comment\">"+paramsList[i]+"</font>"+sys.argv[i]+"\n"
data1 = {
"msgtype": "markdown",
"markdown": {
"content": "**<font color=\"info\">【PTRG微信小机器人】</font>**\n**通知时间:"+ now_time +"**\n"+ content,
}
}
r = requests.post(url=webhook_url,headers=headers, json=data1)
print(r.text)
#纯文本的告警消息
data2 = {
"msgtype": "news",
"news": {
"articles" : [
{
"title" : "告警节点实时状态,ID:"+sys.argv[8],
"description" : "点击图片进入PRTG查看当前状态详细信息\n传感器名称:"+sys.argv[4],
"url" : "https://PRTG服务器地址/sensor.htm?id="+sys.argv[8]+"&tabid=1&username=apiuser&passhash=923055543",
#点击图片直接跳转到告警节点的web页面,需要带认证信息
"picurl" : "https://PRTG服务器地址/chart.png?type=graph&width=500&height=215&graphid=0&id="+sys.argv[8]+"&username=apiuser&passhash=923055543"
#告警图片URL为《PRTG HTTP API获取指定传感器流量图表图片》一文中介绍的API URL
}
]
}
}
r = requests.post(url=webhook_url,headers=headers, json=data2)
print(r.text)
#图文混排的告警消息
wechatwork_robot()
相比较《PRTG监控系统通过企业微信推送告警消息》一文中介绍的发送文本告警,本例中需要增加传递%sensorid
PRTG自定义告警->告警模板->执行程序->传递参数部分,需要增加传递%sensorid
关于企业微信图文混排性消息类型说明
参数 | 是否必填 | 说明 |
---|---|---|
msgtype | 是 | 消息类型,此时固定为news |
articles | 是 | 图文消息,一个图文消息支持1到8条图文 |
title | 是 | 标题,不超过128个字节,超过会自动截断 |
description | 否 | 描述,不超过512个字节,超过会自动截断 |
url | 是 | 点击后跳转的链接。 |
picurl | 否 | 图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068x455,小图150x150。 |
往期回顾: 【逗老师带你学IT】PRTG HTTP API获取指定传感器流量图表图片 【逗老师带你学IT】PRTG监控系统合并多个传感器通道数据 【逗老师带你学IT】PRTG监控系统通过企业微信推送告警消息 【逗老师带你学IT】PRTG监控系统配合树莓派采集企业内部无线网络质量 【逗老师带你学IT】vMware ESXi 6.7合并第三方硬件驱动 【逗老师带你学IT】Kiwi Syslog Server安装和配置教程 【逗老师带你学IT】Kiwi Syslog Web Access与Active Directory集成认证 【逗老师带你学IT】vMware ESXi 6.7合并第三方硬件驱动 【逗老师带你学IT】Windows Server Network Policy Service(NPS)记账与审计 【逗老师带你学IT】Windows Server NPS服务构建基于AD域控的radius认证 【逗老师带你学IT】AD域控和freeradius集成认证环境,PAP,MSCHAPV2 【逗老师带你学IT】深信服SSL远程接入与深信服行为审计同步登陆用户信息