之前使用邮件和短信发送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端接口,实现管理登陆、发送信息等功能。
<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>
分享到:
相关推荐
2. **Zabbix告警动作配置**:在Zabbix的“动作”配置中,添加新的操作步骤,选择“执行命令”类型,并指定执行的Python脚本(如"dingding.py")。将告警信息如主机名、触发器描述等参数传递给脚本。 3. **编写...
同时,还需要创建一个日志文件(如`/tmp/dingding.log`),用于记录发送告警的过程,同样需要设置正确的文件所有者权限(`chown zabbix.zabbix dingding.sh`)。 2. **报警媒介类型**:在Zabbix中配置报警媒介类型,...
通过这份文档,我们可以了解到如何利用Python语言编写脚本,通过第三方API实现对Zabbix告警系统的扩展,使其能够将告警信息发送到钉钉、微信等流行的即时通讯工具中。这对于监控系统的及时性和有效性至关重要,因为...
在 Zabbix 中,邮件报警是一个非常重要的功能,它可以将监控结果发送到指定的邮箱中,从而实现实时监控和报警。今天,我们将学习如何在 Zabbix 中设置邮件报警,使用 sendEmail 工具来发送邮件。 sendEmail 介绍 ...
Zabbix是一款强大的网络监控工具,尤其在Linux环境中广泛使用。报警机制是Zabbix的核心功能之一,它能够及时通知管理员系统中的异常情况,确保系统的稳定运行。本文档将深入讲解Zabbix的报警机制,并通过五个具体的...
2. **配置Zabbix告警动作**:在Zabbix的Web界面中配置触发条件和相应的操作,例如当某个监控项出现异常时通过脚本发送微信消息给指定用户。 3. **测试报警功能**:通过手动触发某些事件来测试报警功能是否正常工作。...
### ZABBIX通过钉钉发送报警消息的方法 随着IT系统的日益复杂化,系统监控与故障预警变得至关重要。本文将详细介绍如何在2019年新版ZABBIX中配置通过钉钉发送报警消息的方法,帮助您更高效地进行系统监控与故障响应...
当系统出现异常时,及时的通知机制至关重要,而钉钉作为一款企业级通讯工具,提供了集成第三方服务的Webhook功能,使得Zabbix能够通过钉钉发送告警通知。本文将详细介绍如何配置Zabbix以实现通过钉钉发送告警信息。 ...
- 登录钉钉管理后台,进入“自定义机器人”设置,创建一个新的机器人并获取其Webhook地址。 2. **Zabbix配置** - 在Zabbix服务器上,登录Zabbix前端界面。 - 进入“Administration” -> “Media Types”,创建...
当监控的某个条件触发时,Zabbix会触发一个事件,然后可以通过动作(Actions)配置来执行相应的操作,如发送邮件、短信或者调用外部脚本。 Python在其中的角色主要是编写自定义的脚本,用于接收Zabbix触发的事件,...
该脚本为Zabbix监控系统提供了强大的邮件报警功能,通过配置SMTP服务器信息和邮箱账号等关键信息,可以实现对监控告警的实时邮件通知,大大提高了故障响应速度和处理效率。对于大型网络环境中的监控系统而言,这种...
Zabbix 需要一个数据库来存储监控数据。这里选择使用 MariaDB 数据库。 - **安装 MariaDB**: - 执行命令:`yum -y install mariadb-server mariadb-devel` - **启动 MariaDB 服务**: - 使用命令:`systemctl ...
通过对Zabbix 3.2.5(v1.2)的安装配置及告警机制的学习,我们可以有效地利用这款强大的监控工具来监控大量的服务器和网络设备。无论是对初学者还是有一定经验的运维人员而言,掌握Zabbix的基本原理和使用方法都是...
当触发器生效时,Zabbix 会发送告警通知。但是,在数据库中,只有触发器生效并执行了告警通知的动作后,才会记录到 alerts 表中。这使得统计触发器告警次数变得困难。 解决方案 为了解决这个问题,我们可以使用 ...
`sendEmail` 是一个用于发送电子邮件的 Perl 脚本。可以通过以下步骤进行安装: - 进入 `/usr/local/src` 目录: ```bash cd /usr/local/src ``` - 下载 `sendEmail`: ```bash wget ...
3. **编写测试脚本**:创建一个Python脚本来发送告警信息。 ```python #!/usr/bin/env python import requests url = ...
这一步涉及到了动作的创建,在动作设置中,用户可以定义触发告警的条件、告警发送的频率以及恢复通知的发送。创建动作后,还需要将报警媒介添加给相应的用户,确保在条件满足时,用户能够接收到告警邮件。 总体来看...