戚偉強, 裴旭斌, 沈志豪, 耿繼樸, 陳珊, 王嘉怡, 陳澤堃
(國網浙江省電力公司 信息通信分公司, 浙江 杭州 310007)
計算機技術的發(fā)展促使電力系統自動化發(fā)生深刻變化,尤其體現在自動化運維方面。傳統的運維方式已經無法支撐現階段的運維工作,需要對當前的主流自動化運維技術進行深入研究,探索出適合電力系統的自動化運維方案。本文通過對運維自動化工具和技術的研究,并結合云計算平臺相關技術,在一線運維工作人員的配合下,理論聯系實際,設計一套完備、高效的運維自動化體系。
隨著國家電網公司信息化建設的深入,信息系統的正常運轉對IT設施依賴日益變強,因此對信息通信運行保障能力提出了更高的要求。近幾年,國家電網公司信息化逐步向云計算轉變,而隨著軟硬件資源池的建設,信息系統運行所依賴的環(huán)境也逐步由傳統架構向云架構演進?,F階段在運信息系統設備數量快速增長,運維人員的運維工作壓力沉重,傳統手動的工作模式已經無法滿足信息系統高效運行的需要,需要改變原有依賴大量人力的運維工作模式,提升技術手段,促進運維工作從被動變?yōu)橹鲃?、從手動變?yōu)樽詣?,完善運維自動化工具,支撐各類信息系統的安全運行,為電力發(fā)展提供便捷、高效、安全的信息保障[1]。
本文研究的運維自動化系統基于主流、開源、穩(wěn)定、可靠的技術進行構建,根據精準化運維、自動化運維的標準,將自動化部署、自動化配置、自動化任務、自動化巡檢、自動化監(jiān)控告警以及運維知識庫等功能進行有機整合,實現集中管理、集中展現,為運維工作提供重要的保障和支撐[2]。
2.1.1 規(guī)范性原則
遵循國家電網公司制定的外網移動交互平臺規(guī)范等標準化設計成果,保證運維自動化系統的標準化、結構化和規(guī)范化。
2.1.2 技術成熟原則
在總體技術路線方案選型中,著眼于業(yè)界通用開放性標準,采用先進、成熟的技術,使得系統能滿足國家電網公司現有的需求,同時適應未來一段時間的需求和發(fā)展變化的需要,并具備不斷演進的基礎條件。
2.1.3 效率及可靠性優(yōu)先原則
運維自動化系統面臨著數據量大、并發(fā)度高、可靠性要求高的嚴峻挑戰(zhàn),在系統的架構、組件、部署等設計中需要優(yōu)先考慮效率及可靠性,確保系統能滿足系統對其的性能要求,而且必須安全、可靠地運行。
2.1.4 可擴展性原則
系統具備良好的擴展性和可移植性,同時提供標準的開放接口,便于系統的升級改造和與其它系統進行數據和信息的交互[3]。
如圖1所示,運維自動化系統分從技術架構上分為基礎設施層、代理層、服務層、接口層和管理層。層與層之間通過低耦合方式的遠程通信技術或者中間件來實現業(yè)務數據的交互。
圖1 技術架構
2.2.1 基礎設施層
基礎設施層處于最底層,提供物理設備、云平臺等基礎設施。運維對象可以是物理主機,也可以是云平臺上的虛擬主機。支持常見的云平臺,如Openstack、vmware、cloudstack和EC2等。
2.2.2 代理層
代理層包含各個服務組件在運維對象上的代理程序和標準協議(SNMP等),從功能上,包括部署代理、配置巡檢代理、監(jiān)控代理和事件處理代理四個部分。各模塊的功能各自獨立,不相互依賴,模塊可以獨立部署。
2.2.3 服務層
服務層的技術架構圖2所示,各功能模塊的工作模式相同,均會提供服務接口,用于接收管理層的管理請求,接口將請求發(fā)送給服務引擎;服務引擎讀取運維規(guī)則庫來處理運維請求,最后將結果保存到關系型數據庫中。
圖2 服務層技術架構
2.2.3 接口層
接口層主要提供標準的RESTful接口服務,數據傳輸格式為JSON或XML。管理層調用接口,發(fā)送管理請求,接口層將請求放到消息隊列中;服務層從消息隊列中獲取請求,并執(zhí)行相應的運維操作。
2.2.4 管理層
運維自動化系統提供基于B/S 架構的操控臺,向下調用六大服務的功能接口來實現運維流程與底層技術操作的對接,實現運維自動化功能。對上,為PC端提供展示頁面、為管理員提供操作入口、為大屏展示提供數據源。
2.3.1 數據源
運維自動化系統中的數據庫包括標準數據庫和指標數據庫,標準數據庫實現參數、結果等的統一定義,指標數據庫實現指標數據的存儲與應用。
標準數據庫中的數據包括:
1) 接口數據:接口數據主要是指接口的類型。運維自動化系統對外提供的的接口為RESTful 的標準接口;
2) 參數數據:調用接口時傳遞的參數,以及運維任務執(zhí)行時傳遞的參數。參數的格式是JSON或者XML格式的數據;
3) 結果數據:結果數據與參數數據類似,統一標準和格式;
4) 文件數據:上傳的規(guī)則庫文件,以YAML和Python格式的文件為主。
指標數據庫中的數據包括:
1) 臺賬數據庫:軟、硬件的資產管理信息庫,存儲并管理臺賬信息和資產信息;
2) 用戶信息庫:管理員信息和普通用戶信息數據庫;
3) 監(jiān)測信息數據庫:監(jiān)測采集的系統性能等指標參數;
4) 運維任務數據:系統運行過程中的運維任務信息;
5) 系統狀態(tài)數據:保存運維自動化系統的運行狀態(tài);
6) 軟、硬件配置管理信息:軟、硬件的版本、配置、更新記錄等信息數據;
7) 日志數據:采集到的日志信息,便于分析故障和告警;
8) 規(guī)則庫:監(jiān)測告警、巡檢等需要的條件、處理動作、判斷標準等數據。
2.3.2 數據采集
運維自動化系統中數據采集的方式主要有兩種,一是通過部署在被管理服務器上的代理程序采集數據,二是使用標準協議,如SSH、SNMP、Telnet等采集數據。采集到的數據統一傳給服務層進行數據處理。
2.3.3 數據處理
數據處理是運維自動化系統的核心功能,將采集到的性能數據和狀態(tài)數據交給對應的功能模塊進行處理,將處理的結果存儲并展現給運維人員。
2.3.4 數據存儲
臺賬數據、運維數據、用戶信息數據和系統運行數據等使用關系型數據庫MySQL存儲和管理,采用多副本的方式保證數據的安全、可靠。
2.3.5 數據分析
數據分析完成基本的數據事件分析和異常分析,通過插件化的方式實現,用戶可以載入第三方的分析工具到運維自動化系統中,完成定制化的分析功能。
2.3.6 數據備份與恢復
運維自動化系統的數據統一保存在后端MySQL關系型數據庫中,數據庫的部署采用多副本的主從模式。MySQL的數據備份方式包括全量備份、增量備份。在主數據庫發(fā)生故障或者數據丟失的異常情況下,可以用從庫中的數據進行數據恢復,保證數據安全。
2.4.1 部署拓撲
運維自動化系統中的物理節(jié)點主要分為控制節(jié)點和代理節(jié)點,它管理的主機為受控節(jié)點。當控制節(jié)點的負載較高時,可以通過代理節(jié)點來分擔控制節(jié)點的負載,提供系統處理數據的能力。當網絡中存在防火墻等限制因素導致控制節(jié)點無法直接管理受控節(jié)點時,也可以通過代理節(jié)點實現間接管理。
圖3 部署拓撲
2.4.2 容量規(guī)劃
運維自動化系統各個組件都需要消耗存儲空間,其中自動化部署組件的數據存儲主要為了提供操作系統和軟件安裝源;自動化配置組件、自動化任務執(zhí)行組件、自動化巡檢組件的數據存儲主要為了記錄日常的任務執(zhí)行記錄;自動化監(jiān)控告警組件對數據存儲的需求比較高,主要為了記錄每個監(jiān)控項的歷史數據、趨勢數據和告警事件。
自動化監(jiān)控告警組件需要對數據存儲進行優(yōu)化,監(jiān)控項的歷史數據保存周期設置為7天,7天前的歷史數據會被周期性刪除;趨勢數據保存周期為30天,同樣以30天為周期進行刪除。大約每天產生2GB的監(jiān)控告警數據。具體所需的數據量主要看監(jiān)控主機的數量及任務執(zhí)行數量,估算數據如表1所示。根據對未來數據量的估算,以及存儲近五年的歷史數據的需求,數據庫容量約需500 GB。
表1 數據量估算
2.4.3 硬件環(huán)境設計
運維自動化系統的硬件環(huán)境設計如表2所示。
2.4.4 軟件環(huán)境設計
運維自動化系統的硬件環(huán)境設計如表3所示。
表2 硬件設計
表2 硬件設計
表3 軟件設計
本文通過對運維自動化相關工具和技術的研究,探索適合國家電網公司的運維自動化體系,逐步搭建以運維工具為主體的完整的運維系統,實現運維工作的轉變,即被動變主動、手動變自動,在保證信息系統運行可靠性和安全性的前提下,減輕運維工作人員的壓力,提高運維工作效率。同時,利用先進的計算機在運維領域的技術,與主流的云計算技術進行集成和整合,在未來幾年的技術發(fā)展中,可以對系統的功能設計進行擴展,跟進時代發(fā)展的步伐。