?

長江干線數字航道系統守護進程的研發與應用

2024-02-17 00:35徐為李睿管宇航王胤澤張翔
中國水運 2024年1期
關鍵詞:航道進程報警

徐為,李睿,2,管宇航,王胤澤 ,張翔

(1.長江武漢航道局,湖北 武漢 430040;2.中國地質大學(武漢)國家地理信息系統工程技術研究中心 地理與信息工程學院,湖北 武漢 430074;3.嵩山實驗室,河南 鄭州 450046)

近些年,隨著數字航道的建設及深入應用,我國內河航道業務實現了主要助航設施的動態監測和及時維護、航道維護資源的科學配置和聯網調度、航道主要現勢信息的可靠發布和共享服務,極大地提升長江武漢航道局航道安全暢通效能及信息服務水平。保障數字航道系統平臺長期穩定運行是數字航道持續發揮通航效益的基本及核心工作。但是,數字航道的各個關鍵應用偶爾會出現系統進程卡死的狀況,無法及時恢復系統正常運行,這樣會嚴重影響數字航道系統的穩定運行,造成不可預知的重大影響。因此,為了保證數字航道系統高可用性,當前迫切需要研制一套進程守護程序,實現數字航道系統平臺各個關鍵應用的實時監聽、故障報警和自動重啟功能。

針對數字航道系統,采用進程級別監控和守護,可以及時發現并且干預數字航道系統進程運行方面的隱患及問題,并將根據故障問題嚴重等級進行針對性處理,對數字航道的高系統可用性需求做出探索性嘗試,同時也是為長江航道維護服務的智能化、自動化和標準化奠定基礎。因此,開展本項目的研究非常有必要。

在監控系統方面,考慮到商業監控高昂的使用成本和學習成本,本研究采用開源監控解決方案。Zabbix是一個目前比較成熟的開源監控解決方案,支持多種操作系統,可實現跨平臺分布式部署。Zabbix 擁有靈活多變的報警策略,可以及時發現系統產生的異常,同時Zabbix 集成了多種數據采集方式,可應對多種情況下的跨平臺監控,十分契合本研究的需求。

綜上所述,本研究要解決的問題有兩個,第一個問題是針對分布式系統進行進程級別的細致且實時監控;第二個問題是通過系統日志、系統運行狀態和服務器接口等多渠道定位系統異常所在。因此,本研究將采用Zabbix 企業級開源監控解決方案對長江數字航道系統所在的服務器集群分別進行系統核心進程監控。同時開發守護進程系統,該系統將會分析通過Zabbix 收集到的數字航道系統實時運行數據,系統日志以及服務器狀態,判斷當前系統是否發生異常,以及是否進行報警和故障處理。

1 系統模塊分析

1.1 跨平臺服務器集群監控模塊

針對進程級別的故障監控需要將監控數據從整個服務器的監控數據細分到每一個相關進程的監控數據,包括進程占用的CPU、內存、硬盤等硬件參數以及系統頁面響應時間參數等,是整個守護進程系統得以運行的基礎。

1.2 進程健康綜合判定模塊

數字航道系統守護進程制定并采用健康指數的目的主要有以下三點:①判斷進程運行狀態,是否發生故障;②尋找硬件系統可能存在的性能瓶頸,定位性能瓶頸并提供對應的硬件升級方案;③記錄系統負載歷史,幫助分析用戶行為對系統帶來的沖擊和影響。

1.3 監控平臺可視化模塊

系統監控數據的展示采用大屏圖表的形式進行可視化,通過Grafana 監控展示技術使監控主頁實時展示監控進程的各項具體信息,并且通過管理員編輯模塊自定義監控展示內容。系統能清晰展現被守護進程當前的運行狀態,方便運維人員快速了解當前系統運行的各項指標。

1.4 自動報警與自動重啟功能模塊

當進程出現卡死或者系統宕機的情況下,本系統可以對系統管理員發出報警通知,與此同時針對系統宕機的情況進行自動重啟操作,最大程度地減少系統不可用時間。

1.5 監控歷史數據分析模塊

