楊栩
摘? ?要:本文分析了既有鐵路視頻網(wǎng)管系統(tǒng)無法滿足云系統(tǒng)、云存儲運維監(jiān)控要求的現(xiàn)狀,通過云計算、微服務(wù)、zabbix自動化運維平臺等新技術(shù)的運用,提出了全新的整體解決方案,對綜合視頻云系統(tǒng)中的基礎(chǔ)設(shè)施和主要應用服務(wù)進行全方位運維監(jiān)控。該平臺已在京張高鐵上運營實施并收到了良好效果。
關(guān)鍵詞:云平臺? 云存儲? 微服務(wù)? 自動化運維
1? 既有鐵路綜合視頻網(wǎng)管系統(tǒng)現(xiàn)狀分析
隨著鐵路綜合視頻監(jiān)控系統(tǒng)逐步向云平臺升級,用戶對云平臺的運維監(jiān)控需求愈發(fā)強烈,然而現(xiàn)有的鐵路綜合視頻網(wǎng)管運維系統(tǒng)已經(jīng)無法承載集群化的軟硬件設(shè)施監(jiān)控業(yè)務(wù),無法對云系統(tǒng)的整體運行狀況和集群內(nèi)部的微服務(wù)運行狀態(tài)進行監(jiān)控。此外,傳統(tǒng)的網(wǎng)管系統(tǒng)缺乏故障定位根因分析、故障自愈、存儲容量預測、故障閉環(huán)處理等功能;不僅如此,傳統(tǒng)的網(wǎng)管系統(tǒng)過多依賴于snmp協(xié)議[1]作為監(jiān)控數(shù)據(jù)采集接口,導致監(jiān)控各種型號的硬件設(shè)施都需做大量的適配工作,這些問題都極大地增加了運維成本。因此,如何設(shè)計構(gòu)建智能化、高可用的鐵路綜合視頻專業(yè)運維平臺是本文的主要研究內(nèi)容。
2? 專業(yè)化視頻運維平臺總體設(shè)計
2.1 總體框架
本系統(tǒng)采用從底層運行支撐到上層業(yè)務(wù)運行的全棧集中監(jiān)控設(shè)計理念,對基礎(chǔ)設(shè)備設(shè)施、應用服務(wù)、傳輸網(wǎng)絡(luò)、數(shù)據(jù)庫、中間件全覆蓋監(jiān)控。系統(tǒng)將收集到的監(jiān)控數(shù)據(jù),依據(jù)告警規(guī)則閾值判定產(chǎn)生故障告警消息,并對告警消息進行根因分析甄別出故障的根本原因,將經(jīng)過篩選后的故障告警消息推送給鐵路電務(wù)通信運維人員。運維人員將處理后結(jié)果記錄到系統(tǒng)中形成問題檔案庫以備將來遇到同類問題時方便查閱。
2.2 高可用方案
(1)基礎(chǔ)架構(gòu)為LAMP環(huán)境,采用keepalived實現(xiàn)zabbix服務(wù)器高可用,保證主server的mysql或者httpd宕掉后能切換到從server。(2)數(shù)據(jù)庫做主同步,保證兩邊服務(wù)器數(shù)據(jù)的一致性,實現(xiàn)數(shù)據(jù)庫的高可用。(3)采用unison同步軟件保證不管修改那臺服務(wù)器配置,zabbix配置目錄及web目錄內(nèi)容的一致,實現(xiàn)文件雙向同步。
3? 平臺實現(xiàn)
3.1 基礎(chǔ)監(jiān)控數(shù)據(jù)采集
3.1.1 支持多種協(xié)議數(shù)據(jù)采集
為了滿足鐵路綜合視頻云平臺中的攝像機、服務(wù)器、交換機、磁盤陣列、電源控制箱等基礎(chǔ)硬件設(shè)施以及應用服務(wù)的監(jiān)控需求。本平臺提供了支持snmp、ipmi、jmx、http、ssh、telnet、icmp、modbus等多種協(xié)議的數(shù)據(jù)采集方式[3]。
3.1.2 豐富的監(jiān)控指標
在滿足《鐵路視頻監(jiān)控系統(tǒng)技術(shù)規(guī)范》[2]的運維相關(guān)要求基礎(chǔ)之上,本系統(tǒng)還提供了更加豐富的監(jiān)控指標。攝像機監(jiān)控包括:主子碼流的碼率、幀率、分辨率、關(guān)鍵幀間隔、設(shè)備在線狀態(tài)。服務(wù)器監(jiān)控包括:電源狀態(tài)、硬盤狀態(tài)、磁盤存儲容量、風扇轉(zhuǎn)速、CPU溫度、CPU使用率、內(nèi)存使用率、網(wǎng)口工作狀態(tài)、網(wǎng)口帶寬、端口帶寬、端口類型、接收發(fā)送流量、丟包率、設(shè)備在線狀態(tài)。交換機監(jiān)控包括:端口帶寬、端口工作狀態(tài)、端口類型、接收發(fā)送流量、丟包率、設(shè)備在線狀態(tài)。磁盤陣列監(jiān)控包括:磁盤容量、設(shè)備在線狀態(tài)。電源控制箱監(jiān)控包括:電源、斷路器工作狀態(tài)。云平臺監(jiān)控指標監(jiān)控包括:視頻接入、分發(fā)、存儲等微服務(wù)的在線狀態(tài)、各節(jié)點負載、云平臺總負載。云存儲監(jiān)控指標包括:整體健康度、存儲容量、讀寫帶寬、osd節(jié)點總數(shù)以及單節(jié)點狀態(tài)、對象網(wǎng)關(guān)狀態(tài)。數(shù)據(jù)庫監(jiān)控指標監(jiān)控包括:慢查詢個數(shù)、每秒收發(fā)字節(jié)數(shù)、每秒增刪改執(zhí)行次數(shù)。
3.2 運維監(jiān)控業(yè)務(wù)
3.2.1 監(jiān)控對象資產(chǎn)管理與告警規(guī)則管理
綜合視頻云系統(tǒng)中的基礎(chǔ)設(shè)備和業(yè)務(wù)流中的軟件服務(wù)、中間件、數(shù)據(jù)庫?;A(chǔ)設(shè)施包括:攝像機、服務(wù)器、交換機、磁盤陣列、電源控制箱等。
告警規(guī)則如表1所示。
3.2.2 故障根因分析
由于不同類型故障告警之間存在一定的因果關(guān)聯(lián)關(guān)系,本系統(tǒng)將設(shè)備之間、故障類型之間的故障因果關(guān)聯(lián)關(guān)系提前預設(shè)形成專家?guī)?,告警收斂模塊運用專家?guī)鞂崿F(xiàn)業(yè)務(wù)全鏈路追蹤找到故障根源,從而過濾掉大量衍生告警,初步達到智能化運維的效果。例如,可以將以下兩種情形納入到故障關(guān)聯(lián)關(guān)系專家?guī)?。情形一:錄像斷點與網(wǎng)管攝像機、服務(wù)、云存儲告警關(guān)聯(lián)情況, 自動分析出錄像出現(xiàn)斷點時段內(nèi)是否存在攝像機離線、服務(wù)離線、云存儲異常等告警,進一步分析路線斷點的根本原因是哪類故障造成的。情形二:定義交換機離線、服務(wù)器網(wǎng)口故障、攝像機離線三類故障之間的因果關(guān)系。
3.2.3 故障處理業(yè)務(wù)流程
當故障告警生成之后就需要運維人員來處理這些告警。我們依據(jù)ITIL規(guī)范技術(shù)流程設(shè)計故障處理工作流業(yè)務(wù)模型,實現(xiàn)申告、受理、派單、處理、審核、關(guān)閉一整套閉環(huán)管理[4]。系統(tǒng)將告警與故障工單建立關(guān)聯(lián)關(guān)系,某個多某些告警形成一個故障工單,當處理完故障單之后,要檢查該問題單相關(guān)的告警是否已經(jīng)恢復,如果全部恢復,則關(guān)閉該問題單,否則繼續(xù)處理,直至問題恢復才能結(jié)束整個故障處理流程。同時,要求故障處理人員把問題原因、處理辦法、處理效果用文字記錄下來,最終形成故障處理知識庫以便運維人員查閱。
3.2.4 故障預警
對于一些可預測的監(jiān)控指標來說,為用戶提供故障預警分析達到防患于未然的目的具有更高的實用價值。最典型的例子就是磁盤剩余存儲空間預警。我們對收集到的歷史監(jiān)控數(shù)據(jù)采用指數(shù)平滑、N次多項式等預測模型對存儲空間剩余容量進行預測,判斷未來還有多長時間達到存儲上限告警閾值。
3.2.5 簡單故障自愈
對于一些常見的系統(tǒng)故障或應用服務(wù)軟件故障來說,可利用自動化故障恢復腳本,實現(xiàn)故障自動恢復,節(jié)省人工維護成本。例如,服務(wù)器硬盤拔出插回,云存儲應用服務(wù)中的osd節(jié)點離線等故障就可以調(diào)用預先編制好的故障處理腳本自動消除告警。當然,故障自愈作為一種運維輔助手段來講只能處理一些簡單且排查方式較為固化的問題,當自愈程序無法排除故障時,系統(tǒng)會把問題單推送給人工干預處理。
4? 工程實施
4.1 性能調(diào)優(yōu)
運維平臺每天都會產(chǎn)生大量的監(jiān)控數(shù)據(jù),系統(tǒng)性能瓶頸往往取決于數(shù)據(jù)存儲。為此,我們實施了以下優(yōu)化方案。硬件方面采用固態(tài)硬盤存儲數(shù)據(jù)。軟件方面采用調(diào)整數(shù)據(jù)庫性能參數(shù)配置、歷史數(shù)據(jù)表分區(qū)分表等手段優(yōu)化數(shù)據(jù)庫性能。此外,我們還對收集到的數(shù)據(jù)進行二次過濾篩選,過濾掉沒有發(fā)生變化或變化幅度低于1%的監(jiān)控數(shù)據(jù)。
4.2 容器化部署
容器化可實現(xiàn)應用隔離,某個服務(wù)消耗資源不會占用其他應用資源。利用docker實現(xiàn)自動部署,自動重啟,自動復制,自動伸縮擴展。部署docker應用,省去依賴環(huán)境的配置。鏡像倉庫服務(wù),本地打包好上傳,服務(wù)器直接拉取即可。
5? 應用案例
本系統(tǒng)于2019年12月在京張高鐵上首次投入使用。服務(wù)器54臺、交換機94臺、攝像機3706部、攝像機電源控制箱60余個。云平臺1套、云存儲集群8套、MySQL數(shù)據(jù)庫、消息隊列服務(wù)1個、HTTP服務(wù)1個。
系統(tǒng)主界面如圖3所示,為用戶提供京張全線視頻系統(tǒng)實時軟硬件運維監(jiān)控指標大數(shù)據(jù),用戶直觀了解全線攝像機、視頻微服務(wù)的工作狀態(tài)、存儲空間使用狀況、網(wǎng)絡(luò)流量狀態(tài)、服務(wù)器內(nèi)部主要元器件工作狀態(tài)、視頻圖像質(zhì)量診斷數(shù)據(jù)等。用戶通過點擊主頁上的站點,能夠跳轉(zhuǎn)到具體站點的軟硬件設(shè)施監(jiān)實時詳細監(jiān)控數(shù)據(jù)展示頁面,例如云平臺微服務(wù)工作狀態(tài)、服務(wù)器電源狀態(tài)、CPU溫度、內(nèi)存使用率、網(wǎng)絡(luò)流量帶寬、交換機端口工作狀態(tài)等。
6? 結(jié)語
面向下一代運維平臺,我們將引入深度學習、貝葉斯網(wǎng)絡(luò)等人工智能技術(shù)深度挖掘故障內(nèi)部蘊含的關(guān)聯(lián)關(guān)系,加大告警收斂力度;進一步強化故障自愈功能降低運維人工干預成本;提升故障預測精準確度,為用戶提供更加及時準確可靠的故障預警和存儲容量規(guī)劃信息。
參考文獻
[1] 簡單網(wǎng)絡(luò)管理協(xié)議教程[Z].
[2] QCR 575-2017 鐵路視頻監(jiān)控系統(tǒng)技術(shù)規(guī)范[Z].
[3] Zabbix企業(yè)級分布式監(jiān)控系統(tǒng)[Z].
[4] ITIL3.0技術(shù)白皮書[Z].