Python实现个人微信号自动监控告警的示例


Posted in Python onJuly 03, 2019

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

Python实现个人微信号自动监控告警的示例

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,微信扫一扫

Python实现个人微信号自动监控告警的示例

微信登录后,终端释放,提示成功,消息同时发送,并且web二维码失效

Login successfully as someone

微信点击确认

Python实现个人微信号自动监控告警的示例

查看手机助手,消息已经收到!

Python实现个人微信号自动监控告警的示例

监控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

Python实现个人微信号自动监控告警的示例

2.httpd 服务关闭后,端口 80 不存在

[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# sh /mnt/check.sh

Python实现个人微信号自动监控告警的示例

3.httpd 服务再次开启,端口 80 存在

[root@server1 ~]# systemctl start httpd
[root@server1 ~]# sh /mnt/check.sh

Python实现个人微信号自动监控告警的示例

添加任务计划自动监控进行告警

[root@server1 ~]# crontab -e
* 1 * * * sh /mnt/check.sh

投入使用

添加任务计划后,妥善修改脚本,避免频繁告警。

以上这篇Python实现个人微信号自动监控告警的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python client使用http post 到server端的代码
Feb 10 Python
python操作xml文件详细介绍
Jun 09 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
Python 判断图像是否读取成功的方法
Jan 26 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
使用Python做定时任务及时了解互联网动态
May 15 Python
pytorch 实现打印模型的参数值
Dec 30 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
Feb 25 Python
解决使用Pandas 读取超过65536行的Excel文件问题
Nov 10 Python
用python制作个音乐下载器
Jan 30 Python
Python实现归一化算法详情
Mar 18 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 Python
python pandas模块基础学习详解
Jul 03 #Python
python将excel转换为csv的代码方法总结
Jul 03 #Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 #Python
python实现控制COM口的示例
Jul 03 #Python
python pandas时序处理相关功能详解
Jul 03 #Python
在linux下实现 python 监控usb设备信号
Jul 03 #Python
django-allauth入门学习和使用详解
Jul 03 #Python
You might like
PHP入门学习的几个不错的实例代码
2008/07/13 PHP
PHP求最大子序列和的算法实现
2011/06/24 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
node.js入门教程
2014/06/01 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
2019/07/07 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
大学生个人简历中的自我评价
2013/12/27 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
竞聘演讲稿
2014/04/24 职场文书
大学班级学风建设方案
2014/05/01 职场文书
行政专员求职信范文
2014/05/03 职场文书
消防标语大全
2014/06/07 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
城南旧事观后感
2015/06/11 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python