Python实现个人微信号自动监控告警的示例
作者:Sunny_Future 发布时间:2023-02-04 20:03:03
标签:Python,微信号,监控,告警
wechat_sender 是基于 wxpy 和 tornado 实现的一个可以将你的网站、爬虫、脚本等其他应用中各种消息 (日志、报警、运行结果等) 发送到微信的工具。
运行环境
Python 2.7 及以上 Python 3 及以上
实现过程
安装 pip 工具
[root@server1 ~]# wget https://bootstrap.pypa.io/get-pip.py
[root@server1 ~]# python get-pip.py
pip 安装模块
##安装依赖软件
[root@server1 ~]# yum install -y gcc python-devel
##安装
[root@server1 ~]# pip install wechat_sender
Web登录微信发送消息
安装web服务器
[root@server1 ~]# yum install -y httpd
[root@server1 ~]# systemctl start http
[root@server1 ~]# systemctl stop firewalld
[root@server1 ~]# cat /var/www/html/index.html
<html>
<head><meta http-equiv="refresh" content="2"></head>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
<body>
<img src="/qr.png">
</body>
</html>
python脚本代码
[root@server1 ~]# cat /var/www/html/sender.py
#!/bin/bash/env python
#coding:utf-8
from wxpy import *
from wechat_sender import *
from wechat_sender import Sender
#bot = Bot() ##windows直接扫
#下面这个是服务器版(Linux)
#bot = Bot(qr_path="qr.png")
#避免重复登录重复扫二维码
bot = Bot(qr_path="qr.png",cache_path=True)
##通过文件助手给登录的微信号发消息
bot.file_helper.send('Hello world!')
web登录微信
##执行python脚本,占用终端,web登录后会有提示
[root@server1 ~]# cd /var/www/html/
[root@server1 ~]# python sender.py
Getting uuid of QR code.
Downloading QR code.
xdg-open: no method available for opening 'qr.png'
Please scan the QR code to log in.
另一方面,打开浏览器输入 ip or localhost,微信扫一扫
微信登录后,终端释放,提示成功,消息同时发送,并且web二维码失效
Login successfully as someone
微信点击确认
查看手机助手,消息已经收到!
监控80端口,自动告警
若是web服务也是80端口,请先登录成功后,如下操作。
shell脚本
[root@server1 ~]# cat /var/www/html/check_80.sh
#!/bin/sh
x=$(netstat -antlp | grep '\<80\>'|awk -F' ' '{print $4}'|awk -F: '{print $2}')
if [ "$x" != 80 ];then
python /var/www/html/check_80.py &
else
python /var/www/html/check01_80.py &
fi
##添加执行权限
[root@server1 ~]# chomd +x /var/www/html/check_80.sh
[root@server1 ~]# cat /var/www/html/check01_80.py
#!/bin/sh/env python
#coding:utf-8
from wxpy import *
from wechat_sender import *
from wechat_sender import Sender
bot = Bot(qr_path="qr.png",cache_path=True)
##通过文件助手给登录的微信号发消息
bot.file_helper.send('port 80 nice!')
[root@server1 ~]# cat /var/www/html/check_80.py
#!/bin/sh/env python
#coding:utf-8
from wxpy import *
from wechat_sender import *
from wechat_sender import Sender
bot = Bot(qr_path="qr.png",cache_path=True)
##通过文件助手给登录的微信号发消息
bot.file_helper.send('port 80 error!')
[root@server1 ~]# cat /mnt/check.sh
#!/bin/sh
cd /var/www/html
sh check_80.sh
[root@server1 ~]# chmod +x /mnt/check.sh
测试脚本
1.httpd 服务开启时,端口 80 存在
[root@server1 ~]# sh /mnt/check.sh
2.httpd 服务关闭后,端口 80 不存在
[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# sh /mnt/check.sh
3.httpd 服务再次开启,端口 80 存在
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# sh /mnt/check.sh
添加任务计划自动监控进行告警
[root@server1 ~]# crontab -e
* 1 * * * sh /mnt/check.sh
投入使用
添加任务计划后,妥善修改脚本,避免频繁告警。
来源:https://blog.csdn.net/Sunny_Future/article/details/81545327
0
投稿
猜你喜欢
- 作为一个诞生已有 30 余年的编程语言,Python 的流行度在近几年迎来了 * 性的增长。为了方便大家能够更好的采用 Python,利用该语
- CSS3草案中定义了{opacity:来声明元素的透明度,这已经得到了大多数现代浏览器的支持,而IE则很早通过特定的私有属性filter来实
- 环境:Ubuntu14.04,tensorflow=1.4(bazel源码安装),Anaconda python=3.6声明变量主要有两种方
- Go本地测试的思路我习惯在开发过程中及时测试自己开发的功能模块,这样能及时发现问题,节省后期功能耦合之后,debug的时间。为了统一管理要测
- Semantics可翻译为语义的(学),它是Html/Xhtml是否真正符合标准的重要一环。Jorux在这和大家讨论一些自己的观点,如有不妥
- 前边看到有人发了个层打开效果,总感觉不是很理想 个人认为:-),如果那个层放到固定的容器里面估计就会出现问题的。今天自己来写个,可以支持 在
- 实现对图像进行简单的高斯去噪和椒盐去噪。代码如下:import numpy as npfrom PIL import Imageimport
- 前言问题:做requests请求时遇到如下报错:{“code”:“500&
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 18 - Classes part IClass(
- 我们这里试输出一段字符:<%response.write Server.UrlEncode("织梦幻影")%>
- Python pywifi ERROR Open handle failed这个问题的网上的资料很少,可能是因为简单吧。这里记录下解决办法。
- 操作:输入带分页的地址,去掉最后面的数字,设置一下起始页数和终点页数功能:下载对应页码的所有页面并储存为HTML文件,以当前时间命名代码:#
- 设计是一个输入-输出的过程,因为首先有用户的需求,客户的项目才有设计的产生,设计是带有目的性和市场行为的,当然也有一部分的创造性设计,仅仅为
- 第一步 : 从清华大学开源软件镜像站下载Anaconda:https://mirrors.tuna.tsinghua.edu.cn/anac
- txt文件转换为XML很多目标检测的模型都是默认需要VOC的文件输入格式手上数据label是txt文件。为了避免不必要的bug,还是选择转换
- 以下代码可自动登录12306 - 包括输入用户名密码以及自动识别验证码并点击验证码登陆。该源码需要稍作修改:把 username
- 下拉菜单平常见到的都是用js来实现的,本文介绍的方法是使用纯CSS实现导航下拉菜单功能,代码符合标准,兼容性好且环保,制作下拉菜单的不错选择
- 一、制作思路由于注册的时候常常会用到注册码来防止机器恶意注册,这里我发表一个产生png图片验证码的基本图像,简单的思路分析:1、产生一张pn
- SELECT SUBSTR (T.RPT_ID, &nb
- PDO::quotePDO::quote — 为SQL语句中的字符串添加引号。(PHP 5 >= 5.1.0, PECL pdo &g