李 璟,吳 萍,黃俊慧
(1.國家海洋局東海預報中心 上海市 200136;2.海洋赤潮災害立體監(jiān)測技術與應用國家海洋局重點實驗室 上海市 200090)
?
遠端站點傳輸連接狀態(tài)異常分析和監(jiān)控研究
李璟1,2,吳萍1,黃俊慧1
(1.國家海洋局東海預報中心上海市200136;2.海洋赤潮災害立體監(jiān)測技術與應用國家海洋局重點實驗室上海市200090)
摘 要:目前海洋觀測點所處地域分散,數據傳輸經歷環(huán)節(jié)繁多。傳輸中斷時,如何及時定位故障點是急需解決的問題。在傳輸樞紐處建立監(jiān)控系統,通過遠程監(jiān)控發(fā)現連接異常,可以有效縮短故障解決的時間,提高傳輸的及時性和連續(xù)性。本研究分析了遠端節(jié)點發(fā)生傳輸連接異常的原因和表現形式,設計了判斷規(guī)則,通過二次開發(fā)建立遠程監(jiān)控系統,實現自動化地獲取異常信息和數據入庫。
關鍵詞:連接狀態(tài);異常分析;遠程監(jiān)控;二次開發(fā)
目前,海洋實時觀測數據被廣泛地運用于海洋預警報和防災減災工作中。隨著上述業(yè)務的技術研究不斷發(fā)展,對觀測數質量的要求也不斷提高。因此,如何保障觀測數據傳輸,提高傳輸及時性和連續(xù)性尤為重要。
觀測數據從觀測點傳輸至數據中心的過程所涉及的環(huán)節(jié)繁多。傳輸節(jié)點內部的終端、網絡設備等故障以及設備之間的連接故障、節(jié)點間的鏈路故障都可能影響傳輸。遠端海洋站點所處的地理位置往往比較分散,觀測數據通常采取逐級傳輸的方式匯總到區(qū)域數據中心。因此,在傳輸樞紐處(即區(qū)域中心)建立對各級數據節(jié)點的傳輸連接狀態(tài)的遠程監(jiān)控,可及時判斷傳輸中斷的位置,縮短處理時間,對保障傳輸順暢起到輔助作用。此外,遠程監(jiān)控還可有效彌補由于站點分散以及維護人員技術水平不均造成的不足。
本文以東海區(qū)的觀測數據傳輸為研究對象,分析了數據傳輸流程中發(fā)生的連接異常的原因和表現形式,設計了異常發(fā)生和解除的規(guī)則。在已有網管軟件的基礎上結合日常運維業(yè)務的具體需求進行了二次開發(fā),研制了遠程監(jiān)控系統以自動化地識別遠端節(jié)點的傳輸連接異常及解除,區(qū)分并標識不同的異常以及異常之間的關聯性。
為了便于監(jiān)控,首先對數據在上傳過程中經歷的各種傳輸環(huán)節(jié)進行分析。目前東海區(qū)的海洋觀測數據主要采取逐級傳輸的方式,節(jié)點之間通過專線連接,從底層節(jié)點(目前為三級節(jié)點)開始依次傳輸至區(qū)域中心(即一級節(jié)點),呈成樹狀結構。各級節(jié)點內建有局域網,且網絡結構較為相似(如圖1所示)。根據業(yè)務量不同各節(jié)點內的設備規(guī)模略有不同。

圖1 節(jié)點內網絡結構示意圖
因此,就傳輸環(huán)節(jié)而言,影響數據從某個遠端節(jié)點傳輸至區(qū)域中心的因素包括遠端節(jié)點和上級節(jié)點間的連接、節(jié)點內的網絡連接以及區(qū)域中心內的網絡連接。
為便于分析和實驗,本研究將監(jiān)控中心設在區(qū)域中心節(jié)點,同時由于二級節(jié)點處于中間環(huán)節(jié)且設備規(guī)模適中,選取其中一個為作為典型的監(jiān)控對象,共同組成實驗環(huán)境,如圖2所示。在進行遠程監(jiān)控系統開發(fā)前,先對數據從監(jiān)控對象節(jié)點至監(jiān)控中心的傳輸分段研究。據此,數據傳輸經過的設備包括監(jiān)控對象節(jié)點設備和監(jiān)控中心設備兩部分,經過的鏈路包括3部分:監(jiān)控對象節(jié)點內局域網網絡、其與監(jiān)控中心間的運營商鏈路、監(jiān)控中心內局域網網絡。監(jiān)控中心內局域網可由本地的網管軟件直接監(jiān)控并提供異常反饋,此處暫不列入研究。所以進一步分析監(jiān)控對象節(jié)點內的設備、設備之間、以及節(jié)點間(即和監(jiān)控中心間)的連接異常(以下簡稱異常)的原因以及表現形式如下:

