本文摘要:隨著電力計量設備種類、數量的持續增長,采集數據項、頻次的逐漸增多,電能量數據量呈爆發式增長趨勢,如何建立一套切實有效的電力計量關鍵業務全鏈路監測體系,加強對各關鍵業務鏈路級的監測,進一步提高電力計量主站運維效能,值得深入探討與研究。本文以南方電網某
隨著電力計量設備種類、數量的持續增長,采集數據項、頻次的逐漸增多,電能量數據量呈爆發式增長趨勢,如何建立一套切實有效的電力計量關鍵業務全鏈路監測體系,加強對各關鍵業務鏈路級的監測,進一步提高電力計量主站運維效能,值得深入探討與研究。本文以南方電網某省電力公司為例,通過分析電力計量主站運行監測現狀問題以及南方電網相關政策要求,設計了基于典型場景分析、監測對象與指標界定、技術路線設計、監測信息攔截收集、傳輸與匯聚、數據處理展現的電力計量主站采集鏈路監測整體方案。
關鍵詞電力計量;主站采集;鏈路監測;技術設計
當前電力行業發展面臨供給側結構性改革、售電市場放開、能源新技術涌現等變化,隨著電力計量設備種類、數量的持續增長,采集數據項、頻次的逐漸增多,電能量數據量呈暴發式增長趨勢,對電力計量主站運行水平提出了更高要求,如何建立一套切實有效的電力計量主站采集鏈路監測體系,加強對各關鍵業務鏈路級的監測,進一步助力電力計量主站運維效能提高,值得深入探討與研究。
1電力計量主站采集鏈路監測技術架構
1.1系統架構
電力計量主站采集鏈路監測系統是由電力計量主站、通信網絡和采集終端共同構成的,以此實現對所有電力用戶數據信息的采集、分析、處理以及應用。
1.2系統主站電力計量主站采集鏈路監測系統主站是由應用服務器、接口服務器、業務處理器以及通信前置機共同組成的。其中,應用服務器可以向廣大電力用戶提供數據和Web等的優質服務,接口服務器可以實現數據信息的存儲和管理,業務處理器可以實現對數據信息的實時備份,更進一步保證了數據信息的安全性;通信前置機具有通信調度、鏈路管理以及信息數據統計等的功能。
1.3通信網絡通信網絡作為整個電力計量主站采集鏈路監測中的一個重要組成部分,對于系統的優劣和應用范圍要求很高,其需要借助先進的技術手段,才能將搜集到的數據信息匯總到系統主站上,使其具備主端命令下達的重要功能。
2電力計量主站采集鏈路監測的建設必要性
2.1省公司計量主站采集運維現狀及問題
南方電網某省電力公司計量主站自上線至今已穩定運行多年,在服務器、中間件、數據庫等系統狀態及覆蓋率、自動抄表率等業務指標全部實現了高效的監測。伴隨著公司系統規模的不斷壯大和業務量的逐年增加,導致內部資源對象、業務層級和容器層級的監管和排查變得越來越麻煩。當前電力計量主站系統監控暴露出以下幾方面的問題:
(1)故障定位效率需提升。在對系統進行一段時間的迭代建設以后,完善功能層面的各項信息,架構也隨之優化升級,監控系統故障定位效率也面臨著新的機遇,如監控資源對象動態可變,無法進行預先配置[1];缺乏一致性的監控視角,使得故障排除效果不夠理想。
(2)趨勢預測能力差。以往使用的傳統監控預警算法里,監控數據影響著預警閾值的選取,暗漲和陰跌的數據變化不夠明顯,數據變化趨勢控制非常困難,漏報、誤報的情況時有發生。借助被動預警方式的系統擴容手段對異常問題進行處理,因此,需要有完善的預測機制來高效地預測可能會發生的問題。
(3)傳統抄表弊端。由于傳統的抄表工作不論是管理方式還是作業流程都比較分散,且受人為的影響因素較大。加之,傳統抄表工作主要由抄表人員通過使用電話、短信或者上門等的方式實現電費的催繳,缺少統一的繳費管理,無法有效完成電費的收繳,且監管力度不夠以及催繳效果不理想等的弊端。
2.2南網數字化轉型與電能量數據深化應用要求
近年來,南方電網公司提出了“數字南網、智慧南網”的建設目標,而計量自動化系統作為南網關鍵組成系統之一,是支撐南網數字化轉型成功的關鍵組成要素,其在“數據資源、數字電網、數字運營、數字能源生態”建設中發揮著巨大的作用。
同時,南方電網公司在2020年也提出了“開展新一代計量自動化主站技術研究”“加強主站性能在線監測”等要求。隨著電力計量設備種類、數量的持續增長,采集數據項、頻次的逐漸增多,電能量數據量呈暴發式增長趨勢,進一步凸顯了電力計量主站要提升計量采集能力、加強主站性能監測等方面要求。因此,本文建立一套切實有效的電力計量主站采集鏈路監測體系,加強對各關鍵業務鏈路級的監測,進一步助力電力計量主站運維效能提高,具有十分重要的意義。
3電力計量主站采集鏈路監測整體設計
3.1典型場景分析
監控系統的主要作用是全面掌握現場所有場景的運行情況,仔細觀察監控系統,能夠及時發現潛在的問題,并采取措施予以處理。借鑒其他行業領域全鏈路監測技術應用情況,典型全鏈路監測場景主要包括以下幾個方面:
(1)獲取監控數據。在對監測內容、全鏈路調用等監控樣本信息從實例中獲取時,具有較強的周期性,使用時間序列數據庫來儲存這些獲取的信息。(2)可視化展示拓撲發現與數據狀態。從客戶端到服務器端,使網絡拓撲結構、數據庫、中間件和應用系統等得到了全面的展現,對服務端應用代碼進行自動監測。
(3)應用系統報警。業務系統的狀態信息被及時記錄,科學設計預警閾值,系統出現問題以后,其某一狀態就會超出閾值的范圍會自動報警,顯示出現問題的具體鏈路節點信息,監測系統及時反應出來,管理員在第一時間做出判斷。(4)故障診斷分析與定位。鏈路請求分析工具的慢請求,借助深入診斷工具鉆取鏈路信息,從系統網絡拓撲節點開始直到代碼型號級別,在分析歷史數據和監控指標以后,及時找到問題的根源,給研發人員和運行維護人員對問題進行處理提供依據。
3.2監測對象和指標界定
運行全鏈路監測是指從全局上下游視角出發,利用信息采集、計算與展示技術,反映呈現監測對象即端到端調用鏈路節點的健康狀況監測指標信息,助力業務運維人員快速發現、定位、排查問題。其中,端到端調用鏈路節點、健康狀況監測指標信息是運行全鏈路監測的核心概念。
(1)合理的監測對象,即端到端調用鏈路節點是承載運行全鏈路監測的必要前提。端到端調用鏈路節點,即從請求源頭到最后的結束調用的所有中間環節,這就是通常意義上的業務服務的調用路徑。在跟蹤分析調用路徑以后,及時發現前后端響應報錯或者是遲緩的根本原因,明確最佳使用路徑,優化升級使用性能。
(2)符合真實業務特性的健康狀況監測指標信息是開展運行全鏈路監測的關鍵。健康狀況監測指標,通常包括響應時間[2]、TPS[2](流量)、并發數[2]等。監測指標的計算因子為指標基礎數據,使用該計算因子以后,能夠快速地將指標數據準確的計算出來,從監控對象中直接獲取相關信息,為整個監控系統提供可靠的依據。該系統監控的核心內容為整個調用鏈路和監控服務,服務鏈路和節點為監控對象,以計算公式和指標定義為基礎,最終確定指標基礎數據的內容有請求服務名稱、接收請求時間、發送請求時間、響應服務名稱、調用鏈路ID(即ParentSpanID)、調用URL以及調用鏈路全ID(即TraceID)等。
3.3技術路線設計
為確實保障電力計量主站采集鏈路監控數據的真實性及客觀性,將獨立開發建設監控系統,并針對性的開發實用化監控數據采集客戶端,嵌入計量系統采集監控數據,并集中采集到監控系統服務端進行分析統計及實時展示,最終實現鏈路監控的建設。因此,設計開源監控組件和分布式組件結合的監測系統技術架構,整個電力計量主站采集鏈路監測從技術架構上會根據具體業務不同有所變化,分為物理層、服務層、應用層。其中:
(1)物理層。應用層和服務層為虛擬化Docker容器,調度系統和容器管理為Kubernetes,使各項任務部署變得更加快捷,最大化的完成資源使用和遷移。(2)服務層。包括監測信息攔截收集、數據傳輸與匯聚以及數據存儲與處理。(3)應用層。通過可視化Web界面來查詢電力計量關鍵業務全鏈路、采集信息和監測指標,同時還提供根據不同維度的綜合統計分析應用。
3.3.1監測信息攔截收集
監控的核心問題在于對業務系統運行數據的實時采集上,為保障數據來源可靠和真實,并且對原業務系統的性能影響較小,因此采用了非侵入式探針技術。非侵入式探針技術監測在采集方式上屬于旁路連接方式,由于不需要在業務系統中安裝客戶端,減少了對業務系統的影響,避免了給現有業務增加管理復雜度,減少了業務運行故障點,在監測系統出現問題以后,現有的監測系統不會受到任何的影響,使系統的穩定性得到保證,同時,通過采集方式的熱部署和無縫銜接,還可以保證監測系統的可擴展性。
應用在監測信息攔截技術選型上采用Pingpoint。Pinpoint是一款全鏈路分析工具,提供了無侵入式的調用鏈監控、方法執行。通過選用Pinpoint工具開展探針及數據采集工作,公司根據業務需求對其進行探針優化改造和插件開發,使它能夠更大程度滿足設計需求。
3.3.2傳輸與匯聚
通過監測信息攔截收集功能,系統完成了對鏈路監測信息的收集后,再由收集器將這些數據通過數據發送器負責將采集到的數據以數據流的方式發送給數據匯聚器。其中,數據發送器通常和監測信息收集器通常一起部署在同一臺服務器上,根據設置的發送數據間隔,將監控數據收集器中的信息采用異步線程同步的方式發送給數據匯聚器,減低對計量系統數據采集本身的性能影響。為了使數據能夠在監測系統服務端和發送器之間實現高效的傳輸,也為了降低海量數據入庫和準實時計算導致的性能問題,我們引入了實時消息隊列Kafka以及Zookeeper集群的模式作為監測數據統一匯聚器,以此為基礎,搭建數據高速傳輸路徑,使可插拔式集成得以實現,用戶能夠更加迅速、準確地獲得監測信息,使服務端與客戶端的流數據整合得以較好實現,為數據存儲和流式計算提供數據。
3.3.3數據處理展現
數據處理是監測系統的核心部分,主要通過獲取Kafka中的鏈路、指標數據,完成數據存儲和數據計算兩部分。其中,數據存儲采用ElasticSearch,一方面對調用鏈路、指標原始數據進行存儲,另一方面支持對經數據計算后的數據進行存儲。監控數據分析是數據計算處理的核心內容,以匯總的監控數據為基礎,使調用鏈各個節點上的響應時間、TPS、并發數和調用鏈得到準確的計算,以此為特征完成邏輯回歸模型的創建。
以歷史數據中獲取的調用鏈節點響應時間和并發數為基礎,對邏輯回歸模型的有關參數信息進行有效的訓練,準確地判斷出調用鏈在正 常運行狀態下的安全置信區域。在預測調用節點響應時間、TPS、并發數以及給定時間是否正常時,可以使調用鏈安全置信區域和邏輯回歸模式來快速預測出準確的結論。一旦發生問題,要第一時間報警。在應用過程中,針對監測系統做了很多定制化的改造,以更高的提高查詢效率,主要表現在以下兩個方面:
(1)優化查詢[3]。第一,優化查詢請求。將“時間戳”參數加入查詢請求中,實現相應日期索引文件的查詢,防止遍歷Elasticsearch中的全部索引文件。第二,優化單個traceID查詢。以往使用的查詢策略會遍歷Elasticsearch中全部的索引文件,并且“時間戳”數據也沒有包含在查詢請求中,使具體要訪問的索引文件得不到準確的確定。依據具體的天數來生成索引文件,將“時間戳”數據加入請求中以后,只能訪問對應日期的索引文件。針對“時間戳”相近索引文件創建時間點時,調用鏈的span會在兩天內的索引文件中查詢到,使時間戳當天和第二天的索引文件實現有效的訪問。
(2)預警算法[6]。監控數據的暗漲、持續陰跌或者是微量波動不會被傳統的監控預警算法所發現,使得故障漏報的情況時有發生。對于此類問題,將機器學習算法與mean-shift等均值漂移模型結合在一起后引入監控系統中,實現對監控數據變點的準確查詢。變點主要是指在持續微量下跌到一定時間以后,變化量累積到一定程度時,變點前后監測指標會在一段時間范圍之內發生均值漂移。
傳統監測預警算法難于識別的陰跌趨勢被均值漂移模型轉化成為CUSUM時間序列,通過對歷史數據的分析,使用機器學習算法將其變化趨勢自動地反映出來。使用支撐Web應用將處理好的數據展示出來,工具展現端為用戶提供各項服務,針對不同的角色提供不一樣的服務,還能夠將負載預測、應用瓶頸以及采集全鏈路等指標狀態進行完美的實現,最大程度的支撐了典型場景的實現。
結語
本文以南方電網某省電力公司為例,通過分析電力計量主站運行監測現狀問題以及南方電網相關政策要求,設計了基于典型場景分析、監測對象與指標界定、技術路線設計、監測信息攔截收集、傳輸與匯聚、數據處理展現的電力計量主站采集鏈路監測整體設計方案。這些內容已實現并開展應用,進一步提高了電力計量主站運行水平,助力了電力計量主站運維效能提高。且可滿足常見電力計量采集業務運行鏈路監測需要,對其他電力公司研究設計電力計量采集運行全鏈路監測具有較強的借鑒意義與可擴展性。
參考文獻
[1]馬永,吳躍,何李囡,等.基于Prometheus的基礎軟硬件全鏈路監控設計和實現[J].電子技術與軟件工程,2019(24):39-40.
[2]丁學英,劉迪,邱鎮.基于微服務架構的應用監控系統設計與實現[J].電力信息與通信技術,2018(7):75-79.
[3]佟業新,曲新奎.民航微服務架構設計[J].中國科技信息,2019(21):27-29.
[4]劉霞霞,高阿朋,任春雷,等.一種基于APM應用全鏈路監控工具設計[J].網絡安全技術與應用,2019(6):19-22.
[5]路輝,劉星.一種全鏈路分析工具在電力生產管理系統監控的應用[J].中國戰略新興產業,2019(18).
[6]李映.移動應用支撐系統中全景監控技術的研究與實現[J].電信工程技術與標準化,2019(06):61-65.
作者:林曉慶
轉載請注明來自發表學術論文網:http://www.zpfmc.com/dzlw/29421.html