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爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
Python3学习urllib的使用方法示例
Nov 29 Python
浅谈Python中的私有变量
Feb 28 Python
python try except 捕获所有异常的实例
Oct 18 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 Python
Django框架验证码用法实例分析
May 10 Python
简单了解python的break、continue、pass
Jul 08 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
Python实现把类当做字典来访问
Dec 16 Python
python实现扫雷小游戏
Apr 24 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 Python
python中的plt.cm.Paired用法说明
May 31 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按单词截取字符串的方法
2015/04/07 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
js断点调试经验分享
2017/12/08 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
简单的Python抓taobao图片爬虫
2014/10/26 Python
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
播音主持专业个人自我评价
2014/01/09 职场文书
《只有一个地球》教学反思
2014/02/14 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
成绩报告单家长评语
2014/12/30 职场文书
企业介绍信范文
2015/01/30 职场文书
中秋节主题班会
2015/08/14 职场文书
Python基础之条件语句详解
2021/06/16 Python