教你用 Python 发送告警通知到微信的操作过程

常见的告警方式有:邮件,电话,短信,微信。

短信和电话,通常是收费的(若你有不收费的,可以评论分享一下),而邮件又不是那么及时,因此最后我选择微信通知。

这里说的微信,是企业微信,而我之前用注册过个体户的执照,因此可以很轻松就可以注册自己的企业微信。

#  1. 新建应用

登陆网页版企业微信 (https://work.weixin.qq.com/),点击 应用管理 ->  应用 ->  创建应用

上传应用的 logo,输入应用名称,再选择可见范围,成功创建一个告警应用

#  2. 获取Secret

使用 Python 发送告警请求,其实就只使用到两个接口

  • 获取 Token  :https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={secret}
  • 发送请求 :https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}

可以看到,最重要的是 corpid 和 secret:

  • corpid:唯一标识你的企业
  • secret:应用级的密钥,有了它程序才知道你要发送该企业的哪个应用

corpid 可以通过 我的企业 ->  企业信息 获取

而 secret 获取相对麻烦一点,点击前面创建应用,点击 查看 secret

然后再点击发送就会发送到你的企业微信上

最后将 corpid 和 secret 填入下面的常量中。

import json
import datetime
import requests

CORP_ID = ""
SECRET = ""
class WeChatPub:
    s = requests.session()
    def __init__(self):
        self.token = self.get_token()
    def get_token(self):
        url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORP_ID}&corpsecret={SECRET}"
        rep = self.s.get(url)
        if rep.status_code != 200:
            print("request failed.")
            return
        return json.loads(rep.content)['access_token']
    def send_msg(self, content):
        url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + self.token
        header = {
            "Content-Type": "application/json"
        }
        form_data = {
            "touser": "@all",
            "toparty": " PartyID1 | PartyID2 ",
            "totag": " TagID1 | TagID2 ",
            "msgtype": "textcard",
            "agentid": 1000002,
            "textcard": {
                "title": "服务异常告警",
                "description": content,
                "url": "URL",
                "btntxt": "更多"
            },
            "safe": 0
        rep = self.s.post(url, data=json.dumps(form_data).encode('utf-8'), headers=header)
        return json.loads(rep.content)

然后就可以通过 send_msg 函数发送消息了。

wechat = WeChatPub()
now = datetime.datetime.now()
timenow = now.strftime('%Y年%m月%d日 %H:%M:%S')
wechat.send_msg(f"<div class=\"gray\">{timenow}</div> <div class=\"normal\">阿里云 cookie 已失效</div><div class=\"highlight\">请尽快更换新的 cookie</div>")

只要你的企业微信没有关闭通知的权限,那你的手机立马就会弹出这个告警信息。

简单几步就对接了企业微信,实现了手机的实时告警功能,推荐有企业微信的同学使用。

当然一定有更多,更好用的实现方法,我只是我选择了其中一种。

到此这篇关于教你用 Python 发送告警通知到微信的文章就介绍到这了,更多相关Python 微信告警通知内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 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对接 xray 和微信实现自动告警

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

  • 教你用 Python 发送告警通知到微信的操作过程

    常见的告警方式有:邮件,电话,短信,微信. 短信和电话,通常是收费的(若你有不收费的,可以评论分享一下),而邮件又不是那么及时,因此最后我选择微信通知. 这里说的微信,是企业微信,而我之前用注册过个体户的执照,因此可以很轻松就可以注册自己的企业微信. #  1. 新建应用 登陆网页版企业微信 (https://work.weixin.qq.com/),点击 应用管理 ->  应用 ->  创建应用 上传应用的 logo,输入应用名称,再选择可见范围,成功创建一个告警应用 #  2. 获取Sec

  • 手把手教你用python发送短消息(基于阿里云平台)

    本次是纯发送演示,一步步讲解如何让发送成功,后继会介绍与网站注册功能的结合运用,敬请关注"有只狗狗叫多多" 一.首先,注册阿里云账号一个,完成实名认证,然后在产品中找到短信服务,选择免费开通 这里还是要推荐下小编的Python学习群:483546416,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴.在不忙的时间我会给大家解惑. 二.控制台生成后,进入短信控制台,获取你的AK,保留备用,

  • python发送告警邮件脚本

    python脚本为敏捷开发脚本,在zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法. 脚本如下: #!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_host = 'smtp.126.com' mail_user = 'username' mail_pass = 'passwd' mail_postfix = '126.

  • 一步步教你用python给女朋友写个微信自动提醒的程序

    目录 前言 第一步:文本内容的确定 第二步:微信端发送消息的实现 第三步:定时任务的设置 总结 前言 事件背景是经常有很多琐碎的事情需要在某个时间点去做,光靠人力去记,容易出现偏差,尤其是对容易迷糊的选手. 所以动手写了一套代码,可以按需要通过微信发送消息,不论是给自己充当自动提醒的备忘录还是给其他人发送定时消息,都可以在这套代码的基础上实现. 首先放上最终成果示例: 图中的文字都是可以根据自身需要而进行修改的,所以文章中附上的代码也只是抛砖引玉,读者可以根据自身需要而进行调整.本篇文章会分三个

  • python应用之如何使用Python发送通知到微信

    目录 一.通知方式有哪些? 二.如何实现企业微信通知? 1.新建应用 2.获取Secret 3.代码实现 4.实现效果: 三.参考资料 总结 一.通知方式有哪些? 常见的通知方式有:邮件,电话,短信,微信. 短信和电话:通常是收费的,较少使用: 邮件:适合带文件类型的通知,较正式,存档使用: 微信:适合告警类型通知,较方便.这里说的微信,是企业微信. 本文目的:通过企业微信应用给企业成员发消息. 二.如何实现企业微信通知? 1.新建应用 登陆网页版企业微信 (https://work.weixi

  • Python实现发送警告通知到企业微信方法详解

    目录 1. 新建应用 2. 获取Secret 常见的报警方式有:邮件,电话,短信,微信. 短信和电话,通常是收费的(若你有不收费的,可以评论分享一下),而邮件又不是那么及时,因此最后我选择微信通知. 这里说的微信,是企业微信,而我之前注册过个体户的执照,因此可以很轻松就可以注册自己的企业微信. 1. 新建应用 登陆网页版企业微信(https://work.weixin.qq.com/), 点击 应用管理 -> 应用 -> 创建应用 上传应用的 logo,输入应用名称,再选择可见范围,成功创建一

  • 教你利用python实现企业微信发送消息

    一.需要的参数 1.通讯用户:touser 或 通讯组:toparty 2.企业ID:corpid 3.应用ID/密钥:agentId,secret 二.获取通讯用户/组 通讯录 用户的账号或创建组的部门ID 三.获取企业ID 我的企业最下方 四.获取应用ID/密钥 企业微信管理员登录企业微信, 应用管理创建应用 可见范围:发给谁 五.脚本代码 #! /usr/bin/env python # -*- coding: UTF-8 -*- import requests, sys class Se

  • SQL Server Alert发送告警邮件少了的原因

    最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来.如下所示,设置了告警"SQL Server Severity Event 14" USE [msdb] GO IF NOT EXISTS(SELECT 1 FROM msdb.dbo.syscategories WHERE NAME='DBA_MONITORING' AND category_class=2) BEGIN EXEC msdb.dbo.sp_add_cate

  • 10分钟教你用Python实现微信自动回复功能

     01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息.但微信又不能像QQ一样设置自动回复.无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把接收到的消息统一发送到文件助手里面,方便统一查看. 效果如下: 02 环境准备 Python版本:3.6.0 系统平台:Windows 10 X64 IDE:pycharm 相关模块: time模块: itchat模块: 以及一些Python自带的模块. 03 实现原理 其实原理很简单,主要是利用itcha

  • 基于Python实现定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.schedulers.blockingimport BlockingScheduler#定时框架 bot = Bot(cache_path=True) tuling = Tuling(api_key=你的api')#机器人api def send_weather(location): #准备url地址 pa

随机推荐