往期回顾: 【逗老师带你学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远程接入与深信服行为审计同步登陆用户信息