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中的二叉树查找算法模块使用指南
Jul 04 Python
python实现计算资源图标crc值的方法
Oct 05 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
Jun 13 Python
Python实现获取照片拍摄日期并重命名的方法
Sep 30 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
Python递归函数实例讲解
Feb 27 Python
QML实现钟表效果
Jun 02 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
python 数据类型强制转换的总结
Jan 25 Python
Python使用pyenv实现多环境管理
Feb 05 Python
Python按顺序遍历并读取文件夹中文件
Apr 29 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中对数据库操作的封装
2006/10/09 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
解释&amp;&amp;和||在javascript中的另类用法
2014/07/28 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
python nmap实现端口扫描器教程
2020/05/28 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
幼儿园小班植树节活动方案
2014/03/04 职场文书
体育教师求职信
2014/05/24 职场文书
公司离职证明标准格式
2014/11/18 职场文书
紧急迫降观后感
2015/06/15 职场文书
小学校园广播稿
2015/08/18 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书