Python实现个人微信号自动监控告警的示例

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 

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,微信扫一扫

微信登录后,终端释放,提示成功,消息同时发送,并且web二维码失效

Login successfully as someone

微信点击确认

查看手机助手,消息已经收到!

监控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 

2.httpd 服务关闭后,端口 80 不存在

[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# sh /mnt/check.sh 

3.httpd 服务再次开启,端口 80 存在

[root@server1 ~]# systemctl start httpd
[root@server1 ~]# sh /mnt/check.sh 

添加任务计划自动监控进行告警

[root@server1 ~]# crontab -e
* 1 * * * sh /mnt/check.sh

投入使用

添加任务计划后,妥善修改脚本,避免频繁告警。

以上这篇Python实现个人微信号自动监控告警的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python利用微信公众号实现报警功能

    微信公众号共有三种,服务号.订阅号.企业号.它们在获取AccessToken上各有不同. 其中订阅号比较坑,它的AccessToken是需定时刷新,重复获取将导致上次获取的AccessToken失效. 而企业号就比较好,AccessToken有效期同样为7200秒,但有效期内重复获取返回相同结果. 为兼容这两种方式,因此按照订阅号的方式处理.  处理办法与接口文档中的要求相同: 为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器. 而其他业务逻辑服务器所使

  • Python WXPY实现微信监控报警功能的代码

    概述: 本文主要分享一下博主在学习wxpy 的过程中开发的一个小程序.博主在最近有一个监控报警的需求需要完成,然后刚好在学习wxpy 这个东西,因此很巧妙的将工作和学习联系在一起. 博文中主要使用到的技术设计到Python,Redis,以及Java.涉及到的技术看似很多,但是主要的语言是基于Python进行开发的. 架构涉及主要采用了 生产者消费者的涉及模式,使用Redis作为消息队列进行解耦操作. 主要架构涉及如下: 接下来开始介绍一下程序的实现过程,主要讲解wxpy -> python.re

  • Python+微信接口实现运维报警

    说到运维报警,我觉得都可以写个长篇历史来详细解释了报警的前世来生,比如最早报警都是用邮件,但邮件实时性不高,比如下班回家总不能人一直盯着邮箱吧,所以邮件这种报警方式不适合用来报紧急的故障,日常磁盘利用率监控什么的可以用它来报没问题,网站宕机不能访问这种故障,用它就明显不合适了,那对这种业务稳定性要求比较高的业务,后来就发展成了用短信,就是公司买个短信机,提供一个http接口,然后运维人员写脚本把收集到的异常数据写入文件,然后脚本实时检测如果这个文件不为空,就调用短信机接口把文件里的内容发送出去,

  • Python实现个人微信号自动监控告警的示例

    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 pip 安装模块 ##安装依赖软件 [r

  • 使用Python实现企业微信的自动打卡功能

    上下班打卡是程序员最讨厌的东西,更讨厌的是设置了连上指定wifi打卡. 手机上有一些定时机器人之类的app,经过实际测试,全军覆没,没一个可以活着走到启动企业微信的这一步,所以还是靠自己吧. 下面就通过Python程序来实现自动打卡,原理很简单,用Python设置定时任务,然后通过adb操作手机,完成打卡. 1.准备工作 a.安装了Python,ADB驱动(安装方式及下载地址见之前文章)的电脑一台:常驻在公司的测试机一台:数据线一条. b.将手机通过数据线连接电脑,打开开发者选项中的允许USB调

  • python实现企业微信定时发送文本消息的示例代码

    企业微信定时发送文本消息 使用工具:企业微信机器人+python可执行文件+计算机管理中的任务计划程序 第一步:创建群机器人 选择群聊,单击鼠标右键,添加群机器人. 建立群机器人后,右键查看机器人,如下 复制机器人的链接. 第二步:编辑python程序 import requests from datetime import datetime url = 'https://qyapi.we......' #机器人的webhook地址 headers = {'Content-type':'appl

  • python实现图书馆抢座(自动预约)功能的示例代码

    脚本功能 系统开放座位时快速预约指定位置 可以设置预约的时间段 运行以后会一直帮你抢,需要手动停止 即使遇到更强的脚本自动帮抢下一个座位 实现 首先解决登录问题,通过F12找出登录请求包,分析对比一下包可以发现一般只有用户名和密码这个参数是变化的,然后用requests.session()的实例化去请求登录接口,登录成功. 然后预约座位抓一下包,分析包找到变化的关键的参数,一般情况下关键参数只有座位id.开始时间.结束时间,其他的参数一股脑照搬就行了,接下来用刚刚登录成功的那个requests.

  • 如何用Python做一个微信机器人自动拉群

    引言 微信群的用户添加逻辑是 -- 当群人数达到100人后,用户无法再通过扫描群二维码加入,只能让用户先添加群内联系人微信,再由联系人把用户拉进来.这样,联系人员的私人微信会添加大量陌生人,给其带来不必要的打扰,而且纯人工操作,也容易出现纰漏. 那么,是否可以通过代码,做一个自动拉群机器人呢? 由微信机器人来实现自动加群功能,一劳永逸解决人工拉群的麻烦. 当然可以.西秦公子 就用Python 创造了一个微信自动拉群机器人,并把它部署运行在UCloud云平台上. 现在,他把机器人构建过程及代码 都

  • python itchat实现微信好友头像拼接图的示例代码

    偶然在网上发现itchat这个框架,itchat是一个开源的微信个人号接口,它使python调用微信变得非常简单.看到网上有人发自己微信好友的头像拼接图,自己也做了一个,感觉还蛮好玩的. 效果图 下面介绍实现过程: 安装itchat 这个当然还是使用豆瓣源了,速度杠杠的pip install -i https://pypi.douban.com/simple/ itchat 项目依赖 头像拼接用到了pillow这个第三方库,和itchat一样的安装方法 代码 首先调用接口登录,然后可以获取到好友

  • Python编程之微信推送模板消息功能示例

    本文实例讲述了Python微信推送模板消息功能.分享给大家供大家参考,具体如下: 官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432 具体代码如下: #!/usr/bin/env python #-*- coding: utf-8 -*- import httplib import json import MySQLdb #从数据库中获取access_token access_token="&quo

  • Python实现B站UP主自动监控功能详解

    目录 开发工具 环境搭建 原理简介 1.确定小目标 2.模拟登录 3.自动关注 4.实时监控 效果展示 众所周知,B站有很多有趣的UP主,可以教大家一些"实用"的知识: 但是他们一般都没有固定的更新时间,那么如何才能第一时间知道自己又有新的饭点可以看的下饭素材呢?当然是用python来写个脚本自动监控UP是否更新了视频,并自动下载啦~ 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.7.8 相关模块: DecryptLogin模块: videofetch模块: 以及一

  • 利用Python自动监控网站并发送邮件告警的方法

    前言 因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了. 这里用的是python3.5 需要安装的插件: 1.smtplib:发邮件需要用到 2.pycurl:访问网站时会需要用到 3.linecache:在读取txt网站清单时需要用到 具体思路: python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称-日期.txt格式的文件中记录;有几

  • Python对接 xray 和微信实现自动告警

    xray 是什么 xray 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动.被动多种扫描方式,自备盲打平台.可以灵活定义 POC,功能丰富,调用简单,支持 Windows / macOS / Linux 多种操作系统,可以满足广大安全从业者的自动化 Web 漏洞探测需求. 如何第一时间知道扫出了漏洞 对于安全工程师来说,扫描器发现了漏洞能第一时间给出告警是非常重要的,因为安全工程师使用的是 xray 的基础爬虫模式,爬虫一直在爬也不会一直人工刷新和查看漏洞报告,也有可能是使用的被动代

随机推荐