分布式Zabbix服务器监控研究

分布式Zabbix服务器监控研究

(中国民用航空中南地区空中交通管理局,广东广州510000)

摘要:由于当前各领域不断增加服务器的数目,要想使得各个服务器与各种应用服务正常运行,其技术难度也变得愈发的大。与Cacti、Nagios监控系统相较而言,Zabbix可拓展性的性能更高,其与网络中心机房的监测环境可以更好地进行适应。因此本文在将分布式网络监控系统予以配置完成的过程中对Zabbix进行了应用,将对Linux与Windows平台中核心应用服务的监测予以实现。同时,对DNS应用、信息库及WEB网络进行了重点的配置与监测,最后将网络中心机房的运用实例予以给出。

关键词:分布式;Zabbix;分布式服务器

1引言:

当前,Cacti、Nagios是使用频率最高并且认可度也最高的开源网络与服务器监控系统。但Agent信息收集方式是Cacti不提供支持的,这也造成了其对服务器状态的监控不够全面的问题。而Nagios的信息收集方式运用了插件的形式,因此其对各种各样的插件有大量的需求,所以这使得其操作性的困难度较高。而Zabbix则对IPMI、agent及SNMP等多类信息收集方式进行了集成,使得其在各种各样的环境中都能较为方便地进行使用,相较于上述两种监测系统而言,其图形化显示与监测功能更为完善。

通过分布式Zabbix网络监控系统来将网络维护与监测的能力予以增强。Zabbix属于开源分布式网络监测解决方案,其集成度较高。Zabbix能够对各种大型与小型的分布式环境进行监测,同时在信息库中把全部的配置数据、趋势信息及历史信息进行存储。服务端会执行Zabbix全部的逻辑运算,基本上不会影响被监测的对象。

2分布式Zabbix网络监测系统介绍

2.1Zabbix功能

先进的可视化功能、预警功能及监控功能都是Zabbix所具备的,其能够对大量的网络参数与服务器的完整程度与运行的正常与否进行监测,打印机、交换机、路由器及服务器等设备均包含其中。以下功能是Zabbix可提供支持的:

1、对自动发现功能提供支持,能够自动将被监测网段新增添的服务器与其余网络设备予以发现;

2、分布式监测是Zabbix系统所使用的,并且其可以借助Web前端将集中式管理予以实现。

3、Zabbix的信息收集架构通过C/S框架来实现,对陷阱及轮询这两类信息收集机制提供支持。

4、在FreeBSD、HP-UX、AIX、Solaris及Linux等UNIX操作系统上Zabbix服务器均能够进行部署;

5、将高性能的agent程序予以提供对以对监测目标的信息进行收集,在Windows2003、OS-X、HP-UX、Solaris及Linux等使用频率较高的操作系统中均能够部署agent客户端。

2.2Zabbix部署框架

Zabbixproxy服务器、Web服务器、信息库服务器及Zabbix服务器等是Zabbix监控系统中的主要构成部分。

整个系统的关键构成部分为Zabbix服务器,对于系统全部服务器的历史信息、系统配置数据及监控数据等都是借助它来进行管理的。负责对储存系统所有配置数据及Zabbix系统收集到的监测信息进行储存的是信息库服务器。IBMDB25、Oracle、SQLite、PostagreSQL及Mysql这五类信息库是Zabbix提供支持的。PHP、Webserver及Apache是Web服务器能够运用的,,使得用户能够在任意地区来查看与配置Zabbix服务器的监测状态。Zabbix服务器的远距离服务器的性能信息可由Zabbixpoxy予以代替,这样就能将单一Zabbix服务器的高负载予以降低。在被监测目标的主机上部署Zabbixagentd,可以对主机的应用程序与资源进行监测,同时在Zabbix服务器中上传采集到的资源报告。

3分布式Zabbix监测部署

服务器端口与应用服务是Zabbix能够进行监测的。本文具体阐述说明了具有代表性的DNS服务、信息库服务及Web服务监测方法来对Zabbix服务器应用的特性与使用方法进行了比较说明。

3.1实现对Web服务器监测

为了对Web服务器的正确性、高性能及可用性提供保障,必须监测Web服务器的运行状态。以下操作是通过Zabbix来监测Web服务器时必须完成的。

