python之企业微信log日志收集及报警

往往在很多时候代码跑着跑着就出现BUG了,那么我们怎样能及时发现BUG及修复BUG呢?

log日志是发现BUG的及检查BUG的重要文件,今天给大家介绍一下如何利用企业微信实时的进行错误log日志的收集:

第一步 注册企业微信

用企业微信接受通知,当然就需要成为企业微信的一员啦,创建自己的企业,企业微信注册地址
注册好以后让我们进入企业微信

第二步 注册应用,获得corpid corpsecret

如下图,注册完微信以后会得到一个企业ID
Alt
选择应用与小程序新建一个应用,进入应用详情可获取scret
Alt
准备工作差不多了,下面进行业务逻辑代码编写

第三步 调用企业微信API进行log收集

企业微信API链接
调用API之前需要获取一个token

def get_token(self):
        """
        根据API获取token
        corpid: 获取到的企业ID
        corpsecret:应用的secret
        """
        url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
        values = {
   
            'corpid': self.corpid,
            'corpsecret': self.corpsecret
### 配置 Zabbix 使用微信进行报警通知 #### 修改 `zabbix_server` 脚本路径配置 为了使 Zabbix 支持通过微信发送警报,需确认并设置 `AlertScriptsPath` 参数指向存放自定义告警脚本的目录。此参数通常位于 `/etc/zabbix/zabbix_server.conf` 文件内。 ```bash [root@z5 ~]# grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts ``` 上述命令展示了如何查询当前设定的脚本存储位置[^1]。 #### 创建或编辑用于发送消息的企业微信机器人脚本 在指定的 `AlertScriptsPath` 下创建 Python 或 Shell 脚本来调用微信 API 实现消息推送功能。这里提供了一个简单的 Python 示例: ```python #!/usr/bin/env python3 import requests import json import sys def send_wechat_message(webhook_url, user, subject, message): headers = {'Content-Type': 'application/json'} data = { "msgtype": "text", "text": { "content": f"{subject}\n{message}", "mentioned_mobile_list":[user] } } response = requests.post(url=webhook_url, headers=headers, data=json.dumps(data)) if __name__ == "__main__": webhook_url = '<Your WebHook URL>' # 替换成实际的企业微信群聊机器人的WebHook地址 try: _, user, subject, *messages = sys.argv content = ' '.join(messages) send_wechat_message(webhook_url, user, subject, content) except Exception as e: print(f"Error occurred while sending WeChat notification: {e}") ``` 这段代码接受三个参数:接收者用户名、主题以及具体的消息内容,并将其构造成 JSON 请求体发送给企业微信API接口[^2]。 #### 设置合适的文件权限 考虑到安全性和兼容性问题,在执行此类外部程序时应确保其具有适当的操作权限。特别是当涉及到日志记录或其他可能影响系统的操作时,建议调整相关资源的所有权至运行 Zabbix 的用户账户下(通常是 `zabbix`),例如对于某些情况下产生的临时文件 `/tmp/weixin.log`: ```bash chown zabbix. /tmp/weixin.log ``` 这一步骤可以防止因权限不足而导致的通知失败情况发生[^4]。 #### 测试与验证 完成以上步骤之后,可以通过直接调用该脚本来初步检验整个流程是否正常工作: ```bash python weixin.py ZhangYi "测试" "人生苦短,我学Python!" ``` 其中 `"ZhangYi"` 是目标用户的 ID ,而后面两个字符串分别代表邮件的主题和正文部分[^3]。 最后,在 Zabbix UI 中添加新的媒体类型并将相应的动作关联起来即可正式启用这项特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值