圖2 監(jiān)控試驗環(huán)境選取示意圖
(1)異常成因:
節(jié)點內部的網絡設備(路由器、交換機等)和終端(計算機、服務器等)發(fā)生異常的原因包括死機、關機、斷電、網線松脫、網口故障等。節(jié)點間的異常可能由于地面光纖故障、運營商機房調整、落地設備等故障造成。
(2)異常表現:
1)某個終端在帶電情況下死機或關機時,終端上的用戶處于離線狀態(tài),但和他相連的網絡設備端口識別不到中斷。當終端網線斷電或是網線脫落時,和該終端連接的網絡設備的對應端口表現連接中斷。這兩種異常能直接被監(jiān)控中心識別到。
2)路由器、交換機等網絡設備整體發(fā)生故障時,和該設備直接相連的其他設備或終端的連接狀態(tài)對監(jiān)控中心而言,處于無法識別的狀態(tài),同時,和該設備有間接連接的部分設備也處于這種狀態(tài)。
3)當節(jié)點間鏈路故障時,雖然兩個節(jié)點各自的接入設備(如路由器)的接入端口狀態(tài)正常,但這兩個設備間不可互訪,且對于監(jiān)控中而言,監(jiān)控對象節(jié)點的所有設備均處于無法識別的狀態(tài)。
能被監(jiān)控中心直接識別到異常,本文定義為直接異常,無法被監(jiān)控中心識別當前狀態(tài)的異常,定義為間接異常。結合上述異常原因及表現形式還可知,間接異常的影響范圍由設備間的級聯關系來決定。為解決對2類不同異常的識別,同時便于編程實現對異常及其解除的判斷,定義規(guī)則如下:
(1)上下行規(guī)則:
以監(jiān)控中心節(jié)點最外側的接入設備為中心,向外輻射,各設備依次互為上行和下行關系,且上下行關系可嵌套。每個設備和其上行設備直連的網口為上行接口,和其下行設備直連的網口為下行接口。
(2)異常判斷規(guī)則:
1)發(fā)生以下3種情況時判斷為發(fā)生直接異常:①終端由于關機或死機致使終端上的用戶處于離線狀態(tài);②網絡設備端口當前狀態(tài)和初始狀態(tài)相反;③兩節(jié)點的接入設備無法互訪。3種情況的異常分別定義為終端異常、端口異常和節(jié)點間異常。
2)當網絡設備整體故障、網絡設備端口故障或是節(jié)點間無法互訪,造成其下行的各級設備或終端無法被訪問,判斷為發(fā)生間接異常。
(3)異常規(guī)則解除:
1)發(fā)生以下3種情況時判斷為直接異常解除:①當終端用戶恢復在線;②網絡設備端口恢復初始狀態(tài);③兩節(jié)點的接入設備恢復互訪。
2)當某個直接異常解除時,和其相關的且未解除的間接異常均解除。
2.1技術路線
依托其他項目支持,被監(jiān)控的二級節(jié)點已具備了設備可為網管軟件(IMC)納入監(jiān)控的條件。IMC軟件可監(jiān)控終端的硬件使用情況、用戶在線等,也可監(jiān)控網絡設備的CPU、內存、端口流量等。對本研究關注的用戶在線狀態(tài)和網絡設備端口狀態(tài)2類數據,該軟件可提供數據接口。
在此基礎上,本研究的遠程監(jiān)控系統可分為3部分:底層監(jiān)控、二次開發(fā)的監(jiān)控程序和數據庫。其中,IMC軟件和開發(fā)的訪問檢測程序作為底層監(jiān)控,IMC獲取節(jié)點內的終端用戶在線狀態(tài)和網絡設備端口狀態(tài),并通過數據接口拋出;訪問檢測程序獲取節(jié)點間連接狀態(tài)并通過日志拋出。二次開發(fā)的監(jiān)控程序實現對底層提供的原始數據進行提取,并按監(jiān)控規(guī)則對異常進行識別、過濾,最后將數據入庫,過程如圖3所示:

