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之类的细节
Oct 13 Python
Python的类实例属性访问规则探讨
Jan 30 Python
Python增量循环删除MySQL表数据的方法
Sep 23 Python
详解python中的文件与目录操作
Jul 11 Python
python扫描proxy并获取可用代理ip的实例
Aug 07 Python
深入浅出学习python装饰器
Sep 29 Python
Python 实现字符串中指定位置插入一个字符
May 02 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
如何在mac下配置python虚拟环境
Jul 06 Python
python绘制简单直方图(质量分布图)的方法
Apr 21 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 程序员应该使用的10个组件
2009/10/31 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
2018/04/20 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
借助云开发实现小程序短信验证码的发送
2020/01/06 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
UGG英国官方网站:UGG UK
2018/02/08 全球购物
物流合作计划书
2014/01/10 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
一年级小学生评语大全
2014/12/25 职场文书
初中生毕业评语
2014/12/29 职场文书
讲座通知范文
2015/04/23 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL