趙晗 郭瑞麗
摘 要:作者介紹和實現(xiàn)了軌道交通行業(yè)AFC系統(tǒng)采用的基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案,通過布署及二次開發(fā)Zabbix,實現(xiàn)了對服務(wù)器性能、網(wǎng)絡(luò)連接情況、用戶安全認證、email等通知功能。試點實驗證明了該方案的有效性和可行性。
關(guān)鍵詞:AFC;分布式系統(tǒng)監(jiān)視;用戶安全認證;Zabbix
中圖分類號:TP393.06
軌道交通行業(yè)AFC系統(tǒng)是一個系統(tǒng)集成項目,它基于計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、現(xiàn)代通信技術(shù)、自動控制技術(shù)、非接觸IC卡技術(shù)、大型數(shù)據(jù)庫技術(shù)、機電一體化技術(shù)、模式識別技術(shù)、傳感技術(shù)、精密機械技術(shù)等多項高新技術(shù)于一體,從而實現(xiàn)軌道交通售票、檢票、計費、收費、統(tǒng)計、清分、管理等全過程的自動化系統(tǒng)。它完成了地鐵乘客持票卡進站出站的功能,是軌道交通行業(yè)不可缺失的一部分,AFC系統(tǒng)主要由SC和LC兩個子系統(tǒng)組成,層面上可劃分為五層,如圖1所示:
第五層票卡直接面向乘客,采用對稱算法加解密技術(shù)實現(xiàn)讀寫器與卡之間的安全認證,第四層作為終端設(shè)備為乘客提供購票、查詢、進出站功能,第三層車站計算機(SC)包括服務(wù)器、工作站、三層交換機組成一個車站級的局域網(wǎng),第二層線路中央計算機系統(tǒng)(LC)包括LC服務(wù)器、LC工作站、磁盤陣列等硬件設(shè)備以及相應(yīng)軟件,在實際運營過程中,服務(wù)器的正常運行尤為重要,AFC系統(tǒng)的LC服務(wù)端承載著把終端設(shè)備TVM、TCM、AGM基礎(chǔ)數(shù)據(jù)傳至第一層軌道交通“一票通”清分系統(tǒng)的功能。因此,如何主動預(yù)防故障的發(fā)生,直觀方便的查看監(jiān)控數(shù)據(jù),回溯尋找事故發(fā)生時系統(tǒng)的問題和報警情況成為一個不容忽視的重要課題。在向行業(yè)內(nèi)征詢意見并通過實踐證明,Zabbix可提供對分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能,監(jiān)控到LC系統(tǒng)的配置文件是否修改、CPU負荷、內(nèi)存使用、磁盤使用、網(wǎng)絡(luò)狀況、端口監(jiān)視、日志監(jiān)視等方面。服務(wù)端Zabbix server可以通過SNMP,Zabbix agent,ping,端口監(jiān)視等方法提供對遠程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺上??蛻舳薢abbix agent需要安裝在被監(jiān)視的目標服務(wù)器上,它主要完成對硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存、CPU等信息的收集。Zabbix agent可以運行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X,Tru64/OSF1,Windows NT4.0,Windows 2000/2003/XP/Vista等系統(tǒng)之上。
本文介紹了在軌道交通AFC專業(yè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案,該方案主要用Zabbix開源監(jiān)控軟件實現(xiàn),通過配置監(jiān)控策略,更深入的進行二次開發(fā),實現(xiàn)了對主機的性能監(jiān)控、網(wǎng)絡(luò)設(shè)備性能監(jiān)控、數(shù)據(jù)庫性能監(jiān)控、FTP等通用協(xié)議監(jiān)控,采用多種告警方式、詳細的報表圖表繪制等方面直觀的呈現(xiàn)眼前。
1 Zabbix安裝
本次實驗在AFC培訓(xùn)環(huán)境下進行,首先在虛擬機的centOS6.5系統(tǒng)上安裝了Zabbix server服務(wù)端,AFC培訓(xùn)環(huán)境下的LC服務(wù)器上安裝了Zabbix agent,監(jiān)控了3臺設(shè)備,一臺window系統(tǒng),兩臺Linux系統(tǒng),CPU使用率基本保持在10%以下,內(nèi)存剩余400M以上安裝完成后,對監(jiān)控策略進行了基本配置。
(1)安裝前的準備。用root用戶安裝Zabbix依賴的包;(2)安裝Zabbix依賴的包。net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel;(3)服務(wù)端配置lamp 使用環(huán)境;(4)使用sed命令修改配置文件;(5)開啟httpd,mysqld服務(wù);(6)服務(wù)端server的安裝;(7)導(dǎo)入Zabbix數(shù)據(jù)庫;(8)拷貝service啟動腳本;(9)配置Zabbix_server.conf服務(wù)端文件。路徑:/etc/Zabbix/Zabbix_server.conf;修改主要參數(shù)即可正常工作;DBName=Zabbix數(shù)據(jù)庫名稱;DBUser=Zabbix數(shù)據(jù)庫用戶;DBPassword=Zabbix 數(shù)據(jù)庫密碼;(10)配置Zabbix_agentd.conf文件;(11)拷貝網(wǎng)頁文件到apache目錄;(12)設(shè)置Zabbix開機啟動;(13)通過web頁面配置Zabbix,如圖2所示。
2 監(jiān)控配置
Zabbix服務(wù)端布署完成后需要添加被監(jiān)控的客戶端,客戶端的布署和服務(wù)端大同小異,本實驗在一臺windows系統(tǒng)和兩臺centeos6.5系統(tǒng)上進行了安裝,安裝完成后通過訪問服務(wù)端web頁面方式對客戶端的監(jiān)控項進行配置,本次主要采用已有的模板,具體步驟:
2.1 添加模板。Configuration->Templates->創(chuàng)建模板,創(chuàng)建模板后,在系統(tǒng)配置->主機->模板下找到剛創(chuàng)建的Template App Zabbix Agent模板,修改相關(guān)的監(jiān)控項、觸發(fā)器、圖形顯示等信息,使?jié)M足要求后連接到相關(guān)的主機即可。
2.2 添加監(jiān)控項。監(jiān)控項是監(jiān)控的基本元素,每一個監(jiān)控項對應(yīng)一個被監(jiān)控端的采集值。在系統(tǒng)配置->主機界面,能看到每個主機所包含的監(jiān)控項總數(shù),點擊對應(yīng)主機的監(jiān)控項,可以看到具體的每個監(jiān)控項信息,這些監(jiān)控項可以引用自模板,也可以自己創(chuàng)建。Zabbix自帶非常多的監(jiān)控采集項及方法,基本能滿足當(dāng)前所有監(jiān)控功能,這些都包含在監(jiān)控項的監(jiān)控項key中。
2.3 添加觸發(fā)器。當(dāng)監(jiān)控項采集值滿足觸發(fā)器的觸發(fā)條件時,觸發(fā)器就會觸發(fā)。每一個觸發(fā)器必須對應(yīng)一個監(jiān)控項,但一個監(jiān)控項可以對應(yīng)多個觸發(fā)器。同樣,通過點擊Configuration->Hosts->trigger中某個觸發(fā)器的名字,可以修改觸發(fā)器的屬性。(注意:引用自模板的觸發(fā)器觸發(fā)值是不能單獨修改的,必須在模板中修改,或是復(fù)制一個同樣的觸發(fā)器再修改,然后禁用掉之前的)如圖3所示:
3 安裝配置故障解決
Zabbix安裝過程中問題比較多,一是環(huán)境,虛擬機內(nèi)安裝很容易出現(xiàn)如下載的包簽名比較舊等軟件包不兼容問題。二是配置,Zabbix說明文檔在實際操作過程中并不是一步就位,會碰到各種報錯,以下采集了幾種典型的例子:
3.1 安裝時碰到了無法連接網(wǎng)絡(luò),打不開10.200.25.197網(wǎng)頁。
分析原因:考慮到是在centOS6.5虛擬機里安裝,可能跟防火墻有關(guān)系。解決措施:通過/etc/init.d/iptables status查看防火墻,打開centOS6.5->系統(tǒng)->管理->防火墻->選中WWW(HTTP)。
3.2 用tail–f跟蹤日志時發(fā)現(xiàn)報usr/Zabbix/sbin/Zabbix_server沒有找到路徑的錯。
分析原因:路徑不對。解決措施:通過手動修改vim /etc/init.d/Zabbix_server該文件里的路徑解決。
3.3 報/usr/local/sbin/Zabbix_agentd not installed!
分析原因:沒有找到該文件,應(yīng)該是配置文件里該路徑寫的不對。解決措施:修改了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。
分析原因:服務(wù)沒有啟動,可能是配置項不對。解決措施:修改了/etc/selinux/config文件中的SELINUX=disabled,使用setenforce 0,刷新web頁面后正常。
4 試點結(jié)果
本解決方案采用Zabbix開源軟件進行布署及二次開發(fā),目前可以監(jiān)控LC服務(wù)器主機的各項性能指標以及網(wǎng)絡(luò)的連接、MAP圖情況。圖4展示被監(jiān)控的兩臺客戶端,其中一臺window系統(tǒng),一臺Linux系統(tǒng)。采用Zabbix固定模板,對簡單項進行監(jiān)控.
5 結(jié)束語
本文介紹了軌道行業(yè)AFC系統(tǒng)基于分布式監(jiān)視和網(wǎng)絡(luò)監(jiān)視開源解決方案。方案利用Zabbix開源軟件,實現(xiàn)了對AFC系統(tǒng)服務(wù)器和網(wǎng)絡(luò)的監(jiān)控,能第一時間預(yù)防故障發(fā)生,為地鐵正常運營提供了堅實的保障,試點實驗論證了該方案的有效性和可行性。
參考文獻:
[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企業(yè)級分布式監(jiān)控系統(tǒng)[M].北京:電子工業(yè)出版社出版,2014.
[4]姚仁捷.Zabbix監(jiān)控系統(tǒng)深度實踐[M].北京:電子工業(yè)出版社出版,2014.
作者簡介:趙晗(1984-),男,碩士研究生,研究方向:項目管理;郭瑞麗(1983-),女,碩士研究生,研究方向:信息化項目管理。
作者單位:鄭州市軌道交通有限公司運營分公司,鄭州 450000