Python实现告警通知到微信,还免费?

简介: Python实现告警通知到微信,还免费?

🍁一、Python安装



🍃1.1 进入官网


https://www.python.org/downloads/


🍃1.2 下载

921f5b8b55ee4564aac38c904490fed1.png



🍃1.3 安装


详细安装步骤参考博客:

https://blog.csdn.net/weixin_41645135/article/details/115275353


65712935e1ab45c39207ee825a9439f5.png


🍁二、PyCharm开发工具使用



比较流行的IDE 是 PyCharm。当然,还有其他 IDE 可供我们使用:

IDLE

PyCharm

wingIDE

Eclipse

IPython


🍃2.1 PyCharm 下载


官网下载地址:

https://www.jetbrains.com/pycharm/download/#section=windows

c25d056b61f74e4884b3549a2683dfcf.png

🍃2.2 PyCharm安装


和安装普通软件一致,点击下一步即可,只有几个画面需要单独关注。

根据 win 系统是 64 还是 32 位,选择不同的类型。


详细安装步骤参考博客:

https://blog.csdn.net/weixin_41645135/article/details/115339098


ef0a7e0e67bc426bbbde3050c365e23b.png


🍁三、发送告警通知到微信



🍃3.1.新建应用


登陆网页版企业微信

https://work.weixin.qq.com/

点击 应用管理 -> 应用 -> 创建应用

注意:你首先的申请注册一个企业微信

029da39c39014d8799ff27ada64e14a5.png


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

1c8b3798512b4635b82cab8346df5dfb.png

🍃3.2 获取秘钥


使用 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 可以通过 我的企业 -> 企业信息 获取

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


4ae74e96562749c2be0c13d987720dbb.png


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

212e2debc67b4e8f825f417a91364b9c.png

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

67f6d765f281469fb1bc59229a8c05ff.png

🍃3.3 Python源码


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)
        if rep.status_code != 200:
            print("request failed.")
            return
        return json.loads(rep.content)
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\">服务cpu超过80%</div><div class=\"highlight\">请尽快排查!</div>")


下载所需要的模块

pip install requests


364491954a95439e8012ffce89d7aff4.png

只要你的企业微信没有关闭通知的权限,

那你的手机立马就会弹出这个告警信息,后期只要设置可见人员即可


a36822f72e234cd9b25cf076e2aa5950.png

1ad76a09ff6e44b79dd38252e86705d8.png

目录
相关文章
|
1月前
|
数据采集 测试技术 API
python爬虫之app爬取-微信朋友圈
搭建appium环境,appium基本使用,API操作等等
137 0
|
21天前
|
Python
用Python实现QQ/微信消息轰炸
用Python实现QQ/微信消息轰炸
|
25天前
|
Python 数据格式
使用Python批量处理微信榜单数据
使用Python批量处理微信榜单数据
|
1月前
|
开发工具 Python
90行python代码让微信开屏地球转起来,太酷了!
90行python代码让微信开屏地球转起来,太酷了!
|
1月前
|
人工智能 算法 API
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
32 0
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
|
1月前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
67 0
|
1月前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
95 0
|
1月前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
68 0
|
1月前
|
XML 人工智能 数据安全/隐私保护
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
26 0
|
1月前
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
35 0