圖3 遠程監(jiān)控系統運行流程示意圖
目前,在氣象觀測[1,2]、船舶與海洋工程[3,7]、海洋石油生產[4,5]等行業(yè)遠程監(jiān)控技術已廣泛應用,海洋觀測、監(jiān)測領域的監(jiān)控實例[6,8]也陸續(xù)出現。上述遠程監(jiān)控通常是針對具體的監(jiān)控對象進行定制性的監(jiān)控開發(fā),監(jiān)控程序和監(jiān)控對象本身的相互依賴度較高。本研究采取對現有的監(jiān)控軟件進行二次開發(fā)的方式,如監(jiān)控對象改變或是底層監(jiān)控程序更換,只需根據新的底層監(jiān)控程序的接口調整數據對接即可,工作量相對較小且較為靈活。同時本研究建立了監(jiān)控信息數據庫,后期可擴展性較高,同時也易于和其他監(jiān)控系統集成。
2.2技術實現
2.2.1底層監(jiān)控
底層監(jiān)控使用IMC軟件提供WebService接口。每臺終端都有1個用戶,調用接口acmUserService可獲取當前在線用戶列表,從而間接獲取離線用戶的信息,即終端異常信息。每臺網絡設備都有名稱和IP,且設備上每個端口也都有名稱,調用接口imcplatResService可獲得當前可訪問到的網絡設備的各個端口狀態(tài)。比較設備端口的當前狀態(tài)和初始狀態(tài),兩者不同為端口異常,從而得到當前端口異常信息。
底層監(jiān)控讀取訪問檢測程序提供訪問日志。日志包含了對一系列目標地址的訪問記錄。通過讀取日志可獲得當前發(fā)生的鏈路連接異常的信息,即節(jié)點間異常信息。
上述3種底層監(jiān)控數據共同組成了原始監(jiān)控數據集,供二次開發(fā)的監(jiān)控程序調用。
2.2.2監(jiān)控程序
監(jiān)控程序需要完成原始數據提取、異常及其類型識別、解除識別、過濾重復、數據入庫這幾項功能。根據得到的3種原始監(jiān)控數據,在監(jiān)控程序中分別建立終端監(jiān)控、端口監(jiān)控、節(jié)點監(jiān)控3個監(jiān)控模塊。
監(jiān)控程序通過定時輪詢的方式從IMC的acmUserService和imcplatResService兩個接口提取用戶在線數據集和端口狀態(tài)數據集,從訪問檢測程序的日志中提取節(jié)點訪問數據集。然后3個監(jiān)控模塊分別根據異常和解除的判斷規(guī)則進行預處理后得到當前的直接異常發(fā)生和解除兩個初始數據集,通過比對已有記錄過濾掉重復記錄,然后按上下行規(guī)則標識出間接異常和解除,最后將所有新增的異常和解除寫入數據庫。上述過程通過編程實現時分解如下:
(1)異常判斷和處理:包含預處理、過濾、規(guī)則干預3個階段。
1)預處理:
對原始監(jiān)控數據進行處理,得到包括以下3類數據:
*終端離線數據集:終端用戶集作為初始數據集,在線用戶集是已有的原始監(jiān)控數據。終端離線數據集為在終端用戶集中去掉在線用戶集后得到的數據集。
*端口異常數據集:端口此處指的是網絡設備的網口,且有一個初始狀態(tài)數據集。端口當前狀態(tài)集是已有的原始監(jiān)控數據。端口異常數據集是提取初始狀態(tài)數據集和當前狀態(tài)數據集中那些不同的記錄得到的數據集。
*節(jié)點間異常數據集:通過從訪問檢測程序的訪問日志中提取訪問失敗記錄獲得。
2)過濾
預處理后的“終端離線數據集”、“端口異常數據集”、“節(jié)點間異常數據集”是對當前所有連接狀態(tài)進行輪詢檢查后得到的異常數據集。這些異常可能之前已經存在且仍處于未解決的狀態(tài),所以需要和已有的未解決的異常記錄進行比較,過濾掉重復記錄,僅保留新增的異常。
3)規(guī)則干預
經過濾處理后,所有新增的“終端離線”、“端口異常”、“節(jié)點間異常”根據之前定義的直接和間接異常的規(guī)則進行區(qū)分和標記。同時,對新增的“端口異常”和“節(jié)點間異常”還需要對所涉及的下行設備進行嵌套查詢,并增加相應的間接異常記錄。最后將所有新增異常入庫。
(2)解除判斷
1)直接異常解除:
比較未解決的終端離線數據集和當前用戶在線數據集,重合的終端記錄表示終端連接已恢復,相應的終端異常解除。比較未解決的端口異常數據集和端口當前狀態(tài)集,狀態(tài)不一致的端口記錄表示該端口連接已恢復,相應的端口異常解除。比較節(jié)點間異常數據集和當前訪問失敗記錄集,地址不重合的記錄表示節(jié)點連接恢復,相應的節(jié)點間異常解除。
2)間接異常解除:
“端口異常”和“節(jié)點間異常”兩類異常解除時,恢復正常的端口需嵌套查詢下行設備,符合查詢結果的未解除的間接異常記錄均更新為解除狀態(tài)。
監(jiān)控程序除終端監(jiān)控、端口監(jiān)控、節(jié)點監(jiān)控3個模塊外,還包含1個“下行設備查找”的公共方法。通過輸入設備和端口名稱,根據鏈路表進行嵌套查找,可輸出指定設備和端口關聯的所有下行設備。
2.2.3數據庫
監(jiān)控信息數據庫包含靜態(tài)和動態(tài)2類數據表,前者用于存儲設備、接口、鏈路等初始信息,后者用于存儲動態(tài)更新的異常及解除信息,各自包含的數據表如下:
(1)靜態(tài)信息表:
1)設備表:記錄設備信息(如:名稱、IP、隸屬節(jié)點等);
2)網絡設備端口表:記錄網絡設備端口信息(如:端口名稱、端口初始狀態(tài)等);
3)鏈路表:記錄連接兩端信息(如設備、端口、上下行屬性);
4)節(jié)點表:記錄節(jié)點信息。
(2)動態(tài)信息表:
1)終端異常表:記錄終端直接異常的信息(異常狀態(tài)、發(fā)生時間、解決時間等);
2)端口異常表:記錄網絡設備端口直接異常的信息(異常狀態(tài)、發(fā)生時間、解決時間等);
3)節(jié)點間異常表:記錄節(jié)點間連接異常的信息(異常狀態(tài)、發(fā)生時間、解決時間等);
4)間接異常表:記錄終端或網絡設備的間接異常的信息(發(fā)生時間、解決時間、與之關聯的端口異常或節(jié)點間異常等)。
其中:設計“節(jié)點表”是為了便于后期集成化的監(jiān)控平臺中以業(yè)務節(jié)點為單位進行監(jiān)控;在“間接異常表”中設計了“與直接異常關聯”的字段,為了便于后期進行統計分析。
在A地的監(jiān)控中心部署遠程監(jiān)控系統服務端,包括遠程監(jiān)控程序和數據庫,位于B地的被監(jiān)控點部署測試終端(計算機)和測試網絡設備(交換機),終端上安裝IMC客戶端,網絡設備上開放SNMP協議。實驗環(huán)境如圖4示:

圖4 實驗環(huán)境示意圖

圖5 模擬場景示意圖
用測試計算機和交換機分別模擬幾種連接異常的發(fā)生和解除,具體如下:
(1)交換機B和計算機B直連(如圖5場景1所示),先關閉計算機模擬發(fā)生終端連接異常,然后重新開啟計算機模擬異常解除。
(2)交換機A下聯交換機B,交換機B直連計算機B(如圖5場景2所示),先拔出交換機A上連接交換機B的連線,模擬交換機A發(fā)生端口連接異常,然后重新插入網線模擬異常解除。
(3)交換機A和B通過集線器C和D相連,模擬監(jiān)控中心的接入設備為A,被監(jiān)控點的接入設備為B,下聯終端為計算機B;集線器C和D模擬為2節(jié)點各自的運營商落地設備,兩者間連線模擬為節(jié)點間專線(如圖5場景3所示)。先斷開集線器C和D間的連接,模擬2節(jié)點間專線中斷的即發(fā)生節(jié)點間連接異常,然后重新連接C和D模擬異常解除。
測試遠程監(jiān)測系統是否能識別到異常的發(fā)生和解除并將信息入庫,結果如下:

A點和B點間場景1* √場景2-* -* * -√ -√ √場景3-* -* * -√ -√ √備注 *:出現直接異常記錄,-*:出現間接異常記錄√:出現直接異常解除記錄,-√:出現間接異常解除記錄對象場景異常發(fā)生 異常解除終端 端口 節(jié)點間 終端 端口 節(jié)點間計算機B交換機B交換機A A點和B點間計算機B交換機B交換機A
實驗結果表明,遠程監(jiān)控系統可識別到被監(jiān)控節(jié)點發(fā)生的終端、端口和節(jié)點間三類連接異常。
本研究分析了遠端節(jié)點在數據傳輸過程中發(fā)生連接異常的原因和類型,通過設計判斷規(guī)則和基于現有軟件進行二次開發(fā),實現了對遠端節(jié)點傳輸連接異常的遠程監(jiān)控。由遠程監(jiān)控系統獲取的監(jiān)控信息,包含了異常發(fā)生和解決的時間,異常的類型以及關聯性。這些數據不僅可輔助運行維護人員在傳輸中斷時,快速進行故障定位,而且可用于統計分析,便于制定預防措施。同時,系統提供了數據接口,便于上述信息被集成到其他海洋觀測監(jiān)控平臺中。
本研究也存在一些局限性,目前系統對終端的狀態(tài)獲取依托第三方客戶端軟件,程序故障將影響監(jiān)控效果,后期將研究其他更穩(wěn)定的方式進行替代。此外,本次研究涉及的傳輸設備種類有限,今后將陸續(xù)對其他傳輸設備進行監(jiān)控研究。
參考文獻:
[1]雷衛(wèi),延陳剛,陳武框.CAWS600型自動站運行狀態(tài)實時監(jiān)控系統設計[J].氣象水文海洋儀器,2011,28(1):86-89.
[2]陳峰,云盧劍,吳靜,等.自動氣象站資料傳輸報警系統的實現,[J].氣象水文海洋儀器,2011,28(2):77-79.
[3]李鐵剛,張曉明.船舶報警監(jiān)控系統概述及調試方法[J].科技資訊,2011(9):33-33.
[4]邵月磊,韓鵬.海洋石油行業(yè)生產設施遠程監(jiān)控手段分析[J].技術與市場,2012(2):59-59.
[5]王殿龍,譚王麗.基于以太網技術的海洋平臺安全自動化組態(tài)軟件的設計與實現[J].中國海洋平臺,2004,19(1):45-49.
[6]宋坤,周智海.海洋動力環(huán)境實時立體監(jiān)控平臺設計[J].海洋技術,2006,25(3):36-40.
[7]王文俊,周智海,羅林.海洋立體監(jiān)測系統監(jiān)控平臺的設計與實現[J].計算機工程,2005,31(1):33-35.
[8]聶雪媛,時忠民,黃映城,等.基于B/S的海洋平臺遠程監(jiān)控系統設計[J].微計算機信息,2007,24(5/3):1-3.
收稿日期:2016-03-30
基金項目:海洋赤潮災害立體監(jiān)測技術與應用國家海洋局重點實驗室開放研究基金 (MATHAB201308)。