邊志龍
摘要 利用Nagios構(gòu)建應用服務器監(jiān)控平臺,可以實現(xiàn)對空管自動化系統(tǒng)中關(guān)鍵應用和服務器硬件指標的可視化監(jiān)控,本文結(jié)合SKYNET-X空管自動化中的NETSUP重點介紹Nagios平臺及插件Check_mk的基本原理及配置。
【關(guān)鍵詞】NETSUP Nagios 網(wǎng)絡(luò)服務監(jiān)控
隨著空管技術(shù)的快速發(fā)展,空管自動化己成為空中交通管制服務中不可缺少的一部分。該系統(tǒng)主要實時處理引接的各路雷達、ADS-B以及各類監(jiān)視信號,并將處理完的監(jiān)視信號與飛行計劃相關(guān)聯(lián),最終形成的系統(tǒng)航跡顯示到管制終端,使得管制人員能夠掌握航空器的具體方位、高度、速度以及預計飛行方向等內(nèi)容,實時掌握空中的交通動態(tài)。
“Skynet-x”空管自動化是我局建設(shè)第一套自動化。該系統(tǒng)是一套結(jié)構(gòu)復雜、功能冗余設(shè)計、高度集成的空中交通管理系統(tǒng)。系統(tǒng)采用分布式結(jié)構(gòu)設(shè)計,系統(tǒng)內(nèi)部硬件采用了大量的服務器、交換機、路由器以及終端工作站。如果可以通過某種軟件工具實時監(jiān)控各個硬件設(shè)備的CPU、硬盤使用率、網(wǎng)絡(luò)連接狀態(tài)以及其他運行參數(shù)值,這樣可以方便維護人員實時的掌握系統(tǒng)整體運行狀態(tài),極大的提高系統(tǒng)安全運行。而Nagios網(wǎng)絡(luò)監(jiān)視工具提出了很好的解決方案。Skynet-x空管自動化中NETSUP便是基于Nagios構(gòu)建,實現(xiàn)對自動化系統(tǒng)的實時監(jiān)控。
1 Nagios的簡介
Nagios是一個用來監(jiān)視系統(tǒng)和網(wǎng)絡(luò)的開源應用軟件,它通常運行于一個主服務器上,這個服務器運行Linux或Unix操作系統(tǒng)。Nagios的功能是監(jiān)控服務和主機,但是它自身并不包括這部分功能,所有的監(jiān)控、檢測功能都是通過各種插件來完成的。當被監(jiān)控對象出現(xiàn)異常,Nagios就是及時給管理員告警。它是一個基于TCP/IP協(xié)議的軟件包,包含有Nagios主程序和它的各個插件,配置非常靈活,可以監(jiān)視的項目很多,也可以通過自定義shell腳本進行監(jiān)控服務。
2 Nagios監(jiān)控的原理
Nagios軟件安裝在一臺獨立的服務器上運行,這臺服務器稱為監(jiān)控中心,監(jiān)控中心服務器可以采用Linux或Unix操作系統(tǒng);每一臺被監(jiān)視的硬件主機或服務都運行一個與監(jiān)控中心服務器進行通信的Nagios軟件后臺程序,也可以理解為Agent或插件均可。監(jiān)控中心服務器讀取配置文件中的指令與遠程的守護程序進行通信,并且指示遠程的守護程序進行必要的檢查。雖然Nagios軟件必須在Linux或Unix操作系統(tǒng)上運行,但是遠程被監(jiān)控的機器可以是任何能夠與其進行通信的主機,根據(jù)遠程主機返回的應答,Naigos將依據(jù)配置進行回應接著Nagios將通過本地的機器進行測試,如果檢測返回值不正確,Nagios將通過一種或多種方式報警。
3 Nagios在空管自動化系Netsup中的應用
Netsup在Skynet-x空管自動化系統(tǒng)中起著對整個系統(tǒng)運行的監(jiān)視作用。Netsup主要基于以下四個Linux/Unix平臺上的開源軟件所構(gòu)建,這四個軟件分別是Nagios、Check_mk、Nagvis以及Httpd2。這幾個軟件的相互關(guān)系如圖l所示。
Nagios是整個監(jiān)控系統(tǒng)的核心程序。Check mk是一個通用目的的nagios數(shù)據(jù)采集插件。它使用一種全新的方式從操作系統(tǒng)和網(wǎng)絡(luò)組件來獲取相關(guān)數(shù)據(jù)。即check mk是對nagios的增強。Nagvis則是nagios的一個可視插件。通過nagvls,使用者可以獲得可視和可聽的友好界面。Httpd2是一個開放源碼的網(wǎng)頁服務器,可以在多數(shù)的計算機系統(tǒng)中運行。它快速、可靠并且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。即nagvls是利用nagios和check mk所提供的服務進行數(shù)據(jù)的圖形化處理并通過httpd2加以顯示,達到可視化監(jiān)控的目的。本文主要分析nagios和check mk在主服務器上的安裝。
3.1 Nagios的安裝
3.1.1 Nagios的運行環(huán)境
Nagios運行的操作系統(tǒng)環(huán)境需要Linux.C編譯器。若平臺的安裝環(huán)境已經(jīng)安裝完成,Apache選擇讓操作系統(tǒng)自行安裝,同時為了系統(tǒng)的正常運行安裝以下軟件:
#yum insrall gcc
#yum install glibcglibc-commom
#yum install gdgd-devel
3.1.2 Nagios安裝
Nagios安裝命令如下:
#tar-zxvf Nagios-2.9.tar.gz
#./configure -p refix= /usr/localfNagios
#useraddNagios
#mkdir /usr/localfNagios
#chownNagiosNagios /usr/localf Nagios
#make all
#make install
#make install-inir
#make install-comm and mode
#make install-config
#cd /usr,localfNagios
在此路徑下查看etc、bin、sbin、share、var這五個目錄是否存在,若存在則可以表明程序已經(jīng)正確被安裝到系統(tǒng)了。其中這五個目錄功能簡要說明如表1所示。
3.2 Check_mk的安裝
由于check mk是由python語言編寫的,所以必須要準備phython的環(huán)境,這里需要注意的是python最低版本為2 3,但是與checkmk不兼容,所以盡量選擇安裝2 6 6以上的版本。若安裝環(huán)境已經(jīng)準備好便可以安裝checkmk程序了。安裝命令如下:
#cd /tmp/ #wget http://mathias-kettner.com/download/check_mk-1.2.4p5.tar.gz
#rar- zxvfp check_mk-1.2.4p5.tar.gz
#cd checkj mk-1.2.4
#/setup.sh
以上命令執(zhí)行完成后若沒有錯誤,則check mk插件己順利安裝完成。若要對整個系統(tǒng)監(jiān)控這還遠不夠,還需要在終端安裝客戶端程序。并將你的監(jiān)控需求在check mk中進行配置,最終實現(xiàn)監(jiān)控效果。
4 結(jié)束語
隨著我國民航事業(yè)的高速發(fā)展,空管維護人員對設(shè)備監(jiān)控需要也不斷提升,進一步深入研究Nagios在空管SKYNET-X自動化系統(tǒng)集中監(jiān)控的應用,對我們進一步完善系統(tǒng)的監(jiān)控功能將有著重要的意義。
參考文獻
[1]王帆.基于Nagios的服務器監(jiān)控平臺構(gòu)建與實現(xiàn)[J].實驗室研究與探索,2010,29 (12): 52.
[2]李晨光.Linux系統(tǒng)網(wǎng)絡(luò)管理模塊的實現(xiàn)[J].鐵路計算機應用,2008 (06): 36.
[3]李剛,空管Skynet-x自動化系統(tǒng)維護手冊[R],北京華泰英翔技術(shù)有限公司,2011.