一种基于zabbix的消息队列监控方法与流程

文档序号:11216144阅读:1388来源:国知局
一种基于zabbix的消息队列监控方法与流程

本发明属于消息队列监控技术领域,主要应用于互联网行业各种类型的消息队列的监控。



背景技术:

对于互联网公司而言,随着业务的发展,消息队列应用越来越广泛,为了能及时发现故障,需要一个很可行的监控方案。目前,监控消息队列的方案存在如下缺点:

(1)无法及时通知管理人员:很多消息队列自身虽然提供了监控方案,但是,由于不支持短信或者邮件通知机制,无法第一时间通知管理人员,导致无法及时发现问题,从而造成重大损失。

(2)监控固定,无法个性化定制:消息队列自身提供的监控方案,一般是无法个性化定制,很难满足也无需求。

(3)可行性比较低:使用消息队列自身提供的监控,需要外网ip,存在一定的风险和成本,很多场景下不允许使用外网ip,导致无法使用该方案。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供一种基于zabbix的消息队列监控方法,可以轻松实现大规模消息队列集群的监控,并且使用方便,维护成本低。

本发明的目的是通过以下技术方案来实现的:一种基于zabbix的消息队列监控方法,包括以下步骤:

(1)管理消息队列主机

在zabbix平台上创建消息队列主机信息,作为某个消息队列服务的唯一标识。同时,加载消息队列的监控模板。

zabbix是一种支持短信和邮件的监控服务器。

消息队列主机是指在zabbix中为某个消息队列创建的主机信息,作为监控某个消息队列的唯一标识。

消息队列的监控模板是指根据消息队列接口,设置的采集项、触发器以及趋势图,该模板将被加载到消息队列主机信息中。

(2)管理消息队列配置

针对消息队列服务,按照所述消息队列主机信息,创建消息队列配置,用于采集监控数据。

消息队列配置是指配置消息队列主机名称的配置,用于采集监控数据。

(3)采集监控数据

根据消息队列配置,针对每个消息队列主机,调用消息队列的接口,获取当前的状态信息,保存到监控数据文件里。

监控数据文件是指保存采集到的监控数据,所述消息队列主机对应一个监控数据文件。

(4)发送监控数据

根据消息队列配置,针对每个消息队列主机,调用zabbix服务端接口,发送监控数据文件到消息队列主机对应的zabbix服务端。

(5)告警管理

针对消息队列主机,在zabbix服务端里设置相应的短信和邮件接收人信息,在消息队列服务发生故障时候,第一时间通知管理人员。

本发明的有益效果是:本发明基于zabbix的消息队列监控方法,可以轻松实现大规模消息队列集群的监控,并且使用方便,维护成本低。

附图说明

图1是本发明基于zabbix的消息队列监控方法流程图。

具体实施方式

下面结合附图和具体实施例,对本发明作进一步详细说明。

图1是本发明基于zabbix的消息队列监控方法流程图。本发明方法首先在zabbix平台上创建所述消息队列主机,同时加载所述消息队列的监控模板;然后在所述消息队列配置里创建所述消息队列主机,接下来,定期采集所述消息队列主机对应的监控数据,然后发送到所述zabbix系统中。如果所述消息队列发生故障,此时,zabbix会触发告警,通知管理人员处理。

下面详细介绍本发明方法的具体实现过程:

步骤s100:管理消息队列主机

在zabbix系统“主机”页面,创建主机组,命名为mq,然后选择mq主机组,创建消息队列主机,命名格式为:<消息队列类型>_<端口>_<ip>,说明如下:

消息队列类型:由于存在不同类型的消息队列,这里以类型作为区分;

端口:消息队列服务端口,不同消息队列服务端口不同,便于维护消息队列监控。

ip:表示所述消息队列所在服务器的ip,便于管理人员在收到告警时处理问题。

创建消息队列主机后,选择“模板”加载消息队列的监控模板,这样,在zabbix系统里,就保存了所述消息队列主机的基本信息。

如果需要删除某个消息队列主机,在zabbix系统里,找到指定的主机,点击删除,同时删除消息队列配置中相应的主机信息。

步骤s101:管理消息队列配置

在创建所述消息队列主机后,需要在消息队列配置文件里,添加对应的消息队列主机,与zabbix系统中的消息队列主机保持一致。

如果存在多个所述消息队列主机,每行一个。

步骤s102:采集监控数据

这里采用脚本形式,调用所述消息队列相应的接口,并且按照消息队列的监控模板中的采集项进行过滤,然后把这些数据连同消息队列主机名写入到监控数据文件,该文件每行数据格式如下:

<主机名><采集项><时间戳><采集值>

主机名是所述消息队列主机,与所述消息队列配置中的保持一致;

采集项是脚本里设置的采集项,和所述消息队列的监控模板中的采集项保持一致;

时间戳:数值型格式的时间戳;

采集值是采集项对应的值,不能为空,否则发送监控数据报错。

在定时任务中,按照如下形式设置采集数据任务:

*/1****cd/path/to/&&shcoll_mq.sh

coll_mq.sh是采集监控数据的脚本,调用所述消息队列的接口,采集所述消息队列中的诸如node,overview之类的信息,保存在所述消息队列主机对应的监控数据文件中。

步骤s103:发送监控数据

采集监控数据结束后,调用zabbix发送监控数据接口,将监控数据记录在zabbix系统中,发送监控数据接口如下:

zabbix_sender--zabbix-server<zabbix服务器ip>--port<zabbix服务器端口>--input-file<监控数据文件>--with-timestamps

说明:

zabbix服务器ip是zabbix服务器所在的服务器ip;

zabbix服务器端口是zabbix服务器的服务端口;

监控数据文件就是所述消息队列主机对应的监控数据文件。

针对所述消息队列配置中的每个主机,调用该接口,发送数据到zabbix系统。

发送监控数据结束后,需要清空监控数据文件,避免数据重复导致报错。

为了方便实现该功能,可以在采集监控数据脚本中调用该接口,采集监控数据后,调用该接口发送数据。

步骤s104:告警管理

在zabbix系统里,设置主机组mq对应的短信和邮件接收人,以及告警策略,当所述消息队列服务故障时,zabbix根据告警设置,即可通知管理人员及时处理。

这里可以设置哪些人接收短信和邮件,管理方便灵活。

本发明以一种简单可行的方法,实现了对所述消息队列有效监控,解决了上文提到的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1