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实现代码行数统计示例分享
Feb 10 Python
讲解Python中if语句的嵌套用法
May 14 Python
python解析xml文件实例分析
May 27 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
Python编程pygame模块实现移动的小车示例代码
Jan 03 Python
python爬取各类文档方法归类汇总
Mar 22 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
Python如何在windows环境安装pip及rarfile
Jun 15 Python
Python读取二进制文件代码方法解析
Jun 22 Python
Scrapy 配置动态代理IP的实现
Sep 28 Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 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
收音机术语解释
2021/03/01 无线电
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
php实现登录页面的简单实例
2019/09/29 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
php use和include区别总结
2019/10/13 PHP
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
python ip正则式
2009/05/07 Python
python爬取51job中hr的邮箱
2016/05/14 Python
python的文件操作方法汇总
2017/11/10 Python
Python subprocess模块常见用法分析
2018/06/12 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
2018/11/29 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
CAD制图人员的自荐信
2014/02/07 职场文书
毕业晚会主持词
2014/03/24 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
Python  lambda匿名函数和三元运算符
2022/04/19 Python