一个简单好用的zabbix告警信息发送工具

以前使用邮件和短信发送zabbix告警信息,但告警信息没法实时查看或者没法发送,故障没法及时通知运维人员。git

后来使用第三方微信接口发送信息,愉快地用了一年多,忽然收费了。github

zabbix告警一直是个人痛点,近期发现一个基于我的微信号的信息发送工具-lykchat。web

引用:http://blog.csdn.net/liyingke112/article/details/68955298数据库

lykchat信息发送系统是Python3开发的,经过模拟微信网页端,基于我的微信号,为系统管理人员提供信息发送工具。
实现的功能有用户登陆管理、微信登录管理和微信信息发送功能。json

代码地址:https://github.com/lykops/lykchat/安全

特色

一、简单高效
    基于我的微信号,模拟微信web端,部署和维护简单
    web管理页面实现可视化管理微信登录
    接口采用URL,简化调用复杂度,返回结果均为json格式
二、信息共享
    经过共享用户session和微信登录信息,保证系统长期稳定运行
三、7*24不间断服务
    计划任务定时检查微信登录状态,微信保持登录超过20天
四、用户管理
    经过用户隔离微信我的号,不一样用户管理不一样微信号
    用户密码分为管理密码和接口密码,保证用户信息安全性
五、微信信息安全
    不会监控和存储微信聊天信息
    不会增长和删除好友

截图

管理页面–功能展现
等待扫码 截图微信

管理页面–微信登录时长
等待扫码 截图markdown

接口-发送信息成功session

等待扫码 截图

模块说明

管理web页面

可视化管理微信我的号
包括:
    用户登陆和认证
    微信号登录管理:负责微信登录、登录信息展现等功能
    发送信息给好友:用于测试发送功能是否可用

发送信息接口

经过接口方式为其余业务系统发送信息给指定好友
URL地址:http://IP(或者域名)/sendmsg
支持post和get方法
请求参数说明:
    'username' : 管理用户,经过用户确认微信发送者
    'pwd' : 接口密码,注意不等于登录密码
    'friendfield':接受信息的好友字段代号,0昵称,1微信号,2备注名,能够为空,默认为0
    'friend': 接受信息的好友的昵称、微信号、备注名的其中之一,不能为空
    'content': 发送内容,不能为空
返回信息:
    json格式,{'Msg': 执行结果, 'Code':返回代码, 'ErrMsg':若是-1005返回参数列表,其余发送微信返回信息}
例子:http://192.168.100.104/sendmsg?username=zabbix&pwd=123456&friendfield=1&friend=lyk-ops&content=test

计划任务

检测微信登录状态:获取全部登陆微信成功的用户,经过调用检测微信登录接口

会话保持模块

存储微信登录信息和会话信息,同用户在任何地方登录,保证微信登录状态一致
访问管理页面和微信登录检测接口,根据session或者参数获取用户名,而后读取会话文件,页面操做后,再一次更新数据库和会话文件
这些信息分别保持在数据库和文件中。
数据库:保存用户会话信息,只记录用户名,每次访问更新会话有效期
会话文件:保存用户全部的信息(包括微信登录信息),json格式,每次访问更新

模拟微信web端模块

它是该系统的核心和底层模块。经过微信登录信息,访问微信web端接口,实现管理登录、发送信息等功能。
相关文章
相关标签/搜索