一种动态分发Zabbix监控数据的系统及其管理方法技术方案

技术编号:16923110 阅读:40 留言:0更新日期:2017-12-31 17:09
本发明专利技术公开了一种动态分发Zabbix监控数据的系统,包括管理节点和服务节点,各节点通过网线与交换机连接,所述管理节点上设置有Zabbix Server信息数据库服务模块和流程管理模块。如上监控数据系统的管理方法的步骤为:(1)首先管理节点和所有服务节点均通过网线与交换机连接;(2)在管理节点上部署Zabbix Server信息数据库服务模块和流程管理模块,通过流程管理模块对监控数据分发进行动态的控制;(3)在服务节点中的Server节点上部署Zabbix Server容器镜像、Zabbix Server部署模块;(4)在服务节点中的Server节点和Agent节点上都部署Zabbix Agent容器镜像、Zabbix Agent部署模块。本发明专利技术可以对所有Zabbix Agent容器动态调整监控数据需要发送的地方,达到了集群监控数据的快速收集和管理。

【技术实现步骤摘要】
一种动态分发Zabbix监控数据的系统及其管理方法
本专利技术属于计算机应用领域,特别涉及一种动态分发Zabbix监控数据的系统及其管理方法。
技术介绍
监控是当前计算机系统中一个重要的方面。随着计算规模的增加,集群应用服务快速增加,如何监控集群中某个节点的状态变得非常重要。Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级解决方案。Zabbix一般由2部分构成,ZabbixServer与ZabbixAgent。ZabbixAgent需要安装在被监视的目标机器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。ZabbixServer从ZabbixAgent获得监控数据,并保存这些数据,然后通过Web进行展示、报警和分析等操作。考虑到监控系统的高可用性和系统规模的灵活性,一个ZabbixAgent可以发送监控数据到多个ZabbixServer服务器上,只要ZabbixAgent能够通过网络访问到ZabbixServer即可。方法是在ZabbixAgent的配置文件中指定Server的IP地址列表或主机名列表来确定Agent把监控数据发送到那些ZabbixServer服务器上。比如在Linux服务器上,ZabbixAgent的配置文件/etc/zabbix/zabbix_agentd.conf中,有一行Server=host1,host2,host3记录。该记录指明需要发送的Server节点,host1,host2,host3是Server节点的IP地址或者主机名。当前随着Docker为代表的容器化技术快速发展,Zabbix系统基于容器技术来部署和运行,能够明显简化Zabbix系统的部署和使用难度。尤其ZabbixServer容器化后,可以快速实现多个ZabbixServer的部署,甚至可以根据集群服务器的规模和负载情况自动和动态的增加ZabbixServer数目。但是当ZabbixServer变化时,ZabbixAgent如何能够知道ZabbixServer的变化情况,恰当的把监控数据发送到不同的ZabbixServer上,这变为一个重要的技术问题。尤其容器化后的ZabbixServer容器所在节点(这里叫宿主机)的IP地址和容器自身的IP地址并不相同。当ZabbixAgent容器与ZabbixServer容器不在同一个宿主机节点上,配置文件中Server记录的地址,需要采用ZabbixServer的宿主机IP地址,这样才知道把监控数据发送到那台宿主机上;但是当ZabbixAgent容器与ZabbixServer容器在同一个宿主机节点上,这时如果采用宿主机地址,Docker网络判断是本机数据,不会转发到ZabbixServer的容器中,这样导致本机ZabbixServer容器无法获得本机ZabbixAgent容器发送的数据。所以,ZabbixAgent容器与ZabbixServer容器在同一个宿主机节点上,配置文件中Server记录的地址,需要采用ZabbixServer的容器IP地址。针对以上问题可以看出,容器化Zabbix监控系统后,ZabbixAgent配置复杂性增加,依据ZabbixServer的变化动态分发Zabbix监控数据变得比较困难。
技术实现思路
专利技术目的:针对现有技术中存在的问题,本专利技术提供一种ZabbixAgent依据ZabbixServer的变化情况,动态关联ZabbixServer服务,并能够自动判断是采用ZabbixServer的实际宿主机IP地址还是容器自身的IP地址,实现了一种动态的分发Zabbix监控数据的系统及其管理方法。技术方案:为解决上述技术问题,本专利技术提供的一种动态分发Zabbix监控数据的系统,包括管理节点和服务节点,各节点通过网线与交换机连接,所述管理节点上设置有ZabbixServer信息数据库服务模块和流程管理模块。进一步的,所述服务节点又包含Server节点和Agent节点,所述Server节点上设置有ZabbixServer容器、ZabbixServer部署模块、ZabbixAgent容器和ZabbixAgent部署模块,所述Agent节点上设置有ZabbixAgent容器和ZabbixAgent部署模块。一种如上所述的动态分发Zabbix监控数据系统的管理方法,(1)首先管理节点和所有服务节点均通过网线与交换机连接;(2)在管理节点上部署ZabbixServer信息数据库服务模块和流程管理模块,通过流程管理模块对监控数据分发进行动态的控制;(3)在服务节点中的Server节点上部署ZabbixServer容器镜像、ZabbixServer部署模块;(4)在服务节点中的Server节点和Agent节点上都部署ZabbixAgent容器镜像、ZabbixAgent部署模块。进一步的,所述步骤(2)中的流程管理模块的具体管理方法步骤如下:(2.1)由用户或者上层应用指定ZabbixServer和ZabbixAgent宿主机列表作为流程管理模块输入,这个列表可以随时动态变化;(2.2)根据上述(2.1)列表遍历ZabbixServer宿主机;(2.3)分别登陆ZabbixServer宿主机;(2.4)在每个宿主机上调用ZabbixServer部署模块;(2.5)根据上述(2.1)列表遍历ZabbixAgent宿主机;(2.6)分别登陆ZabbixAgent宿主机;(2.7)在每个宿主机上调用ZabbixAgent部署模块;(2.8)实现ZabbixAgent容器正确的把监控数据发送到所有ZabbixServer服务中,用户可以通过浏览器访问ZabbixServer提供的http服务对集群系统进行监控管理。进一步的,所述步骤(3)中的ZabbixServer部署模块操作步骤如下:(3.1)进入ZabbixServer部署模块;(3.2)如果ZabbixServer容器已经存在,则部署流程结束;(3.3)基于ZabbixServer镜像创建容器;(3.4)获得本宿主机的IP地址和ZabbixServer容器的内部IP地址;(3.5)发送两个IP地址到ZabbixServer信息数据库服务中进行保存。进一步的,所述步骤(4)中的ZabbixAgent部署模块操作步骤如下:(4.1)进入ZabbixAgent部署模块,访问ZabbixServer信息数据库服务,然后进入步骤(4.2)和步骤(4.3);(4.2)获得所有ZabbixServer容器的IP地址列表和ZabbixServer宿主机的IP地址列表,然后进入步骤(4.4);(4.3)获得本宿主机的IP地址;(4.4)判断本宿主机IP地址是否在ZabbixServer宿主机IP地址列表中,如果在进入步骤(4.5),如果不在进入步骤(4.6);(4.5)在ZabbixServer宿主机IP地址列表中,替换本宿主机IP地址的数据为对应本机ZabbixServer容器IP地址的数据,并进入步骤(4.7);(4.6)直接采用原ZabbixServer宿主机IP地址列表,并进入步骤(4.7);(4.7)形成最终的ZabbixServer主机列表,为ServerList;本文档来自技高网
...
一种动态分发Zabbix监控数据的系统及其管理方法

