胡冠楠
安科瑞電氣股份有限公司 上海嘉定
摘 要:國(guó)網(wǎng)江蘇省電力有限公司(以下簡(jiǎn)稱(chēng)江蘇公司)開(kāi)展云平臺(tái)建設(shè)和應(yīng)用,推進(jìn)“千臺(tái)入云、系統(tǒng)上云"的專(zhuān)項(xiàng)工作,為泛在電力物聯(lián)網(wǎng)的建設(shè)提供可靠的云計(jì)算服務(wù)。為提高云平臺(tái)的運(yùn)維能力,提出指標(biāo)采集和存儲(chǔ)、指標(biāo)分析和可視化以及實(shí)時(shí)告警技術(shù)方案,構(gòu)建物理機(jī)、平臺(tái)、存儲(chǔ)、應(yīng)用的體系化監(jiān)控體系,實(shí)現(xiàn)國(guó)網(wǎng)云運(yùn)行監(jiān)控和異常事件的實(shí)時(shí)告警。
關(guān)鍵詞:泛在電力物聯(lián)網(wǎng);云計(jì)算;監(jiān)控系統(tǒng)
引言
國(guó)家電網(wǎng)公司(以下簡(jiǎn)稱(chēng)國(guó)網(wǎng)公司)于2019年3年部署開(kāi)展泛在電力物聯(lián)網(wǎng)建設(shè)。國(guó)網(wǎng)江蘇省電力有限公司(以下簡(jiǎn)稱(chēng)江蘇公司)從2018年開(kāi)展云平臺(tái)建設(shè),按照“分級(jí)分域"的原則同時(shí)開(kāi)展虛擬化平臺(tái)OpenStack和容器化平臺(tái)K8s建設(shè),通過(guò)開(kāi)展“千臺(tái)入云,系統(tǒng)入云"的國(guó)網(wǎng)云建設(shè)工作,取得了巨大的成效。截止2019年8月份,國(guó)網(wǎng)云平臺(tái)已納管851臺(tái)服務(wù)器,入云212套系統(tǒng),穩(wěn)定運(yùn)行400余天。
江蘇公司的OpenStack 平臺(tái)采用Kolla 部署,Kubernetes(以下簡(jiǎn)稱(chēng)K8s)平臺(tái)采用Kuberspray方案部署,這兩個(gè)方案都將平臺(tái)組件部署在容器中,這種方式大幅提升了云平臺(tái)的部署效率,同時(shí)江蘇公司大力推進(jìn)應(yīng)用系統(tǒng)容器化改造工作,應(yīng)用系統(tǒng)的整體技術(shù)架構(gòu)往容器化、微服務(wù)化架構(gòu)方向轉(zhuǎn)變。
為提升云平臺(tái)的運(yùn)維能力,本文探索針對(duì)容器化平臺(tái)組件和容器化應(yīng)用的云平臺(tái)監(jiān)控系統(tǒng)建設(shè)。容器具有無(wú)固定IP地址、數(shù)量大、運(yùn)行周期短等特點(diǎn),采用Agent 或者Agentless 等方式采集數(shù)據(jù)的Zabbix、Naggio 等傳統(tǒng)監(jiān)控工具不能滿足要求。為此,本文尋求其他技術(shù)解決方案。文獻(xiàn)[1]和文獻(xiàn)[2]提出傳統(tǒng)方式部署的OpenStack平臺(tái)監(jiān)控工具,但是不適合容器化云平臺(tái)。文獻(xiàn)[3]和文獻(xiàn)[4]提出基于云原生開(kāi)源監(jiān)控軟件Prometheus構(gòu)建云平臺(tái)監(jiān)控系統(tǒng),開(kāi)源軟件Grafana展示平臺(tái)運(yùn)行狀態(tài),部署方式簡(jiǎn)單,符合容器化部署云平臺(tái)的技術(shù)路線,但是沒(méi)有提出實(shí)時(shí)監(jiān)控的技術(shù)方案。文獻(xiàn)[5]提出一種基于流式計(jì)算的監(jiān)控技術(shù),縮減指標(biāo)數(shù)據(jù)采集的時(shí)延,適用于大規(guī)模云平臺(tái)環(huán)境,但是該技術(shù)方案部署復(fù)雜。
綜上所述,本文選擇符合容器化云平臺(tái)技術(shù)特點(diǎn)、部署簡(jiǎn)單、開(kāi)源技術(shù)主的技術(shù)方案,以Prometheus為采集服務(wù)、Grafana為監(jiān)控展現(xiàn)服務(wù)、智能巡檢平臺(tái)為告警平臺(tái)的云平臺(tái)監(jiān)控解決方案。
1、云平臺(tái)監(jiān)控方案
1.1 技術(shù)架構(gòu)
本文組合監(jiān)控工具Prometheus、可視化工具Grafana以及智能巡檢平臺(tái)作為國(guó)網(wǎng)云的統(tǒng)一監(jiān)控系統(tǒng),實(shí)現(xiàn)了OpenStack和K8s平臺(tái)集群的監(jiān)控全覆蓋,滿足了立體化監(jiān)控需求,總體技術(shù)架構(gòu)如圖1所示。
圖1 云平臺(tái)監(jiān)控技術(shù)架構(gòu)
(1) 指標(biāo)采集及存儲(chǔ):監(jiān)控系統(tǒng)需要有可靠的監(jiān)控后臺(tái)以及監(jiān)控代理,滿足云平臺(tái)中設(shè)備、平臺(tái)以及應(yīng)用等各個(gè)層面的指標(biāo)采集和存儲(chǔ)需求,選擇Prometheus 以及配套使用的相關(guān)代理作為解決方案。Prometheus系統(tǒng)采用中心化的數(shù)據(jù)采集、分析和分布式的監(jiān)控代理的設(shè)計(jì)理念,目前PrometheusG方認(rèn)證有約600個(gè)代理,覆蓋服務(wù)器、中間件、數(shù)據(jù)庫(kù)、云平臺(tái)、應(yīng)用等對(duì)象,滿足國(guó)網(wǎng)云統(tǒng)一監(jiān)控的需求。
(2) 指標(biāo)分析和展現(xiàn):原始的指標(biāo)展示的信息有限,無(wú)法展示平臺(tái)的運(yùn)行情況,本文設(shè)計(jì)指標(biāo)分析公式,更掌握物理節(jié)點(diǎn)資源使用情況、云平臺(tái)資源分配情況、云應(yīng)用運(yùn)行情況,同時(shí)利用Grafana等開(kāi)源可視化工具,實(shí)現(xiàn)指標(biāo)的可視化展現(xiàn)。
(3) 實(shí)時(shí)告警:除了通過(guò)指標(biāo)分析掌握平臺(tái)運(yùn)行狀態(tài)以及性能情況,本文還設(shè)計(jì)告警規(guī)則實(shí)現(xiàn)了重要異常事件的實(shí)時(shí)告警,將告警信息推送給調(diào)度運(yùn)行監(jiān)控平臺(tái),實(shí)現(xiàn)國(guó)網(wǎng)云運(yùn)行的7×24 h監(jiān)控,保證故障的及時(shí)處置。
1.2 立體化監(jiān)控
為采集OpenStack平臺(tái)宿主機(jī)以及集群運(yùn)行數(shù)據(jù),研究采用node?exporter代理采集宿主機(jī)的資源運(yùn)行指標(biāo)、OpenStack?exporter代理采集平臺(tái)的運(yùn)行指標(biāo)、ceph?exporter代理采集后端分布式存儲(chǔ)的運(yùn)行指標(biāo),實(shí)現(xiàn)宿主機(jī)以及平臺(tái)兩個(gè)層面的主要運(yùn)行指標(biāo)的采集。幾種OpenStack實(shí)例監(jiān)控代理的作用和部署方式如表1所示。
為采集K8s平臺(tái)宿主機(jī)、集群以及承載的物聯(lián)網(wǎng)應(yīng)用容器運(yùn)行數(shù)據(jù),研究采用node?exporter采集宿主機(jī)的資源運(yùn)行指標(biāo)、cAdvisor采集所有容器運(yùn)行指標(biāo)、kube?state?metrics采集所有Pod容器運(yùn)行狀態(tài)、kube?metrics 采集平臺(tái)等信息,實(shí)現(xiàn)宿主機(jī)、平臺(tái)、容器應(yīng)用3個(gè)層面的主要運(yùn)行指標(biāo)的采集幾種K8s實(shí)例監(jiān)控代理的作用和部署方式如表2所示。
1.3 運(yùn)行分析
為掌握國(guó)網(wǎng)云的運(yùn)行情況,本文基于監(jiān)控系統(tǒng)采集的原始指標(biāo),結(jié)合業(yè)務(wù)實(shí)際需求,開(kāi)展運(yùn)行分析,設(shè)計(jì)指標(biāo)分析公式,掌握OpenStack云平臺(tái)資源分配情況、K8s平臺(tái)資源分配情況、應(yīng)用容器運(yùn)行情況,通過(guò)可視化展示工具Grafana實(shí)現(xiàn)運(yùn)行指標(biāo)的可視化展示,提升了平臺(tái)運(yùn)行分析的便捷性。以O(shè)penStack平臺(tái)運(yùn)行分析為例,OpenStack平臺(tái)主要通過(guò)整合硬件服務(wù)器資源,對(duì)外提供虛機(jī)計(jì)算資源,因此實(shí)時(shí)掌握已創(chuàng)建的虛機(jī)數(shù)量、分配的虛機(jī)CPU及內(nèi)存資源占比等信息,對(duì)指導(dǎo)平臺(tái)資源分配以及資源擴(kuò)容具有重要的幫助意義。CPU及內(nèi)存資源分配占比分別為公式(1)和公式(2)
UsageCPU = (sum(hypervisor_vcpus_used) )/(sum(hypervisor_vcpus_total) )× 100% (1)
UsageMem = (sum(hypervisor_memory_mbs_used) )/(sum(hypervisor_memory_mbs_total) )× 100% (2)
1.4 實(shí)時(shí)告警
在實(shí)現(xiàn)監(jiān)控全覆蓋、指標(biāo)分析和可視化的基礎(chǔ)上,考慮實(shí)時(shí)告警的運(yùn)維需求,研究告警規(guī)則的配置。以O(shè)penStack 節(jié)點(diǎn)文件系統(tǒng)使用率異常為例,本文設(shè)計(jì)告警公式(3),當(dāng)監(jiān)控系統(tǒng)檢測(cè)到文件系統(tǒng)超過(guò)95%,將推送告警信息給告警平臺(tái)。
v100- (node_ filesystem_ free{mountpoint ="/"})/(node_ filesystem_size{mountpoint ="/"})×100)>95(3)
初步梳理出10個(gè)重要告警,這些告警直接影響到平臺(tái)或者宿主機(jī)的運(yùn)行。目前配置的監(jiān)控指標(biāo)都是滿足可用性的指標(biāo),如表3所示。
表3 云平臺(tái)告警規(guī)則
2、平臺(tái)監(jiān)控實(shí)踐
2.1 OpenStack平臺(tái)的監(jiān)控實(shí)踐
江蘇公司部署有多個(gè)OpenStack集群,每個(gè)集群的設(shè)備、平臺(tái)以及服務(wù)有上百個(gè)運(yùn)行指標(biāo)采集。為保證指標(biāo)數(shù)據(jù)采集的實(shí)時(shí)性以及監(jiān)控系統(tǒng)的可靠性,江蘇按照“一集群、一監(jiān)控"的原則,采用一個(gè)Prometheus 實(shí)例監(jiān)控一個(gè)OpenStack集群的部署架構(gòu),保證每個(gè)國(guó)網(wǎng)云實(shí)例都有獨(dú)立的監(jiān)控系統(tǒng),降低監(jiān)控系統(tǒng)對(duì)存儲(chǔ)空間的需求,同時(shí)將告警信息對(duì)接至智能巡檢平臺(tái),整體架構(gòu)如圖2。
圖2 OpenStack集群監(jiān)控架構(gòu)
考慮宿主機(jī)監(jiān)控和OpenStack平臺(tái)監(jiān)控不同的業(yè)務(wù)需求,定制宿主機(jī)和平臺(tái)兩個(gè)維度的Grafana監(jiān)控頁(yè)面。平臺(tái)監(jiān)控面板主要展現(xiàn)平臺(tái)規(guī)模、平臺(tái)服務(wù)狀態(tài)、資源使用情況等,如圖3所示。宿主機(jī)監(jiān)控面板主要展現(xiàn)主機(jī)狀態(tài)、物理資源使用情況。不同于平臺(tái)面板統(tǒng)計(jì)的是分配資源占比,物理資源面板統(tǒng)計(jì)的是宿主機(jī)實(shí)際資源使用率。
圖3 OpenStack平臺(tái)資源監(jiān)控面板
2.2 K8s平臺(tái)的監(jiān)控實(shí)踐
江蘇公司部署有多個(gè)K8s集群,按照“一集群、一監(jiān)控"的原則,采用一個(gè)Prometheus實(shí)例監(jiān)控一個(gè)K8s集群的部署架構(gòu),保證每個(gè)國(guó)網(wǎng)云實(shí)例都有獨(dú)立的監(jiān)控系統(tǒng),告警信息對(duì)接至智能巡檢平臺(tái),整體架構(gòu)如圖4。
圖4 K8s集群監(jiān)控架構(gòu)
考慮宿主機(jī)監(jiān)控、K8s平臺(tái)監(jiān)控以及容器應(yīng)用監(jiān)控不同的業(yè)務(wù)需求,江蘇公司將Prometheus數(shù)據(jù)接入可視化平臺(tái)Grafana,并且配置個(gè)性化監(jiān)控儀表盤(pán),提供了宿主機(jī)、平臺(tái)、容器應(yīng)用3個(gè)維度的監(jiān)控頁(yè)面,容器應(yīng)用監(jiān)控面板如圖5所示。
圖5 K8s容器應(yīng)用監(jiān)控面板
通過(guò)實(shí)施本文的技術(shù)方案,江蘇公司OpenStack平臺(tái)監(jiān)控系統(tǒng)實(shí)現(xiàn)了7套OpenStack、250余臺(tái)設(shè)備、2500余個(gè)虛機(jī)規(guī)模的云平臺(tái)的實(shí)時(shí)監(jiān)控,K8s平臺(tái)監(jiān)控系統(tǒng)實(shí)現(xiàn)了4套OpenStack、90余臺(tái)設(shè)備、700余個(gè)虛機(jī)規(guī)模的云平臺(tái)的實(shí)時(shí)監(jiān)控,同時(shí)具備重要告警的實(shí)時(shí)告警能力,T補(bǔ)了江蘇公司云平臺(tái)監(jiān)控的空白,為泛在電力物聯(lián)網(wǎng)應(yīng)用的運(yùn)行提供堅(jiān)強(qiáng)的運(yùn)行支撐保障。
3、安科瑞配電系統(tǒng)智能運(yùn)維產(chǎn)品選型及介紹
近兩年來(lái),安科瑞已經(jīng)陸續(xù)參與各縣市電力公司的用戶端能源管理平臺(tái)、云南省網(wǎng)綜合能源服務(wù)平臺(tái)、上海嘉定區(qū)147所學(xué)校電力運(yùn)維平臺(tái)等相關(guān)平臺(tái)的建設(shè),提供了包括云平臺(tái)、智能網(wǎng)關(guān)、終端設(shè)備等產(chǎn)品,各類(lèi)用戶端云平臺(tái)在全國(guó)各地運(yùn)行案例700多套,并且根據(jù)用戶需求不斷完善產(chǎn)品功能,這些都是未來(lái)泛在電力物聯(lián)網(wǎng)的一部分。
綜合能源服務(wù)是以電為中心,把電力系統(tǒng)與天然氣網(wǎng)絡(luò)、供熱網(wǎng)絡(luò)、工業(yè)系統(tǒng)、交通系統(tǒng)、建筑系統(tǒng)等緊密結(jié)合起來(lái),實(shí)現(xiàn)電、氣、冷、熱、可再生能源等多能互補(bǔ)和“源-網(wǎng)-荷-儲(chǔ)"各環(huán)節(jié)高度協(xié)調(diào)優(yōu)化,生產(chǎn)和消費(fèi)雙向互動(dòng),集中與分布相結(jié)合的能源服務(wù)。
3.1安科瑞智能網(wǎng)關(guān)、終端設(shè)備選型
3.2 安科瑞智能運(yùn)維平臺(tái)介紹
平臺(tái)結(jié)構(gòu)
變配電站通過(guò)安裝多溫濕度傳感器,水浸傳感器,煙霧傳感器,門(mén)磁開(kāi)關(guān)等傳感器,通過(guò)網(wǎng)關(guān)經(jīng)無(wú)線(3G/4G)或有線的方式將數(shù)據(jù)上傳云服務(wù)器上,并將數(shù)據(jù)進(jìn)行集中存儲(chǔ)、統(tǒng)一管理。具有權(quán)限的用戶可通過(guò)PC、PAD、手機(jī)等各類(lèi)終端設(shè)備訪問(wèn)數(shù)據(jù)、接收?qǐng)?bào)警信息,監(jiān)控變配電站環(huán)境狀態(tài)。
運(yùn)維平臺(tái)功能:
安科瑞變電所運(yùn)維云平臺(tái)(AcrelCloud-1000)根據(jù)市場(chǎng)需求反饋,運(yùn)用互聯(lián)網(wǎng)和大數(shù)據(jù)技術(shù),為電力運(yùn)維公司提供配套線上運(yùn)維服務(wù)。該平臺(tái)作為連接運(yùn)維單位和用電企業(yè)的紐帶,監(jiān)視用戶配電系統(tǒng)的運(yùn)行狀態(tài)和電量數(shù)據(jù),為客戶提供更好的運(yùn)維服務(wù),平臺(tái)提供系統(tǒng)總覽、電力數(shù)據(jù)監(jiān)測(cè)、電能質(zhì)量分析、用電統(tǒng)計(jì)分析和日/月/年電能統(tǒng)計(jì)報(bào)表、異常預(yù)警、事故報(bào)警和事件記錄、運(yùn)行環(huán)境監(jiān)測(cè)、運(yùn)維巡檢派單等功能,并支持多平臺(tái)、多終端數(shù)據(jù)訪問(wèn)。
電力監(jiān)測(cè)
通過(guò)矢量配電圖監(jiān)測(cè)變電所用電情況,畫(huà)面響應(yīng)遙信變位、遙測(cè)越限報(bào)警,點(diǎn)擊某個(gè)配電回路后可以查詢?cè)撆潆娀芈返母黝?lèi)詳細(xì)用電參數(shù),包括實(shí)時(shí)值、平均值;
實(shí)時(shí)監(jiān)測(cè)變壓器運(yùn)行情況,包括功率、負(fù)荷率、需量、繞組溫度等。
提供多種類(lèi)型的查詢報(bào)表,可以查詢各配電回路的各類(lèi)電力參數(shù)(電壓、電流、功率、頻率、諧波、三相不平衡度等),系統(tǒng)可以對(duì)某電力參數(shù)按照天、月進(jìn)行統(tǒng)計(jì)。
可實(shí)現(xiàn)漏電監(jiān)測(cè)、線纜及母排溫度監(jiān)測(cè)。
故障報(bào)警
平臺(tái)可配置遙信變位報(bào)警(水浸、煙霧、門(mén)磁、開(kāi)關(guān)跳閘等)、遙測(cè)越限報(bào)警(過(guò)壓、欠壓、過(guò)流、線纜溫度過(guò)高、繞組溫度過(guò)高等)、運(yùn)行報(bào)警(儀表離線、網(wǎng)關(guān)離線等),并將接收到的報(bào)警通過(guò)短信、網(wǎng)頁(yè)推送,報(bào)警上下限可根據(jù)現(xiàn)場(chǎng)情況靈活配置。
能效分析
按照配電回路、區(qū)域、部門(mén)、分項(xiàng)(照明、空調(diào)、動(dòng)力等)統(tǒng)計(jì)每時(shí)、每天、每月、每年用電數(shù)據(jù),并進(jìn)行同環(huán)比分析;
按尖、峰、平、谷統(tǒng)計(jì)各配電回路的用電量及用電金額;
統(tǒng)計(jì)四象限電能并計(jì)算每天、每月的平均功率因數(shù);
按月統(tǒng)計(jì)每個(gè)回路的需量及發(fā)生值,為需量申報(bào)提供依據(jù)。
設(shè)備檔案
系統(tǒng)可配置每個(gè)變電所內(nèi)變壓器、進(jìn)線柜、出線柜、計(jì)量柜、高壓電纜等設(shè)備信息,記錄設(shè)備的廠家、型號(hào)、投運(yùn)日期等,并可靈活定義設(shè)備的巡檢項(xiàng)、缺陷類(lèi)別等信息。
巡檢消缺
通過(guò)系統(tǒng)編制巡檢計(jì)劃,并將計(jì)劃下發(fā)到巡檢人員手機(jī)上,巡檢人員在變電所現(xiàn)場(chǎng)根據(jù)巡檢要求執(zhí)行巡檢任務(wù),如果在巡檢過(guò)程中發(fā)現(xiàn)缺陷,可記錄缺陷并在系統(tǒng)中生成消缺任務(wù)。
?用戶報(bào)告
手機(jī)APP
通過(guò)手機(jī)APP實(shí)現(xiàn)配電圖查看、視頻監(jiān)視及回放、電力參數(shù)查詢、需量統(tǒng)計(jì)、用能分析,并可通過(guò)手機(jī)接收?qǐng)?bào)警、執(zhí)行巡檢、記錄缺陷.
4、結(jié)語(yǔ)
本文實(shí)現(xiàn)江蘇公司國(guó)網(wǎng)云宿主機(jī)、OpenStack平臺(tái)服務(wù)、K8s平臺(tái)服務(wù)以及K8s容器應(yīng)用等主要運(yùn)維對(duì)象的監(jiān)控,覆蓋了設(shè)備層、平臺(tái)層和應(yīng)用層,并且實(shí)現(xiàn)了重要指標(biāo)的采集和展示,幫助運(yùn)維人員分析運(yùn)行健康狀態(tài),同時(shí)通過(guò)告警規(guī)則的配置,實(shí)現(xiàn)了重要運(yùn)行指標(biāo)的7×24 h監(jiān)控,大大提升了云平臺(tái)故障處置效率,為泛在電力物聯(lián)網(wǎng)的大規(guī)模建設(shè)和應(yīng)用提供可靠的、持續(xù)的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源服務(wù)。
本文設(shè)計(jì)的方案主要實(shí)現(xiàn)OpenStack和K8s云平臺(tái)資源使用和可用狀態(tài)的監(jiān)控,暫不具備監(jiān)控云平臺(tái)運(yùn)行性能和判斷平臺(tái)故障點(diǎn)的能力。因此,對(duì)云平臺(tái)核心組件運(yùn)行性能和運(yùn)行日志的分析將是下一步研究的主要工作。
參考文獻(xiàn)
【1】董波,沈青,肖德寶. 云計(jì)算集群服務(wù)器系統(tǒng)監(jiān)控方法的研究[J]計(jì)算機(jī)工程與科學(xué).
【2】鄒昊東,丁正陽(yáng),滕愛(ài)國(guó),韋健.省級(jí)泛在電力物聯(lián)網(wǎng)云平臺(tái)監(jiān)控系統(tǒng)建設(shè)實(shí)踐.
【3】安科瑞企業(yè)微電網(wǎng)設(shè)計(jì)及應(yīng)用手冊(cè).2020.06版