王 羿
(國家廣播電視總局監測數據處理中心,北京 100866)
監管平臺擔負著廣播電視技術監測、內容監聽監看以及安全播出的各項業務,在加強廣播電視管理中發揮的作用越來越明顯。隨著監管平臺技術系統和基礎設施規模的不斷擴大,設備類型和系統架構也越來越復雜。由于各系統之間尚未完成數據互通,缺乏綜合監控手段,出現故障時,問題的解決往往依賴于運行維護人員的經驗,在故障排查、定位等方面不僅耗費了大量的時間,而且難以做到準確、快速定位并判斷故障影響范圍。
為進一步有效利用龐大的監管平臺運維數據,從整體對運維數據統一管理,從數據采集、存儲、分發、共享等過程創建具備可靠性和一致性的運維數據視圖,本文通過構建基于運維大數據的統一運維管理平臺,從多個維度深度分析和挖掘運維大數據的有效信息,讓運維數據“說話”,從而實現監管平臺運維管理集中化。
監管平臺運維數據具備大數據的“4V”特性[1]:
(1)規模性(Volume),為及時發現故障,監控系統對各軟硬件設備運行數據以秒級或毫秒級采集,系統不間斷地運行,產生大量運行數據;
(2)多樣性(Variety),監管平臺的運維數據既有軟硬件設備運行性能的數值數據、系統軟硬件配置信息等結構化數據,又有系統日志、網絡拓撲結構、業務音視頻等非結構數據;
(3)高速性(Velocity),為保障監管平臺的業務連續性,運維工程師需要及時監控、響應和處理監管平臺系統故障,這要求運維系統具備實時的數據處理能力;
(4)價值性(Value),在監管平臺不間斷穩定運行期間,高價值的故障數據出現頻次較少,數據價值密度低。
為切實提高監管平臺運維能力,從傳統的“被動式”運維向具備能力的“主動式”運維邁進,首要任務是建設基于大數據的監管平臺統一運維管理系統[2],在統一采集各類設備的告警狀態、告警信息的基礎上,進行統一存儲、統一處理、統一分析,高效地發現運維系統的運行風險。
系統接收、匯總設備運行和業務處理的運維數據,實現運維數據的集中整合,并利用大數據技術對運維數據資源統一管理。該系統的框架劃分為數據采集子系統、運維數據分析子系統、工單流程管理子系統、運維電子化子系統、運維案例知識庫子系統、綜合監控子系統以及系統管理子系統等,各子系統層級之間提供標準化接口,實現子系統間的獨立與協作。
制造任務與子任務之間存在分支、并聯、分支與并聯共存3種典型的邏輯關系,因此,可以用式(7)和式(8)表示為以下形式:
數據采集子系統實現對監管平臺的結構化和非結構化的異構數據的實時采集。運維電子化子系統采用結構化數據庫和非結構化數據庫,依據數據結構、數據量、實時性等特點建立運維數據存儲模型,建立統一的數據視圖以提供標準的運維數據接口,便于運維數據分析子系統調用數據。運維數據分析子系統對存儲的結構化和非結構化運維數據進行分析處理。系統整體邏輯框架如圖1所示。

