zabbix告警信息-lykchat信息发送系统

lykchat信息发送系统

lykchat信息发送系统是Python3开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具。

实现的功能有用户登录管理、微信登陆管理和微信信息发送功能。

特点

1、简单高效
    基于个人微信号,模拟微信web端,部署和维护简单
    web管理页面实现可视化管理微信登陆
    接口采用URL,简化调用复杂度,返回结果均为json格式
2、信息共享 
    通过共享用户session和微信登陆信息,保证系统长期稳定运行 
3、7*24不间断服务
    计划任务定时检查微信登陆状态,微信保持登陆超过20天
4、支持发送多媒体信息
    除了支持发送纯文字信息外,还支持发送图片、视频、文件等信息
5、用户管理
    通过用户隔离微信个人号,不同用户管理不同微信号
    用户密码分为管理密码和接口密码,保证用户信息安全性
6、微信信息安全
    不会监控和存储微信聊天信息
    不会增加和删除好友

截图

管理页面–功能展示

等待扫码 截图

管理页面–微信登陆时长

微信登陆时长 截图

接口-发送信息成功

发送信息成功 截图

发送信息接口使用说明

https://github.com/lykops/lykchat/wiki/%E5%8F%91%E9%80%81%E4%BF%A1%E6%81%AF%E6%8E%A5%E5%8F%A3%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

模块和工作流程

https://github.com/lykops/lykchat/wiki/%E6%A8%A1%E5%9D%97%E5%92%8C%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B

安装手册

https://github.com/lykops/lykchat/wiki/%E5%AE%89%E8%A3%85%E6%89%8B%E5%86%8C

ChangeLog

https://github.com/lykops/lykchat/wiki/ChangeLog

说明

1、作者尽可能通过严谨测试来验证系统功能,但由于专业水平有限,无法避免出现bug。
2、该项目是基于微信web端进行开发的
    由于微信web端参数经常变动,可能会导致系统异常。
    如作者发现该问题,将会更新和修复。
3、该项目开发的目的:为监控系统提供一个通过微信发送告警信息。
    所以该项目只实现了微信的登陆、接受和发送信息这三个功能,其他功能暂不考虑。
    建议使用一个独立的微信号,避免在登陆过程中在微信web端、PC客户端登陆,也不要在手机端退出web登陆。
4:该项目为个人开源项目,免费开源。
    请勿使用该系统发送非法、不良信息。
    在使用过程中,如有任何问题,作者不承担任何责任。
5、联系方式:     
    微信:lyk-ops
    邮箱:liyingke112@126.com  
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
### 配置 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、付费专栏及课程。

余额充值