楊志杰 徐衍勝 安彬 郭建偉 李智








摘? 要:針對太原市軌道交通“城軌云”存在的云平臺、網絡、安全以及云上系統等各類資產的統一綜合運維需求,采用微服務框架研制綜合運維管理平臺,以SNMP、TELNET、SSH、WMI等方式實現各類資源性能監控,以日志采集與分析技術,實現全棧日志存儲、建模、監控、智能分析的PB級數據處理能力;開發運維流程自動化引擎技術,通過可視化的流程編輯引擎,實現對流程節點、流程的角色、流程流轉的動態調度以及服務流程的自定義。
關鍵詞:綜合運維;日志采集;流程引擎
中圖分類號:TP311? ? ? ? ? ? 文獻標識碼:A文章編號:2096-4706(2022)01-0006-05
Abstract: In view of the unified comprehensive operation and maintenance requirements of various assets such as cloud platform, network, security and cloud system existing in the “urban rail cloud” of Taiyuan rail transit, a comprehensive operation and maintenance management platform is developed by using the micro service framework, realizing the performance monitoring of various resources by means of SNMP, TELNET, SSH, WMI and so on, and realizing the PB level data processing capability of full stack log storage, modeling, monitoring and intelligent analysis. Develop the operation and maintenance process automation engine technology, and realize the dynamic scheduling of process nodes, process roles, process flow and the customization of service process through the visual process editing engine.
Keywords: comprehensive operation and maintenance; log collection; process engine
0? 引? 言
目前太原市軌道交通云計算平臺的運維管理網部署有云管平臺、網管平臺、安管平臺,分別實現相應的管理業務。但是這三個平臺屬于運維工具平臺,雖然在一定程度上豐富了運維管理的手段,但是從整體上來看由于各個系統之間相互獨立,而且各系統的數據不通,數據比較分散,無法為運維資源的統籌利用提供支持,導致形成數據孤島、管理孤島,這不僅造成了運維資源的浪費,也降低了運維效率、協同管理水平和應急響應能力[1]。
按照國際、國內信息服務的標準規范ISO20000、ITIL V3、ITSS,結合太原市軌道交通云計算平臺的運維管理要求,在工具平臺之上需要建設綜合運維管理平臺,整合運維工具(云管平臺、網管平臺、安管平臺)、運維流程、運維團隊、信息資產,為太原市軌道交通云計算平臺提供統一、協同、全面的綜合運維保障能力。
1? 系統設計
“城軌云”網絡空間綜合運維管理平臺(下稱:平臺)充分運用物聯網(IOT)技術、大數據、容器技術,以大數據架構為底層構建。平臺集資源監控、日志分析、流程管理、數據分析等能力于一體,有助于解決監控手段分散、IT運維數據孤島問題及運維管理不規范、業務健康度不透明等IT運維難題。平臺致力于為平臺用戶提供監、管、控一體化的智能運維管理平臺,為“城軌云”的安全可靠、穩定高效運營提供強有力的支撐保障。
1.1? 總體架構
“城軌云”網絡空間綜合運維管理平臺總體框架分為資產管理層、采集與處理層、監控層、應用與展示層和統一門戶。系統總體架構如圖1所示。
(1)資產管理層。提供資產管理功能,提供完整的軟硬件資源注冊類別、并可以為每個類別設置個性化類別屬性,包括:資產基本信息、資產管理信息、資產來源、資產屬性、資產狀態、資產關聯、資產維護等相關屬性信息。
(2)采集與處理層。支持代理模式和無代理模式進行所有網絡設備、主機、應用軟件對象的數據采集,無代理模式無需安裝任何AGENT,通過業界標準數據采集接口,包括SNMP、WMI、TELNET、SSH、ODBC、JDBC、JMX、SMI-S、IPMI等接口。
(3)監控層。實現對路由器、交換機、安全設備、負載均衡、服務器、虛擬化服務器、數據庫、中間件、網絡基礎服務、網站的全面監測。
(4)應用與展示層。基于自定義流程和自定義表單,為服務提供標準化流程作業。支持工單的全生命周期管理與追蹤,為用戶提供標準日常化管理工作平臺。
(5)統一門戶。提供一個統一的綜合運維平臺入口,使系統用戶能夠基于統一的整合管理界面,進行運維管理的信息查看和相關操作。
1.2 技術架構
“城軌云”網絡空間綜合運維管理平臺采用微服務框架Spring Cloud Edgware,分為資源層、后端服務層、服務管理層、前端服務層和用戶操作層。系統技術架構如圖2所示。
(1)資源層存儲數據。采用MySQL數據庫、redis緩存、大文件存儲和ES搜索服務器等技術存儲數據資源信息。
(2)后端服務層。分為基礎支撐服務和業務服務,基礎支撐服務包括權限管理、人員管理、日志管理、文件管理等服務;業務服務包括表單設計、工單管理等與業務相關服務。兩種服務都基于JDK1.8開發工具包采用Java的Spring Boot開發框架進行開發,服務提供接口采用RESTful接口風格。
(3)服務管理層。采用Spring Cloud套件對服務進行管理。服務注冊和發現采用Eureka,服務配置中心采用config,服務追蹤采用Zipkin,服務網關采用zuul。
(4)前端服務層。采用js開發,在jquery控件庫基礎上開發js腳本和ejs模板文件。采用Node.js作為中間層和代理服務器,代理從網站訪問的請求,解決網站接口的跨域問題,以及靜態資源管理。同時Node.js作為模板引擎來創建前端頁面,將模板文件和數據通過模板引擎生成最終的HTML代碼,實現前端展示。
(5)用戶操作層。采用HTML作為數據載體,通過IE、Firefox、Safari和Chrome等常用的瀏覽器訪問系統。
1.3? 主要功能實現
1.3.1? 資源監控
平臺采用SNMP、TELNET、SSH、WMI等方式實現對網絡設備、服務器操作系統、數據庫、中間件、存儲等IT基礎設施及虛擬化等資源的監控管理,獲取運行狀態、性能和配置等運行關鍵信息后由平臺的數據處理中心進行統一的數據處理、分析和呈現。平臺基于通用監控資源模型來整合拓展監控對象,方便進行功能擴展和規模擴展。
網絡設備采用SNMP(V1、V2/V2C、V3)方式持續自動發現、識別和監控被管范圍內的網絡設備。安全設備監控通過設備廠商提供的SNMP接口,采集和監控到安全產品的基本信息、運行狀態,監測設備的CPU利用率、緩存使用百分比、板卡工作狀態、電源和風扇狀態等。Windows操作系統采用SNMP和WMI方式獲取主機設備的運行狀態和性能數據,非Windows操作系統采用TELNET和SSH方式來獲取數據。平臺采用SSH、Telnet、JMX等方式管理Oracle、MS SQL Server、MySql、MongoDB、Sybase、PostgreSQL、Redis、DB2等數據庫系統。
1.3.2? 日志采集與分析
日志數據采集、傳輸、處理、存儲的整個數據流對平臺數據完整性、實時性、可擴展性有著重大影響。總體數據流設計如圖3所示。
(1)采集/解析。采集器負責采集原始日志,還須負責對日志完成解析,以便匯總到平臺實施檢索、分析工作,原始日志和解析完成的半結構化數據通過集成的消息中間件完成數據流的匯聚,以消息隊列的形式保存。
(2)消息轉發。采集階段完成了數據的匯聚,處理好的日志數據按順序存儲于消息隊列中,為了保證數據流傳輸的實時性和完整性,中心采用消息客戶端集群架構,以生產/消費的異步方式,實現消息的轉發。每個節點消息隊列中的數據在客戶端確認處理完畢后才將本地隊列中的數據清除;由于采集器中集成的消息中間件支持百萬/秒的消息處理能力,不僅能很好的應對日志數量峰值,而且消息客戶端集群中的每個成員都根據負載情況支持對所有節點隊列的消費,保障對消息轉發的實時性;消息客戶端集群的熱部署特性,使得任何一個成員失效都不會影響數據的流轉,可以在必要時實施熱擴展[2]。如圖4所示。
(3)存儲/索引。存儲是數據流轉到了持久化的階段,日志作為消息形式在內存中完成索引,再將原始數據和索引持久化到Hadoop的Hdfs中。由于Hadoop本身具備分布式存儲的特性,且需要對日志解析或結構化的工作在各節點已完成,數據直接交給Hadoop持久化,為下一次Hadoop作業提供新鮮數據;在對日志進行索引并完成索引文件存儲的同時,根據策略實時執行預定的檢索分析。
1.3.3? 自動流程引擎設計
在“城軌云”綜合運維管理平臺中以流程引擎為核心構建運維業務相關的事件處理、問題處理、變更處理、監督管理、評價管理等流程,以圖形化的方式來設計、編輯和管理各個運維業務流程,實現各類復雜運維業務流程建模需要;提供可視化流程設計與表單構建服務,實現服務流程敏捷適變與狀態監控,解決申請、審批、反饋、協作等服務過程的自動化流轉問題。
流程引擎分為流程設計和流程控制兩部分,流程設計包括流程管理、表單管理、服務產品等功能,流程控制包括創建工單、工單處理等功能,如圖5所示。
表單管理由下往上從邏輯上劃分為數據層、數據處理層、服務層、應用層等四個邏輯結構層,如圖6所示。
流程管理由下往上從邏輯上劃分為數據層、數據處理層、服務層、應用層等四個邏輯結構層,如圖7所示。
數據層主要流程模型、流程實例等信息。流程模型保存流程模型的名稱、流程類型、根據SVG矢量圖形生成的json信息等。流程實例保存流程實例對應的工單、流程節點信息、流程狀態等信息。
數據處理層是通過關系數據庫技術對流程模型、流程配置信息、流程實例及其執行信息等數據進行管理。
服務層包括圖形轉換服務、流程設計服務、流程配置服務、流程實例創建、流程實例處理等服務。
應用層通過流程設計工具畫板,采用鼠標拖拽、點擊等圖形化設計方式實現可視化流程設計。
2? 平臺部署
綜合運維管理平臺與云管平臺、網管平臺、安管平臺部署位置相同,部署在運維管理網,通過獨立的帶外網絡與安全生產網、內部管理網、外部服務網互聯,如圖8所示。
3? 結? 論
綜合運維管理平臺的研制以安全為核心目標,在全面采集安全日志數據的基礎上,通過全棧日志分析技術,建立安全基線,對偏離安全基線的安全事件進行實時預警,通過圖形的自動流程引擎定義靈活的安全事件處置流程,對安全事件產生的預警按照預設的運維流程,調動各方人員進行協同處置,實現了監控、預警、處置的閉環安全管理,在“城軌云”具有廣闊的應用推廣價值。
參考文獻:
[1] 南京第五十五所技術開發有限公司.云計算平臺運維與開發(初級) [M].北京:高等教育出版社,2020.
[2] 王見.物聯網之云:云平臺搭建與大數據處理 [M].北京:機械工業出版社,2018.
[3] 劉波,紀娟.云平臺中用戶行為與訪問控制策略研究 [M].成都:四川大學出版社,2018.
[4] 全國信息安全標準化技術委員會.信息安全技術 網絡安全安全等級保護測評要求:GB/T 28448-2019 [S].北京:中國標準出版社,2019.
[5] 全國信息安全標準化技術委員會.信息安全技術 網絡安全預警指南:GB/T 32924-2016 [S].北京:中國標準出版社,2017.
[6] 全國信息安全標準化技術委員會.信息安全技術 信息系統安全運維管理指南:GB/T 36626-2018 [S].北京:中國標準出版社,2019.
[7] 全國信息安全標準化技術委員會.信息安全技術 網絡安全監測基本要求與實施指南:GB/T 36635-2018 [S].北京:中國標準出版社,2018.
作者簡介:楊志杰(1975.12—),男,漢族,山西霍州人,高級工程師,本科,研究方向:軌道交通計算機測控技術。