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 命令行参数sys.argv
Sep 06 Python
Python中常见的数据类型小结
Aug 29 Python
Python手机号码归属地查询代码
May 04 Python
Python实现的排列组合计算操作示例
Oct 13 Python
TensorFlow数据输入的方法示例
Jun 19 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
解析PyCharm Python运行权限问题
Jan 08 Python
python将图片转base64,实现前端显示
Jan 09 Python
Python接口测试结果集实现封装比较
May 01 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
Python字符串的转义字符
Apr 07 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 for 循环语句使用方法详细说明
2010/05/09 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
JQuery优缺点分析说明
2010/06/09 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
微信小程序中input标签详解及简单实例
2017/05/18 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
python中的编码知识整理汇总
2016/01/26 Python
python开发之str.format()用法实例分析
2016/02/22 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
Python正则表达式知识汇总
2017/09/22 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
联想香港官方网站及网店:Lenovo香港
2018/04/13 全球购物
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
银行行长竞聘演讲稿
2014/04/23 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
python中validators库的使用方法详解
2022/09/23 Python