【技术保护点】
一种动态分发Zabbix监控数据的系统,包括管理节点和服务节点,其特征在于:各节点通过网线与交换机连接,所述管理节点上设置有Zabbix Server信息数据库服务模块和流程管理模块。

【技术特征摘要】
1.一种动态分发Zabbix监控数据的系统,包括管理节点和服务节点,其特征在于:各节点通过网线与交换机连接,所述管理节点上设置有ZabbixServer信息数据库服务模块和流程管理模块。2.根据权利要1所述的一种动态分发Zabbix监控数据的系统,其特征在于:所述服务节点又包含Server节点和Agent节点,所述Server节点上设置有ZabbixServer容器、ZabbixServer部署模块、ZabbixAgent容器和ZabbixAgent部署模块,所述Agent节点上设置有ZabbixAgent容器和ZabbixAgent部署模块。3.一种如权利要求1所述的动态分发Zabbix监控数据系统的管理方法,其特征在于,具体步骤如下:(1)首先管理节点和所有服务节点均通过网线与交换机连接;(2)在管理节点上部署ZabbixServer信息数据库服务模块和流程管理模块,通过流程管理模块对监控数据分发进行动态的控制;(3)在服务节点中的Server节点上部署ZabbixServer容器镜像、ZabbixServer部署模块;(4)在服务节点中的Server节点和Agent节点上都部署ZabbixAgent容器镜像、ZabbixAgent部署模块。4.根据权利要求3所述的一种动态分发Zabbix监控数据系统的管理方法,其特征在于:所述步骤(2)中的流程管理模块的具体管理方法步骤如下:(2.1)由用户或者上层应用指定ZabbixServer和ZabbixAgent宿主机列表作为流程管理模块输入,这个列表可以随时动态变化;(2.2)根据上述(2.1)列表遍历ZabbixServer宿主机;(2.3)分别登陆ZabbixServer宿主机;(2.4)在每个宿主机上调用ZabbixServer部署模块;(2.5)根据上述(2.1)列表遍历ZabbixAgent宿主机;(2.6)分别登陆ZabbixAgent宿主机;(2.7)在每个宿主机上调用ZabbixAgent部署模块;(2.8)实现ZabbixAgent容器正确的把监控数据发送到所有ZabbixServer服务中,用户可以通过浏览器访问ZabbixServer提供的http服务对集群系统进行监控管理。5.根据权利要求3所述的一种动态分发Zabbix监控数据系统的管理方法,其特征在于:所述步骤(3)中的Zabb...

【专利技术属性】
技术研发人员:金友兵段秀勇
申请(专利权)人:南京卓盛云信息科技有限公司
类型:发明
国别省市:江苏,32

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

1