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