一种支持横向扩展的Zabbix集群架构系统及应用方法技术方案

技术编号:20081415 阅读:38 留言:0更新日期:2019-01-15 02:44
本发明专利技术提供一种支持横向扩展的Zabbix集群架构系统及应用方法,包括:所述Zabbix用于将与所述Zabbix连接的所有设备的身份信息发送给所述Zookeeper,还用于:接收所述Zookeeper发送的所述所有设备的身份信息的映射关系;所述Zookeeper用于将接收到的所述多个Zabbix上报的身份信息进行映射处理后,发送给对应的所述Zabbix;所述身份信息,包括:所述每个设备的注册ID、管理上限和心跳状态,深度集成了Zookeeper来管理被监测服务器之上的Agent、Proxy和Server之间的映射关系,隶属于不同Zabbix的Proxy宕机离线和重新上线的情况可以由系统自动处理无需人工干预,维护成本低。

A Zabbix Cluster Architecture System and Its Application Method Supporting Horizontal Extension

The present invention provides a Zabbix cluster architecture system and application method supporting horizontal expansion, including: the Zabbix is used to send the identity information of all devices connected to the Zabbix to the Zookeeper, and also for receiving the mapping relationship of the identity information of all devices sent by the Zookeeper; and the Zookeeper is used to report the received Zabbix. The identity information is mapped and sent to the corresponding Zabbix. The identity information, including the registration ID, management upper limit and heartbeat status of each device, is deeply integrated with Zookeeper to manage the mapping relationship between Agent, Proxy and Server on the monitored server. The off-line and re-online situation of Proxy downtime belonging to different Zabbix can be controlled by the system. The automatic processing does not need manual intervention, and the maintenance cost is low.