将Webpages监测增添于Web服务器中,创建方式为:configure至Web至Createscenario,对多个页面的监测通过架空Web页面来同时进行。而网页URL或IP地址则能够完成Webpages的监测,其对Web页面的页面访问失败个数及平均下载速率等进行监测。可以将配置预警条件与触发器增添于Webpages监测项中。对页面的下载速率即是通过触发器来进行监测的,并且其还能对服务器的网络环境及性能高低进行评估;要想对网页访问的正常与否进行监测,就需要将网页返回状态码的触发器进行增添并开启监测。

为了对Web服务器的正常访问提供保障,必须对服务器的处于lisiting状态、80端口打开及TCP连接的正常进行优先保证。以下监测项是对Web服务器端口及服务进行监测必须增添的。

1、在对服务器80端口的监听状态正常与否进行监测时,应当对net.tcp.listen[80]进行应用,当返回的值是零时,表示80端口的监听状态异常;当返回值为1时,表示80端口正在进行监听。

2、当对服务器80端口能否进行TCP连接进行检测时,应当对net.tcp.listen[IP,80]进行应用,对于服务器连通性的检验即是通过这个测试来完成的。当返回的IP参数值为零时,表明服务器80端口与TCP的连接无法完成;当返回的IP参数值为1时,表明80端口与TCP的连接正在进行。

3、服务器http服务的可用与否的监测通过net.tcp.listen[http,IP,80]的应用来实现。

4、Web服务器有关的核心服务状态的监测与提供通过service_state[service]的应用来实现。

5、Windows性能计数器的监测通过perf_counter[counter,<interval>]的应用来实现。计数器的路径是“counter”参数所表示的,“interval”参数表示的是一个整数,放回计数器一定时间段的平均值即是用其予以表示。

3.2实现对信息库服务监测

以下策略是在Windows环境下对microsoftSQLserver进行监测所使用的:

1、将net.tcp.listen[1433]监测项增添完成,对MicrosoftSQL信息库所需端口的Listening状态进行监测;

2、将net.tcp.port[Ip,1433]监测项增添完成,对能否与1433端口进行连接实施监测;

3、对service_state[MSSLSERVER]进行应用来实现MicrosoftSQL信息库服务状态的监测;

4、对MicrosoftSQL信息库有关的Windows性能计数器及perf_counter[counter,<interval>]进行应用,有关性能值与服务状态均是其中的内容。

3.3实现对DNS服务监测

大学校园计算机网络中最为关键的一项服务即是DNS,用户能够对互联网进行较为方便与高效的访问,同时定义内部域名的作用也予以提供。外部脚本监测DNS服务是本文中所应用的。

第一步,为了对脚本程序进行执行需要将额外主机增添完成,“127.0.0.1”是主机IP的地址,如此就能在Zabbix服务器中运行脚本程序。

第二部,在用户有执行权限的目录中放置脚本程序dnscheck.sh。若DNS正常,则返回参数值为1,否则返回0。

接着对Zabbix_agentd配置文件进行修改。脚本需要长时间的运行,因此要对Timeout=20进行设置,当执行脚本程序的时间超过timeout的值后就会终止其运行。然后对用户自定义参数UserParameter进行配置。

最后,将Zabbix_agentd类型监测项创建于DNS主机中。

4在网络中心机房的应用

海量的服务器被部署于网络中心机房中,因此对于硬件本身与应用服务器的正常运行需要花费大量的人力与金钱。因此部署了Zabbix监测系统用于服务器的运行与维护。Zabbix系统在同一台dell服务器中部署了apacheweb服务、mysql信息库及Zabbix服务器。在网络中心机房中部署的全部信息备份服务器、FTP服务器、DNS服务器、信息库服务器及Web服务器都在Zabbix的监测之中。805个监测项在Zabbix系统中予以完成,同时对250个触发器进行了部署,将邮件与飞信预警功能予以实现。

4.1网络中心机房监测实例

在网络中心机房中需要维护与管理海量的应用服务器,管理员如果仅仅对某一个工具进行使用是不可能在短时间内将大量的工作任务完成的。因此,为了将这个问题予以解决,网络中心对分布式Zabbix网络监测系统进行了部署以对服务器的物理状态及应用服务的状态进行监测。并且Zabbix的可拓展性非常高,自定义的监测参数能够借助脚本程序予以实现。设备自动发现功能也是Zabbix提供的,它能够对被增添到监测网段的服务器与其他设备进行识别。灵活的用户权限配置功能也是Zabbix所具备的,其能够对用户针对主机的禁止权限、只读权限及读写权限进行自定义。