對于不斷產生的監控數據,系統實現了歷史數據分析功能,能將當前系統監控數據與歷史異常運行時段的數據進行對比,判斷系統未來一段時間內的風險情況。此外在系統發生重大故障時還可根據日志、報錯信息以及監控數據分析此次問題的具體原因,為未來各個系統的代碼邏輯優化提供具體建議,預防系統再次卡死或宕機。

2 系統設計

2.1 系統總體設計

系統整體采用Vue、SpringBoot、MySQL、Zabbix 等技術進行高效快捷的開發。如圖1 所示,該系統主要分為四個部分。系統的架構設計圖如圖2 所示。

圖1 系統設計模型

圖2 系統架構設計圖

圖3 進程守護系統界面

系統管理員可以通過界面添加新的監控進程以及修改相關指標報警閾值。同時在系統后臺有詳細的日志功能,將系統運行過程中的關鍵信息和動作進行匯總統計,便于管理員進行回溯分析。

2.2 系統穩定保障設計

Zabbix 客戶端有兩種工作方式,分別是主動式監控與被動式監控,其中,被動式監控比較適合內網環境下的監控需求,同時減輕Zabbix Agentd 在被監控服務器上的運行負擔。

作為守護進程系統,首先要保障系統自身持續且穩定的運行,這樣才能去守護其他的系統。當Zabbix 監測到進程守護系統沒有響應后,會自動調用進程守護系統的重啟腳本,保障系統持續可用。

對于被守護的數字航道系統,則不能輕易的采取自動重啟的方式,否則會因網絡故障或某些輕微干擾導致系統頻繁重啟,嚴重影響用戶體驗。對于用戶使用較少的深夜時段,可以采用自動重啟功能,減少重啟的可感知程度。

2.3 系統安全設計

該項目研制過程中,嚴格遵循網絡安全相關要求。服務器機房安裝在長江武漢航道局內,進出需要進行身份驗證。登錄服務器前需要進行強密鑰安全驗證。進程守護系統實現了用戶身份管理。與此同時,還將通過如下的手段保障安全。

(1)該技術將部署于長江武漢航道局超融合平臺上,在長江武漢航道局內網環境下使用。

(2)該技術部署服務器安裝專業的EDR 病毒防護系統,并接入長江武漢航道局安全感知平臺、入侵檢測(IDS)和入侵防御(IPS)系統。

(3)該技術部署后,將進一步經過漏洞掃描系統后,通過升級安全漏洞補丁等手段封堵住操作系統和應用軟件本身所帶來的安全漏洞。

進一步檢查是否配置虛擬防火墻、路由器過濾策略和系統本身的各項安全措施(如針對各類攻擊所進行的通信協議安全配置)。

3 系統關鍵技術

3.1 基于Zabbix 的服務器集群多進程實時監控關鍵技術

本研究對Zabbix 提供的開源監控解決方案進行了簡化,使其在保證輕量化的前提下適配數字航道系統監控需求。本研究實現了面向服務器集群多進程的輕量化自動監控技術,該技術包含數據可視化、分布式系統監控以及網絡流量監控功能,能完整反應進程當前運行狀態。

3.2 多維度的健康判定模型與分級關鍵技術

為構建多維度的健康判定模型,結合計算機操作系統相關技術以及在測試環境服務器中一個月的系統指標監測。本研究提出了一種由CPU 利用率、硬盤讀速率、磁盤寫速率、內存占用率、數字航道網頁響應時間以及進程心跳指數六種參數組成的健康判定模型。并根據實際情況搭配了一個合理的權重分配公式,進程守護系統能依據這些指數準確判斷當前系統所處狀態。

3.3 基于事件驅動機制的進程守護消息推送報警關鍵技術

本研究在進程守護系統中使用了基于事件驅動機制的報警信息推送技術。用戶可以在系統界面中自行設置相關的報警閾值、報警媒介、恢復閾值以及報警接收者。當監控項的監控數據超過閾值一段時間后,進程守護系統將會觸發消息推送機制,使用郵件或接口調用等形式完成報警信息的推送,達到及時預警的效果。