【技术实现步骤摘要】
一种支持横向扩展的Zabbix集群架构系统及应用方法
:本专利技术涉及计算机服务器管理领域,具体涉及一种支持横向扩展的Zabbix集群架构系统及应用方法。
技术介绍
:为了满足业务复杂度不断上升和规模不断扩大的需求,同时保证对外提供服务的高质量,越来越多的企业往往引入各类新兴技术如云平台、Docker技术等开发搭建和运行迭代业务系统,这使得分布式系统的规模和复杂度日益增加,对系统进行高效监控也成为了迫切的需求。Zabbix(Zabbix(音同za:bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案)作为一个企业级的开源分布式监控解决方案,提供了多层监控和自定义监控等多种功能,成为了企业系统监控的常用方案。然而随着监控规模的不断扩大,Zabbix的性能和扩展瓶颈也日益凸显。Zabbix使用传统的Mysql作为配置管理数据库,由于Mysql导致Mysql数据库性能瓶颈成为了整个系统的瓶颈,具体表现为随着监测规模不断扩大,Zabbix存储采集数据和读取监测指标值用时变长、配置和更改采集数据项用时变长,整体监测性能大大降低了。目前,使用Zabbix的企业主要通过独立部署多套Zabbix来扩大监控规模,每一套Zabbix负责监测一部分设备。当已有的Zabbix达到监测上限后,再部署新一套Zabbix去监测剩下的设备,以此类推。然而这样的解决方案带来了一个重要问题:需要人工或第三方介入来记录Zabbix与被监测设备之间的映射关系,导致后期维护成本过高。例如,由于监测设备分别由多套Zabbix单独监测,当监测设备发生下线或搬迁等动态变化时,需要查询每套Zabbix找到相应设备项进行状态变更。日常维护中跨Zabbix操作更是不可避免,例如更改指定范围的设备的数据采集项,而这些设备分布在多套Zabbix之中。
技术实现思路
:为了克服上述缺陷,本专利技术提供了一种支持横向扩展的Zabbix集群架构系统,所述系统包括:多个Zabbix、Zookeeper和多个设备;所述Zabbix用于将与所述Zabbix连接的所有设备的身份信息发送给所述Zookeeper,还用于:接收所述Zookeeper发送的所述所有设备的身份信息的映射关系;所述Zookeeper用于将接收到的所述多个Zabbix上报的身份信息进行映射处理后,发送给对应的所述Zabbix;所述身份信息,包括:所述每个设备的注册ID、管理上限和心跳状态。优选的,所述Zabbix包括:ZabbixServer、ZabbixProxy和ZabbixAgent;所述ZabbixServer用于上报设备的身份信息,分配Agent到ZabbixProxy,还用于接收ZabbixAgent和ZabbixProxy发送的信息以及ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系;所述ZabbixProxy用于上报设备的身份信息,还用于收集监控信息发送至ZabbixServer并建立与ZabbixServer的链接;所述ZabbixAgent用于上报设备的注册ID,还用于获取设备的身份信息发送至ZabbixProxy和ZabbixServer,并建立与ZabbixServer的链接。优选的,所述Zookeeper包括:Zookeeper数据模型树、注册器和分配器;所述Zookeeper数据模型树用于注册所述Zabbix上报的设备身份信息,创建设备的身份信息的数据节点,还用于记录ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系;所述注册器,用于接收ZabbixServer、ZabbixProxy和ZabbixAgent上报的设备身份信息,并注册到所述Zookeeper数据模型树;所述分配器,用于根据最小负载和最新注册算法处理所述Zookeeper数据模型树上的设备身份信息,得到ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系,还用于将所述ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系分配到ZabbixServer。优选的,所述Zookeeper,还包括:状态监听器;所述状态监听器,用于监听ZabbixServer和ZabbixProxy在预设时间间隔上报的设备心跳状态;所述状态监听器,还用于当所述状态监听器在一定时间内没有收到所述ZabbixServer上报的设备心跳状态时,将所述将所述设备对应的ZabbixServer标记为不可用,同时所述Zookeeper的分配器将不分配设备对应的ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系至ZabbixServer中;当所述状态监听器在一定时间内没有收到所述ZabbixProxy上报的设备心跳状态时且没有新的Proxy顶替时,所述Zookeeper的分配器中断所述设备对应的ZabbixProxy与ZabbixServer的映射关系,并通知ZabbixServer;由ZabbixAgent将所述Agent分布到其它的Proxy所述心跳状态,包括:在线、离线和未知。优选的,所述ZabbixServer,还包括Agent管理器;所述Agent管理器用于根据ZabbixProxy与Agent的连接关系为每个ZabbixProxy分配管理Agent。一种支持横向扩展的Zabbix集群架的应用方法,所述方法包括:获取每个Zabbix连接的设备身份标志信息;将获取的每个所述Zabbix连接的设备身份标志信息注册到Zookeeper数据模型树上,并对所述数据模型树上的身份标识信息进行处理,得到映射关系;将所述映射关系分配到Zabbix中。优选的,所述将获取的各个所述Zabbix身份标志信息注册到Zookeeper数据模型树上,并对所述Zookeeper数据模型树上的身份标识信息进行处理,得到映射关系,包括:将获取的各个所述Zabbix身份标志信息通过Zookeeper中的注册器注册到数据模型树上;所述Zookeeper中的分配器将所述数据模型树上的身份信息根据最小负载和最新注册算法进行处理,得到ZabbixServer和Proxy,以及Server和Agent的映射关系。优选的,所述将所述映射关系分配到Zabbix中,包括:基于所述得到ZabbixServer和Proxy,以及Server和Agent的映射关系所述Zookeeper中的分配器将所述映射关系分配到Zabbix中的ZabbixServer。优选的,所述将所述映射关系分配到Zabbix中,还包括:状态监听器;当所述状态监听器传输的心跳信息中ZabbixServer超过预设时间无心跳时,所述注册器将所述ZabbixServer标记为不可用,同时所述分配器不将Proxy和Agent的映射关系分配至ZabbixServer中;当所述状态监听器传输的心跳信息中ZabbixProxy超过预设时间无心跳且在预设时间内没有新的Proxy顶替时,所述分配器中断所述Prox本文档来自技高网
...

【技术保护点】
1.一种支持横向扩展的Zabbix集群架构系统,其特征在于,所述系统包括:多个Zabbix、Zookeeper和多个设备;所述Zabbix用于将与所述Zabbix连接的所有设备的身份信息发送给所述Zookeeper,还用于:接收所述Zookeeper发送的所述所有设备的身份信息的映射关系;所述Zookeeper用于将接收到的所述多个Zabbix上报的身份信息进行映射处理后,发送给对应的所述Zabbix;所述身份信息,包括:所述每个设备的注册ID、管理上限和心跳状态。

【技术特征摘要】
1.一种支持横向扩展的Zabbix集群架构系统,其特征在于,所述系统包括:多个Zabbix、Zookeeper和多个设备;所述Zabbix用于将与所述Zabbix连接的所有设备的身份信息发送给所述Zookeeper,还用于:接收所述Zookeeper发送的所述所有设备的身份信息的映射关系;所述Zookeeper用于将接收到的所述多个Zabbix上报的身份信息进行映射处理后,发送给对应的所述Zabbix;所述身份信息,包括:所述每个设备的注册ID、管理上限和心跳状态。2.如权利要求1所述的支持横向扩展的Zabbix集群架构系统,其特征在于,所述Zabbix包括:ZabbixServer、ZabbixProxy和ZabbixAgent;所述ZabbixServer用于上报设备的身份信息,分配Agent到ZabbixProxy,还用于接收ZabbixAgent和ZabbixProxy发送的信息以及ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系;所述ZabbixProxy用于上报设备的身份信息,还用于收集监控信息发送至ZabbixServer并建立与ZabbixServer的链接;所述ZabbixAgent用于上报设备的注册ID,还用于获取设备的身份信息发送至ZabbixProxy和ZabbixServer,并建立与ZabbixServer的链接。3.如权利要求2所述的支持横向扩展的Zabbix集群架构系统,其特征在于,所述Zookeeper包括:Zookeeper数据模型树、注册器和分配器;所述Zookeeper数据模型树用于注册所述Zabbix上报的设备身份信息,创建设备的身份信息的数据节点,还用于记录ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系;所述注册器,用于接收ZabbixServer、ZabbixProxy和ZabbixAgent上报的设备身份信息,并注册到所述Zookeeper数据模型树;所述分配器,用于根据最小负载和最新注册算法处理所述Zookeeper数据模型树上的设备身份信息,得到ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系,还用于将所述ZabbixServer和ZabbixProxy以及ZabbixServer和ZabbixAgent的映射关系分配到ZabbixServer。4.如权利要求3所述的支持横向扩展的Zabbix集群架构系统,其特征在于,所述Zookeeper,还包括:状态监听器;所述状态监听器,用于监听ZabbixServer和ZabbixProxy在预设时间间隔上报的设备心跳状态;所述状态监听器,还用于当所述状态监听器在一定时间内没有收到所述ZabbixServer上报的设备心跳状态时,将所述将所述设备对应的ZabbixServer标记为不可用,同时所...

【专利技术属性】
技术研发人员:何慧虹王勇樊冬进郭三川
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1