luobo2ni 发表于 2018-1-1 16:24:20

Zabbix实现微信告警

  之前使用邮件和短信发送zabbix告警信息,但告警信息无法实时查看或者无法发送,故障无法及时通知运维人员。
  后来使用第三方微信接口发送信息,愉快地用了一年多,突然收费了。
  zabbix告警一直是我的痛点,近期发现一个基于个人微信号的信息发送工具-lykchat。
  引用:http://blog.csdn.net/liyingke112/article/details/68955298
  lykchat信息发送系统是Python3开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具。
  
实现的功能有用户登录管理、微信登陆管理和微信信息发送功能。
  代码地址:https://github.com/lykops/lykchat/

特点
  

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

  

截图
  管理页面–功能展示
  
https://raw.githubusercontent.com/lykops/lykchat/master/doc/web%E9%A1%B5%E9%9D%A2--%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E.jpg
  管理页面–微信登陆时长
  
https://raw.githubusercontent.com/lykops/lykchat/master/doc/%E5%BE%AE%E4%BF%A1%E7%99%BB%E9%99%86%E6%97%B6%E9%97%B4%E8%B6%85%E8%BF%871%E5%A4%A9.jpg
  接口-发送信息成功
https://raw.githubusercontent.com/lykops/lykchat/master/doc/%E6%8E%A5%E5%8F%A3-%E5%8F%91%E9%80%81%E4%BF%A1%E6%81%AF%E6%88%90%E5%8A%9F.jpg

模块说明

管理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端接口,实现管理登陆、发送信息等功能。  

  
页: [1]
查看完整版本: Zabbix实现微信告警