之前使用郵件和短信發送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、微信信息安全
不會監控和存儲微信聊天信息
不會增加和刪除好友
截圖
管理頁面–功能展示
管理頁面–微信登陸時長
接口-發送信息成功
模塊說明
管理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端接口,實現管理登陸、發送信息等功能。