3.4 多情景下的進程多策略重啟關鍵技術

當進程卡死或者健康指數過低時系統會進行自動重啟。重啟的策略包括手動重啟、自動重啟、低健康指數重啟和定時重啟。這一關鍵技術使其能夠智能化地輔助進程管理。

4 系統應用效益和創新性分析

4.1 系統應用效益分析

進程守護系統預警反應快捷,告警信息發布及時,進程自動重啟及時準確,實現了數字航道系統的高可用性,達到了項目的預期效果。運維人員可在故障發生的第一時間得到故障信息,發現問題,解決問題。目前系統納入監控范圍的進程為數字航道核心進程與數字航道核心數據庫,在系統試運行過程中,共發生進程低健康指數報警1 次,進程未響應3 次。在測試人員和管理員核對后發現該系統自動報警和自動重啟功能的反應均比較及時,進程提供的故障信息和實際狀況相符,可以較好地完成數字航道核心進程監控的任務。

在生產環境的數字航道系統中,未采用本系統時的系統故障平均響應時間一般在15 分鐘左右,在核心進程卡死故障發生期間系統無法進行任何數據交互,將造成大量的數據丟失,甚至是無法挽回的經濟損失。如果能在生產環境中使用本系統進行數字航道系統的進程守護工作,則可以將系統故障平均響應時間大大縮短至10 秒以內,預計將減少88%的經濟損失。

4.2 進程健康判定指數方面的標準創新

為構建多維度的健康判定模型,除了基本的硬件性能參數以外,該系統提出的進程健康指數判斷模型還針對數據量大用戶多的問題,在模型中加入了數字航道網頁響應時間參數,該參數是系統體驗好壞的關鍵參數。同時該判定標準還采用了動態權重的進程健康指數計算方法。當某一指標大大超過判定的區域時,會被標記為異常狀態,該項判定指標的權重將會動態提升,以降低進程健康指數的最終得分,讓管理員發現該項指標發生了異常。

4.3 智能管理方面的模式創新

由于數字航道系統所處硬件環境的特殊性,所有服務器均運行在內網環境。為解決這一問題開發者通過使用進程重啟腳本的方式來實現數字航道系統核心進程自動重啟功能。同時提供四種不同的重啟策略來應對不同的情境和需求。例如設定在深夜時段的定時重啟可以保障系統及時清理運行時產生的冗余緩存數據,解決部分報錯問題,同時保持最小程度的重啟可感知性,保證系統持續高可用性。

5 結語

數字航道系統高效運行的核心前提是數字航道系統平臺的穩定運行,實時提供數字航道各項關鍵業務數據。為更好地保障數字航道系統平臺的穩定運行,提高系統運維效率,本研究提出了一套進程守護系統來實時監測數字航道系統核心進程狀態,并在核心進程出現異常情況時,及時進行報警或自動重啟,減少從出現問題到發現問題所需的時間,大大提高數字航道系統的穩定性。本研究取得的成果如下:

(1)本研究通過對長江數字航道系統整體框架與技術構成的深入研究,提出了一套基于Zabbix 的針對分布式系統的守護進程原型系統。

(2)該系統通過一系列關鍵技術實現了對數字航道系統所在服務器集群的實時進程級監控,分析以及故障報警等功能。同時制定了多種進程重啟策略以滿足不同情形下的重啟需求。

(3)開展了守護進程原型系統在數字航道系統測試環境中的部署以及相關測試工作,該系統可展示實時監控數據,對于系統故障能在秒級時間內發出警報,大大減少系統故障平均響應時間與故障發生后帶來的經濟效益損失。

猜你喜歡
航道進程報警
債券市場對外開放的進程與展望
LKD2-HS型列控中心驅采不一致報警處理
新航道
2015款奔馳E180車安全氣囊報警
死于密室的租住者
奔馳E260車安全氣囊報警
我國首條40萬噸級航道正式開建
社會進程中的新聞學探尋
我國高等教育改革進程與反思
Linux僵死進程的產生與避免
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合