AFC系统的分布式监视和网络监视开源解决方案
2014-10-21赵晗郭瑞丽
赵晗 郭瑞丽
摘 要:作者介绍和实现了轨道交通行业AFC系统采用的基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,通过布署及二次开发Zabbix,实现了对服务器性能、网络连接情况、用户安全认证、email等通知功能。试点实验证明了该方案的有效性和可行性。
关键词:AFC;分布式系统监视;用户安全认证;Zabbix
中图分类号:TP393.06
轨道交通行业AFC系统是一个系统集成项目,它基于计算机技术、网络技术、现代通信技术、自动控制技术、非接触IC卡技术、大型数据库技术、机电一体化技术、模式识别技术、传感技术、精密机械技术等多项高新技术于一体,从而实现轨道交通售票、检票、计费、收费、统计、清分、管理等全过程的自动化系统。它完成了地铁乘客持票卡进站出站的功能,是轨道交通行业不可缺失的一部分,AFC系统主要由SC和LC两个子系统组成,层面上可划分为五层,如图1所示:
第五层票卡直接面向乘客,采用对称算法加解密技术实现读写器与卡之间的安全认证,第四层作为终端设备为乘客提供购票、查询、进出站功能,第三层车站计算机(SC)包括服务器、工作站、三层交换机组成一个车站級的局域网,第二层线路中央计算机系统(LC)包括LC服务器、LC工作站、磁盘阵列等硬件设备以及相应软件,在实际运营过程中,服务器的正常运行尤为重要,AFC系统的LC服务端承载着把终端设备TVM、TCM、AGM基础数据传至第一层轨道交通“一票通”清分系统的功能。因此,如何主动预防故障的发生,直观方便的查看监控数据,回溯寻找事故发生时系统的问题和报警情况成为一个不容忽视的重要课题。在向行业内征询意见并通过实践证明,Zabbix可提供对分布式系统监视以及网络监视功能,监控到LC系统的配置文件是否修改、CPU负荷、内存使用、磁盘使用、网络状况、端口监视、日志监视等方面。服务端Zabbix server可以通过SNMP,Zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。客户端Zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存、CPU等信息的收集。Zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X,Tru64/OSF1,Windows NT4.0,Windows 2000/2003/XP/Vista等系统之上。
本文介绍了在轨道交通AFC专业基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,该方案主要用Zabbix开源监控软件实现,通过配置监控策略,更深入的进行二次开发,实现了对主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控,采用多种告警方式、详细的报表图表绘制等方面直观的呈现眼前。
1 Zabbix安装
本次实验在AFC培训环境下进行,首先在虚拟机的centOS6.5系统上安装了Zabbix server服务端,AFC培训环境下的LC服务器上安装了Zabbix agent,监控了3台设备,一台window系统,两台Linux系统,CPU使用率基本保持在10%以下,内存剩余400M以上安装完成后,对监控策略进行了基本配置。
(1)安装前的准备。用root用户安装Zabbix依赖的包;(2)安装Zabbix依赖的包。net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel;(3)服务端配置lamp 使用环境;(4)使用sed命令修改配置文件;(5)开启httpd,mysqld服务;(6)服务端server的安装;(7)导入Zabbix数据库;(8)拷贝service启动脚本;(9)配置Zabbix_server.conf服务端文件。路径:/etc/Zabbix/Zabbix_server.conf;修改主要参数即可正常工作;DBName=Zabbix数据库名称;DBUser=Zabbix数据库用户;DBPassword=Zabbix 数据库密码;(10)配置Zabbix_agentd.conf文件;(11)拷贝网页文件到apache目录;(12)设置Zabbix开机启动;(13)通过web页面配置Zabbix,如图2所示。
2 监控配置
Zabbix服务端布署完成后需要添加被监控的客户端,客户端的布署和服务端大同小异,本实验在一台windows系统和两台centeos6.5系统上进行了安装,安装完成后通过访问服务端web页面方式对客户端的监控项进行配置,本次主要采用已有的模板,具体步骤:
2.1 添加模板。Configuration->Templates->创建模板,创建模板后,在系统配置->主机->模板下找到刚创建的Template App Zabbix Agent模板,修改相关的监控项、触发器、图形显示等信息,使满足要求后连接到相关的主机即可。
2.2 添加监控项。监控项是监控的基本元素,每一个监控项对应一个被监控端的采集值。在系统配置->主机界面,能看到每个主机所包含的监控项总数,点击对应主机的监控项,可以看到具体的每个监控项信息,这些监控项可以引用自模板,也可以自己创建。Zabbix自带非常多的监控采集项及方法,基本能满足当前所有监控功能,这些都包含在监控项的监控项key中。
2.3 添加触发器。当监控项采集值满足触发器的触发条件时,触发器就会触发。每一个触发器必须对应一个监控项,但一个监控项可以对应多个触发器。同样,通过点击Configuration->Hosts->trigger中某个触发器的名字,可以修改触发器的属性。(注意:引用自模板的触发器触发值是不能单独修改的,必须在模板中修改,或是复制一个同样的触发器再修改,然后禁用掉之前的)如图3所示:
3 安装配置故障解决
Zabbix安装过程中问题比较多,一是环境,虚拟机内安装很容易出现如下载的包签名比较旧等软件包不兼容问题。二是配置,Zabbix说明文档在实际操作过程中并不是一步就位,会碰到各种报错,以下采集了几种典型的例子:
3.1 安装时碰到了无法连接网络,打不开10.200.25.197网页。
分析原因:考虑到是在centOS6.5虚拟机里安装,可能跟防火墙有关系。解决措施:通过/etc/init.d/iptables status查看防火墙,打开centOS6.5->系统->管理->防火墙->选中WWW(HTTP)。
3.2 用tail–f跟踪日志时发现报usr/Zabbix/sbin/Zabbix_server没有找到路径的错。
分析原因:路径不对。解决措施:通过手动修改vim /etc/init.d/Zabbix_server该文件里的路径解决。
3.3 报/usr/local/sbin/Zabbix_agentd not installed!
分析原因:没有找到该文件,应该是配置文件里该路径写的不对。解决措施:修改了etc/init.d/Zabbix_agentd该文件里Zabbix_bin里面的路径为实际的/usr/local/sbin/Zabbix_agentd.
3.4 报Zabbix_server is not running!the information displayed may not be current。
分析原因:服务没有启动,可能是配置项不对。解决措施:修改了/etc/selinux/config文件中的SELINUX=disabled,使用setenforce 0,刷新web页面后正常。
4 试点结果
本解决方案采用Zabbix开源软件进行布署及二次开发,目前可以监控LC服务器主机的各项性能指标以及网络的连接、MAP图情况。图4展示被监控的两台客户端,其中一台window系统,一台Linux系统。采用Zabbix固定模板,对简单项进行监控.
5 结束语
本文介绍了轨道行业AFC系统基于分布式监视和网络监视开源解决方案。方案利用Zabbix开源软件,实现了对AFC系统服务器和网络的监控,能第一时间预防故障发生,为地铁正常运营提供了坚实的保障,试点实验论证了该方案的有效性和可行性。
参考文献:
[1]Rihards Olups,Zabbix 1.8 Network Monitoring,Packt PublishingLimited,2010,03,31.
[2]Andrea Dalle Vacche,Stefano Kewan Lee.Mastering Zabbix,Packt Publishing Limited.
[3]吳兆松.Zabbix企业级分布式监控系统[M].北京:电子工业出版社出版,2014.
[4]姚仁捷.Zabbix监控系统深度实践[M].北京:电子工业出版社出版,2014.
作者简介:赵晗(1984-),男,硕士研究生,研究方向:项目管理;郭瑞丽(1983-),女,硕士研究生,研究方向:信息化项目管理。
作者单位:郑州市轨道交通有限公司运营分公司,郑州 450000