“【逗老师带你学IT】PRTG监控系统通过企业微信推送图文混排告警消息”的不完全优化

本文主要是介绍“【逗老师带你学IT】PRTG监控系统通过企业微信推送图文混排告警消息”的不完全优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原创:【逗老师带你学IT】PRTG监控系统通过企业微信推送图文混排告警消息
https://blog.csdn.net/ytlzq0228/article/details/105525667

原文在操作上有一些细节bug,对像我一样的python菜鸟是个坑。为了填这些坑,花了2天时间使用new bing 对逗老师的代码进行修改和优化。以下直接说明我测试的成果。

无图无真相,先上图!

效果一:一条图文推送
一条图文消息
效果二:一条文字推送,一条图文推送
一条文本消息和一条图文消息

两种效果,深度PRTG用户会经常遇到一个问题,设备宕机PRTG会对每个传感器的消息进行推送,结果变成消息轰炸💣。。。基于这个原因对“逗老师”的代码进行修改优化,代码部分都是new bing完成的,我只负责提问题。😁

过程部分参考逗老师原文,以下我踩坑的部分:

1、PRTG调用程序文件“wechat_wbhook.bat”的8个参数

"%probe" "%group" "%device" "%name" "%status" "%down" "%message" "%sensorid"

2、wechat_webhook.bat 脚本记得用笔记本保存为ansi编码。
解决PRTG变量参数带出的数据包含空格和符号导致python识别错误的问题。

@echo off
setlocal enabledelayedexpansion
set i=1
for %%a in (%*) do (set arg[!i!]=%%~aset /a i+=1
)
"C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe" "C:\Program Files (x86)\PRTG Network Monitor\Notifications\EXE\wechat_webhook.py" "!arg[1]!" "!arg[2]!" "!arg[3]!" "!arg[4]!" "!arg[5]!" "!arg[6]!" "!arg[7]!" "!arg[8]!"

2、效果一的代码,wechat_webhook.py记得用笔记本保存为utf-8编码
webhook链接自备,记得修改url、id、passhash为自己的。

import json
import requests
import sys
import datetimewebhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=******"def wechatwork_robot():now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')paramsList = ["", "【探针设备】:", "【设备群组】:", "【节点】:", "【传感器名称】:", "【现在状态】:", "【停机时间】:", "【附加消息】:", "【传感器ID】:"]content = ""headers = {"Content-Type": "text/plain"}for i in range(len(sys.argv)):if i > 0:content = content + paramsList[i] + sys.argv[i] + "\n"data = {"msgtype": "news","news": {"articles": [{"title": sys.argv[5] + "@" + sys.argv[3],"description": "**通知时间:" + now_time + "**\n" + content,"url": "http://www.prtg.com/chart.svg?type=graph&width=500&height=215&graphid=0&id=" + sys.argv[8] + "&username=****&passhash=****","picurl": "http://www.prtg.com/chart.png?type=graph&width=500&height=215&graphid=0&id=" + sys.argv[8] + "&username=****&passhash=****"}]}}r = requests.post(url=webhook_url, headers=headers, json=data)print(r.text)wechatwork_robot()

3、效果二的代码,wechat_webhook.py记得用笔记本保存为utf-8编码(原)
webhook链接自备,记得修改url、id、passhash为自己的。

#import http.client
import json
import urllib
import requests
import sys
import datetimewebhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=*****"
#以上地址改成企业微信小机器人webhook地址
#安全部的也不要猜了,这个URL肯定不是真的def wechatwork_robot():now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')paramsList =[ "", "探针设备:","设备群组:","节点:", "传感器名称:" , "现在状态:","停机时间:","附加消息:","传感器ID:",]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" : "http://www.prtg.com/chart.svg?type=graph&width=500&height=215&graphid=0&id="+sys.argv[8]+"&username=****&passhash=****",#点击图片直接跳转到告警节点的web页面,需要带认证信息"picurl" : "http://www.prtg.com/chart.png?type=graph&width=500&height=215&graphid=0&id="+sys.argv[8]+"&username=****&passhash=****"#告警图片URL为《PRTG HTTP API获取指定传感器流量图表图片》一文中介绍的API URL}]}}r = requests.post(url=webhook_url,headers=headers, json=data2)print(r.text)#图文混排的告警消息wechatwork_robot()

这篇关于“【逗老师带你学IT】PRTG监控系统通过企业微信推送图文混排告警消息”的不完全优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326158

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