本站小编为你精心准备了电力计量主站采集链路监测技术探讨参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘要:随着电力计量设备种类、数量的持续增长,采集数据项、频次的逐渐增多,电能量数据量呈爆发式增长趋势,如何建立一套切实有效的电力计量关键业务全链路监测体系,加强对各关键业务链路级的监测,进一步提高电力计量主站运维效能,值得深入探讨与研究。本文以南方电网某省电力公司为例,通过分析电力计量主站运行监测现状问题以及南方电网相关政策要求,设计了基于典型场景分析、监测对象与指标界定、技术路线设计、监测信息拦截收集、传输与汇聚、数据处理展现的电力计量主站采集链路监测整体方案。
关键词:电力计量;主站采集;链路监测;技术设计
当前电力行业发展面临供给侧结构性改革、售电市场放开、能源新技术涌现等变化,随着电力计量设备种类、数量的持续增长,采集数据项、频次的逐渐增多,电能量数据量呈暴发式增长趋势,对电力计量主站运行水平提出了更高要求,如何建立一套切实有效的电力计量主站采集链路监测体系,加强对各关键业务链路级的监测,进一步助力电力计量主站运维效能提高,值得深入探讨与研究。
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。Pin-point是一款全链路分析工具,提供了无侵入式的调用链监控、方法执行。通过选用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应用将处理好的数据展示出来,工具展现端为用户提供各项服务,针对不同的角色提供不一样的服务,还能够将负载预测、应用瓶颈以及采集全链路等指标状态进行完美的实现,最大程度的支撑了典型场景的实现。
结语
本文以南方电网某省电力公司为例,通过分析电力计量主站运行监测现状问题以及南方电网相关政策要求,设计了基于典型场景分析、监测对象与指标界定、技术路线设计、监测信息拦截收集、传输与汇聚、数据处理展现的电力计量主站采集链路监测整体设计方案。这些内容已实现并开展应用,进一步提高了电力计量主站运行水平,助力了电力计量主站运维效能提高。且可满足常见电力计量采集业务运行链路监测需要,对其他电力公司研究设计电力计量采集运行全链路监测具有较强的借鉴意义与可扩展性。
作者:林晓庆 单位:贵州电网有限责任公司计量中心