邊志龍


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