溫培煌
【摘 要】提出一種能夠適用于LINUX/UNIX/SOLARIS多種空管自動化操作系統(tǒng)的監(jiān)控系統(tǒng),系統(tǒng)通過C/S模式,部署相應的監(jiān)控主機對來自各個服務器終端的運行環(huán)境和主要監(jiān)控指標進行采集,最終通過數據庫集中處理后進行顯示和告警。系統(tǒng)通過C#、SQL sever以及相關系統(tǒng)的腳本編寫設計實現(xiàn)。
【關鍵詞】空管自動化;監(jiān)控;操作系統(tǒng)
0 引言
當前,空管越來越依賴以空管自動化為中心的雷達管制,自動化系統(tǒng)在空管通信導航監(jiān)視中的作用越來越重要。考慮信息的安全性以及系統(tǒng)運行的可靠性,大多數空管自動化系統(tǒng)是基于LINUX、UNIX和SOLARIS等操作系統(tǒng),這些系統(tǒng)相對WINDOWS而言對空管的運行實際有較大的優(yōu)勢,而另一方面也帶來了技術維護的繁瑣和不便。因此,本文從空管終端管理角度出發(fā)提出一種空管自動化系統(tǒng)的集中監(jiān)控,為相關技術維護提供手段。
1 系統(tǒng)設計
設計通過在各個服務器和終端部署相應的軟件腳本,基于TCP/UDP網絡形成星形拓撲結構進行監(jiān)控。考慮空管自動化產品型號較多的現(xiàn)場運行情況,系統(tǒng)必須滿足不同自動化之間的魯棒性。以汕頭空管站為例ATC3000自動化系統(tǒng)是基于LINUX 系統(tǒng)的,而NUMEM2000是基于SOLARIS的,這對我們設計提出了一定的要求;其次,作為一種在用在產的設備,監(jiān)控系統(tǒng)必須接入設備系統(tǒng)的內部局域網,實現(xiàn)數據的交互,這要求系統(tǒng)設計必須考慮相應的信息安全問題;再之,為了保障設備運行,系統(tǒng)開發(fā)的任務執(zhí)行必須盡可能少占用系統(tǒng)資源。系統(tǒng)主要設計模塊有數據采集和分析、控制流程和告警以及數據存儲等。
1.1 數據采集和分析
數據采集主要目標在于系統(tǒng)運行狀態(tài)、軟件運行狀態(tài)以及網絡運行狀態(tài),設計采用每隔5分鐘對數據進行采集一次。監(jiān)控機定時發(fā)起FTP命令,提取來自各個UNIX/LINUX/SOLARIS系統(tǒng)的指標數據文件。在自動化各個服務器終端上同時也部署有兩個守護進程,守護進程主要任務在于采集數據并存儲到需要傳輸的文件中。另一方面,UNIX/LINUX的CRONTAB配置文件設置好相應的數據采集,CRON則守護進程將采集的數據文件在服務器和終端通過守護進程定時存儲文件,而監(jiān)控主機則設置相應的監(jiān)控控制模塊,在定時器的控制下定時采集各種監(jiān)控指標數據。系統(tǒng)的數據分析主要在監(jiān)控主機上進行,分析將接收到的數據進行規(guī)則判斷、閾值比較以及模板比對。CRONTAB實現(xiàn)如下(其中ds為定時執(zhí)行腳本):
在監(jiān)控機上,本地控制模塊通過FTP指令對管道文件進行調用,并且將獲取的數據保存在本地數據庫。管道文件則一方面監(jiān)聽守護進程并返回瞬間采集文件,通過FTP傳送回監(jiān)控機的控制模塊;再之,通過CRON守護進程讀取配置文件將采集的連續(xù)采集文件通過FTP傳送回監(jiān)控機的控制模塊。換言之,系統(tǒng)采集的數據文件主要分為瞬間采集文件和連續(xù)采集文件。對于守護進程實現(xiàn)的部分代碼如下:
1.2 系統(tǒng)主要控制流程和告警信息
系統(tǒng)主要基于監(jiān)控主機和自動化各個服務器終端建立起連接,服務器終端通過LINUX/UNIX/SOLARIS的管道接收來自監(jiān)控主機的各個指令,通過將指令進行預處理后執(zhí)行監(jiān)控機的相關請求。首先,監(jiān)控主機通過TCP連接的建立讀取自動化服務器終端的配置文件,并且進行用戶的端口驗證;其次,監(jiān)控機通過管道進行命令傳輸,自動化系統(tǒng)將根據命令進行操作,并實現(xiàn)采集文件的保存,此時第二次TCP連接將建立,采集文件通過TCP傳輸到監(jiān)控機;再次,系統(tǒng)采用定時的方式進行流程控制,為了避免造成自動化系統(tǒng)的負擔和資源耗費,采用瞬時指標采集的方法進行。鑒于上述的設計思路,告警信息主要分為數據采集告警信息、連接告警信息、返回告警信息等。
1.3 監(jiān)控主機的設計
系統(tǒng)主體采用C/S模式進行設計,在監(jiān)控主機上部署相應的本地數據庫通過SQL server進行設計和實現(xiàn)。數據庫為各個自動化服務器和終端建立起唯一的數據庫文件,包括來自不同服務器終端的實時信息、采集數據和告警信息。采集到的數據文件必須進行基于正則表達式的特殊字符提取,為了設計方便,在監(jiān)控主機的軟件設計采用C#設計。作為數據入庫的預處理,C#正則表達式字符處理部分代碼如下(以CPU運行狀況為例):
當然,在數據分發(fā)上,系統(tǒng)首先必須初始化字符流讀取數據文件,數據必須有相應的閾值設定、模板對比和關鍵檢索,這也是數據判斷的關鍵所在。由于不同服務器終端的運行狀況不同CPU的使用情況也不同,因此必須根據現(xiàn)場情況進行設置。同理,文件系統(tǒng)的采用情況也必須有相應的判斷(unix系統(tǒng)提供了命令df–k可以方便查看),此處不贅述。
1.4 關于數據存儲
數據存儲是監(jiān)控系統(tǒng)的重要功能。對于接入監(jiān)控的自動化系統(tǒng)服務器和各個終端,系統(tǒng)在固定的目錄下對本機的采集數據文件進行存儲,此處簡稱為采集文件夾。在監(jiān)控機上,系統(tǒng)則一方面保存來自網絡的采集文件,另一方面實現(xiàn)數據庫的數據存儲。對于采集文件,雖然個體占用空間較小,但是長年累月的存儲容易不斷占用空間資源,因此在采集文件夾中,部署相應的定期清理腳本,該腳本在每個月1日的凌晨對采集文件夾中的前三月數據進行清空。而SQL數據庫處理相應的作業(yè)即可完成數據的備份和定期清理,因此在監(jiān)控機上,數據存儲的主要工作在于對配置信息的存儲,通過軟件提供用戶交互接口,實現(xiàn)系統(tǒng)監(jiān)控自動化的接入配置以及終端告警功能的設置并實現(xiàn)與遠端機的一致性檢查。當然,日志管理也是監(jiān)控主機和遠端機的數據存儲組成部分,其主要在于提供日常技術維護數據支持以及為空管自動化設備評估提供數據參考,篇幅所限此處不再深入探討。
2 結束語
本文從空管終端運行現(xiàn)場實際出發(fā),提出一種基于C/S模式的空管自動化集中監(jiān)控系統(tǒng)。系統(tǒng)可以將不同自動化系統(tǒng)進行集中監(jiān)控,為空管技術保障提供一種手段,也為相關研究拋磚引玉。
【參考文獻】
[1]曾培彬,高升秋.基于Web信息處理的機位信息融合設計與實現(xiàn)[J].中國民航飛行學院學報,2014(5):8.
[2]姚琥.Unix系統(tǒng)下基于腳本的程序設計[J].中國金融電腦,1998(8):15.
[責任編輯:田吉捷]