图形化的显示功能也是Zabbix系统所集成的,其能够借助图形来将收集到的信息显示出来,使得用户更为方便地查看到有关数据。WindowsSQLServer信息库服务在七天时间内的实时用户链接数量的显示具体可见图4。而名医网网站在一个小时内的页面下载速率显示于图5中,通过对下载速率进行观测能够对目前用户的网站体验及Web服务器的性能进行评估。借助图像显示的信息,管理员能够对应用服务的运行状态与问题的存在有一个较好的判断。

4.2预警策略的实现

在监测完成了服务器的各类数据后,还应将预警机制增添完成,如此当有异常出现于服务器的物理状态或运行服务中时,系统才能够及时地进行预警,这样管理员也能够及时通过有关措施来将为题予以解决。为了将预警功能实现,必须将触发器监测项目返回值增添于主机中。当触发了触发器后,预定的预警动作就会被执行。网络中心具体的使用过程基于服务器问题的严重等级来对飞信与邮件的方式进行选取使用。当无法访问等重大问题出现于服务器中时,系统就会对飞信方式进行使用,进而能够在最快时间内通知管理员并进行有关措施。当有磁盘空间不足的问题出现时,系统的预警方式即是通过邮件来完成。

图4信息库七天内连接数

图5名医网页面1小时内下载速率

5结束语

为了与持续扩大的网络发展规模及服务器扩增数量相适应,必须相应地将网络运行监测的管理工作予以增强。在网络中心机房环境中,相较于Cacti及Nagios等监测系统而言,Zabbix系统具有更高的可拓展性及性能。本文对Zabbix网络监测系统的部署框架与主要功能进行具体阐述。通过对Zabbix系统的具体运用来将DNS、信息库及Web等关键应用服务监测方法的研究工作予以展开。结果表明,在网络中心机房中,Zabbix监测系统的监测效果十分显著。因此,对于Zabbix监测系统的应用,能够较大程度地对网络中心机房服务器的正常运行进行保证,其意义十分重大。

参考文献

[1]KeramatHasani,SvetlanaA.Kravchenko,FrankWerner.MakespanMinimizationforaTwo-MachineSchedulingProblemwithaSingleServer[J].IFACProceedingsVolumes,2013,46(9)..

[2]孙德田.基于分布式服务器结构的VOD系统数据库的设计[J].科学技术创新,2017(31):142-143.

[3]倪帅,唐丽娜.集中分布式服务器-客户端架构在散货码头的应用[J].起重运输机械,2017(09):115-118.

[4]孙乔,邓卜侨,王志强,裴旭斌.一种基于分布式服务器集群的可扩展负载均衡策略技术[J].电信科学,2017,33(09):190-196.

[5]许珂乐,陈妮.基于Pomelo分布式服务器后台管理的人事工资系统设计与实现[J].现代电子技术,2017,40(16):60-62.

[6]张向京,苟景卫,张昀,李晓芸,刘杰,李华.DSA服务器架构应用及效果评价[J].石油化工应用,2016,35(04):129-132.

[7]郭峰,曾培峰.基于分布式服务器的视频监视系统[J].计算机与现代化,2015(06):74-77+100.

[8]KeramatHasani,SvetlanaA.Kravchenko,FrankWerner.Minimizingtotalweightedcompletiontimeapproximatelyfortheparallelmachineproblemwithasingleserver[J].InformationProcessingLetters,2014,114(9)..

[9]李玉玲,张东旭.虚拟现实环境下的分布式服务器架构策略研究[J].计算机工程与应用,2016,52(11):11-16+37.

[10]ChuanyiLuo,KailiXiang,MiaomiaoYu,YinghuiTang.RecursivesolutionofqueuelengthdistributionforGeo/G/1queuewithsingleservervacationandvariableinputrate[J].ComputersandMathematicswithApplications,2011,61(9).

[11]AnZhang,HongjunWang,YongChen,GuangtingChen.Schedulingjobswithequalprocessingtimesandasingleserveronparallelidenticalmachines[J].DiscreteAppliedMathematics,2016,213.

[12]许登元,王鹏.分布式实时游戏服务器集群架构设计[J].微电子学与计算机,2014,31(07):105-108+112.

标签:;  ;  ;  

分布式Zabbix服务器监控研究
下载Doc文档

猜你喜欢