圖1 邏輯框架設計
監管平臺運維數據除了具有海量性的特點外,由于運維數據產生于各種異構環境,因此還具有數據類型和數據結構繁雜的特點。根據數據源的差別,運維數據可劃分為支撐硬件運行的數據、軟件支撐系統數據、監控管理系統數據以及監管平臺業務數據,其中,支撐硬件運行的數據包括集中存儲、分布式存儲、服務器、網絡設備等設備的運行指標數據,軟件支撐系統數據包括操作系統、數據庫系統及業務中間件等的日志信息,監控管理系統數據包括監控機房精密空調、配電柜、UPS、溫濕度等基礎環境的監控數據以及虛擬化主機、計算集群、存儲虛擬化的云平臺管理中心監控數據,監管平臺業務數據包括廣播電視節目音視頻文件、節目編目信息、節目模板以及人物數據等業務信息。
為適應監管平臺運維系統異構數據的特點,利用混合異構數據采集的方式獲取監管平臺的運維數據。數據采集子系統由一組數據采集服務組成集群,采集監管平臺軟、硬件的運行數據,并通過Kafka數據總線持續地將監管平臺運維數據導入并存儲。采集支持多種標準數據接口協議,可通過WMI、SSH、JDBC、JMX、SNMP、SYSLOG、TRAP等接口方式獲取服務器、數據庫、云平臺及業務應用等運行數據。
運維大數據的數據來源主要有兩種,一種是從采集接口獲取的目標設備、軟件系統和業務的“裸”數據,另一種是來自于系統的運維數據分析子系統、工單流程管理子系統、運維案例知識庫子系統等的基礎數據。這些數據類型繁雜,但運維大數據所需存儲的數據類型可分為結構化數據和非結構化數據。對于結構化的“關系型”數據,本文采用MySql數據存儲和管理;對于非結構化數據,將采集的數據信息進行順序存儲,借助HDFS分布式文件系統,將數據以鍵值對的形式存儲至系統中。
基于ITIL的工單流程管理子系統,具備運維任務管理、運維工單管理以及運維人員管理功能,并且可通過移動客戶端發布工單流程信息[4]。運維任務管理功能在龐雜的系統和設備中依據各運維任務場景,在監管平臺的服務響應、故障處理、運維巡檢等環節建立一套標準化的工作流模板,實現監管平臺運維工單的標準化管理。運維工單管理功能提供工作流程引擎,具備流程定義功能,可以根據需求定制各種類型工單的流轉流程。同時,利用自動化業務編排對日常運維操作流程進行任務封裝,通過信息聯動、業務流程編排建立自動化能力,將運維流程中的人工操作轉變為自動化作業。
運維案例知識庫子系統實現知識維護、知識審核、知識發布、知識檢索以及公告管理等功能。對知識庫進行分類管理,提高了知識庫的檢索速度和利用率,實現了知識庫數據在各系統的共享與應用,可用于指導日常運維工作,實現知識的共享和傳承。
運維案例知識庫分為專家服務知識庫、故障案例知識庫、技術經驗知識庫以及維護制度案例知識庫。專家服務知識庫主要是對有專業技能、有專業特長的人員進行專家檔案信息的管理和維護,故障案例知識庫是將運維工作中的“經典”故障案例抽取出來,將其“沉淀”在知識庫中,提供給運維人員學習和借鑒,以提高人員故障處理技能、縮短故障處理時間;技術經驗知識庫的內容包括故障處理經驗、投訴處理經驗、廠家提供的經驗、直屬單位的維護經驗以及其他經典運維類經驗等,維護制度案例知識庫由維護制度提供。
運維數據分析子系統整合運維數據,并利用大數據技術實現所運維的系統及設備的各類信息數據實時狀態監測、風險狀態分析、業務鏈路跟蹤、關聯性預警[3]等進行統一化運維跟蹤,主要具備如下功能:
(1)數據冗余存儲,多備份保證數據安全;
(2)數據分布式存儲,數據分模塊分布存儲在各個大數據存儲節點上,實現任務處理并行度,提高運算效率;
(3)離線數據分布式處理,在功能(2)的基礎上進行分布式數據計算,對大量數據進行分析處理;
(4)實時流處理,實時計算分析數據,并將數據發送到展示頁面;
(5)機器學習模型訓練,通過數據分析、訓練,獲得訓練模型,用于對數據相關性和預測性進行 分析;
(6)數據搜索,能夠快速定位到一類數據。
建立運維大數據平臺,進行運維大數據分析,能夠為運維工作提供技術支撐和決策支持。運維數據分析子系統的數據來源分為歷史數據和實時數據,采用時序序列的機器學習算法能夠對有價值的信息進行挖掘,既可以了解硬件設備的運行狀況,又可以了解到故障的源頭,從而及時地更正錯誤,更好地提高硬件設備的高可用性;同時還能了解設備故障與業務運行的關聯影響、業務增長與設備性能變化的關系、為擴容申請提供數據依據以及對擴容規模進行量化控制。
通過對各業務系統的海量數據進行綜合分析,可以得出業務系統中每個IT資源的運行狀態和趨勢,從而對資源進行健康度分析,并以此對各業務功能節點和業務系統進行健康度分析。運維人員可通過上述分析得出的健康度數據,全面掌握各業務系統、業務節點以及單個資源的運行狀況。若健康度分析結果顯示存在異常,可對異常資源、功能節點及業務系統進行告警,以業務節點的維度展示影響業務運行的關鍵節點,有助于運維人員更快地排查故障、定位問題根源,同時也能以網絡拓撲的形式展現各級設備對各個業務系統運行的影響,提高運維準確性。
利用大數據系統對設備的運行趨勢、運行風險進行分析,對潛在風險點進行預警。風險分析功能主要監控各類設備的關鍵指標項[5]、流量分析等性能突變情況,對設備的潛在風險進行預警,根據歷史監控數據對性能趨勢進行預測。通過風險分析,運維人員可以進行更高效的操作,做出更明智的決策,降低運維操作風險,提高系統運行的抗風險能力,提高運維效率。系統可在頁面展示風險設備TOP列表,點擊列表項可在右側動態展示所選設備的風險報告和風險統計圖表,運維人員可根據大數據分析數據更快更精準地定位可能存在的風險,并通過快速處理避免風險的發生,確保系統持續穩定運行。
自動化運維報表通過前端界面制定運維資源分析報表和執行計劃,系統實現自動生成日常運行維護的資源運行狀態、指標等報表數據,并以圖形、表格的形式展示,也可以提供可供下載的文件,運維人員可以快速并直觀地掌握資源狀態,提高運維的效率和準確性。
系統以準實時采集數據為基礎,通過對云虛擬化資源運行指標的CPU資源、內存資源、存儲資源總量、已用量等進行綜合計算分析,結合新增業務需求,動態模擬預判資源分配情況,為新業務需求提供合理的部署方案,為運維人員的運維保障提供數據支持。
本文設計并建設了監管平臺統一運維管理系統,通過統一采集基礎設施和技術系統的各類設備的告警狀態、告警信息,借助大數據分析平臺進行統一存儲、統一處理、統一分析,高效地發現運維系統的運行風險。建設工單流程管理功能,實現了運維流程的規范化、流程化;結合運維電子化管理和運維案例知識庫,實現了對各類運維信息的綜合監控,全面提升了監管平臺的運行維護水平,為監測監管業務的開展提供了有力支撐。