摘 要:国网江苏省电力有限公司(以下简称江苏公司)开展云平台建设和应用,推进“千台入云、系统上云”的专项工作,为泛在电力物联网的建设提供可靠的云计算服务。为提高云平台的运维能力,提出指标采集和存储、指标分析和可视化以及实时告警技术方案,构建物理机、平台、存储、应用的体系化监控体系,实现国网云运行监控和异常事件的实时告警。
关键词:泛在电力物联网;云计算;监控系统
引言
国家电网公司(以下简称国网公司)于2019年3年部署开展泛在电力物联网建设。国网江苏省电力有限公司(以下简称江苏公司)从2018年开展云平台建设,按照“分级分域”的原则同时开展虚拟化平台OpenStack和容器化平台K8s建设,通过开展“千台入云,系统入云”的国网云建设工作,取得了巨大的成效。截止2019年8月份,国网云平台已纳管851台服务器,入云212套系统,稳定运行400余天。
江苏公司的OpenStack 平台采用Kolla 部署,Kubernetes(以下简称K8s)平台采用Kuberspray方案部署,这两个方案都将平台组件部署在容器中,这种方式大幅提升了云平台的部署效率,同时江苏公司大力推进应用系统容器化改造工作,应用系统的整体技术架构往容器化、微服务化架构方向转变。
为提升云平台的运维能力,本文探索针对容器化平台组件和容器化应用的云平台监控系统建设。容器具有无固定IP地址、数量大、运行*等特点,采用Agent 或者Agentless 等方式采集数据的Zabbix、Naggio 等传统监控工具不能满足要求。为此,本文寻求其他技术解决方案。文献[1]和文献[2]提出传统方式部署的OpenStack平台监控工具,但是不适合容器化云平台。文献[3]和文献[4]提出基于云原生开源监控软件Prometheus构建云平台监控系统,开源软件Grafana展示平台运行状态,部署方式简单,符合容器化部署云平台的技术路线,但是没有提出实时监控的技术方案。文献[5]提出一种基于流式计算的监控技术,缩减指标数据采集的时延,适用于大规模云平台环境,但是该技术方案部署复杂。
综上所述,本文选择符合容器化云平台技术特点、部署简单、开源技术主的技术方案,以Prometheus为采集服务、Grafana为监控展现服务、智能巡检平台为告警平台的云平台监控解决方案。
1、云平台监控方案
1.1 技术架构
本文组合监控工具Prometheus、可视化工具Grafana以及智能巡检平台作为国网云的统一监控系统,实现了OpenStack和K8s平台集群的监控全覆盖,满足了立体化监控需求,总体技术架构如图1所示。
图1 云平台监控技术架构
(1) 指标采集及存储:监控系统需要有可靠的监控后台以及监控代理,满足云平台中设备、平台以及应用等各个层面的指标采集和存储需求,选择Prometheus 以及配套使用的相关代理作为解决方案。Prometheus系统采用中心化的数据采集、分析和分布式的监控代理的设计理念,目前Prometheus官方认证有约600个代理,覆盖服务器、中间件、数据库、云平台、应用等对象,满足国网云统一监控的需求。
(2) 指标分析和展现:原始的指标展示的信息有限,无法展示平台的运行情况,本文设计指标分析公式,更掌握物理节点资源使用情况、云平台资源分配情况、云应用运行情况,同时利用Grafana等开源可视化工具,实现指标的可视化展现。
(3) 实时告警:除了通过指标分析掌握平台运行状态以及性能情况,本文还设计告警规则实现了重要异常事件的实时告警,将告警信息推送给调度运行监控平台,实现国网云运行的7×24 h监控,保证故障的及时处置。
1.2 立体化监控
为采集OpenStack平台宿主机以及集群运行数据,研究采用node⁃exporter代理采集宿主机的资源运行指标、OpenStack⁃exporter代理采集平台的运行指标、ceph⁃exporter代理采集后端分布式存储的运行指标,实现宿主机以及平台两个层面的主要运行指标的采集。几种OpenStack实例监控代理的作用和部署方式如表1所示。
为采集K8s平台宿主机、集群以及承载的物联网应用容器运行数据,研究采用node⁃exporter采集宿主机的资源运行指标、cAdvisor采集所有容器运行指标、kube⁃state⁃metrics采集所有Pod容器运行状态、kube⁃metrics 采集平台等信息,实现宿主机、平台、容器应用3个层面的主要运行指标的采集几种K8s实例监控代理的作用和部署方式如表2所示。
1.3 运行分析
为掌握国网云的运行情况,本文基于监控系统采集的原始指标,结合业务实际需求,开展运行分析,设计指标分析公式,掌握OpenStack云平台资源分配情况、K8s平台资源分配情况、应用容器运行情况,通过可视化展示工具Grafana实现运行指标的可视化展示,提升了平台运行分析的便捷性。以OpenStack平台运行分析为例,OpenStack平台主要通过整合硬件服务器资源,对外提供虚机计算资源,因此实时掌握已创建的虚机数量、分配的虚机CPU及内存资源占比等信息,对指导平台资源分配以及资源扩容具有重要的帮助意义。CPU及内存资源分配占比分别为公式(1)和公式(2)
UsageCPU = (sum(hypervisor_vcpus_used) )/(sum(hypervisor_vcpus_total) )× ** (1)
UsageMem = (sum(hypervisor_memory_mbs_used) )/(sum(hypervisor_memory_mbs_total) )× ** (2)
1.4 实时告警
在实现监控全覆盖、指标分析和可视化的基础上,考虑实时告警的运维需求,研究告警规则的配置。以OpenStack 节点文件系统使用率异常为例,本文设计告警公式(3),当监控系统检测到文件系统**过95%,将推送告警信息给告警平台。
v100- (node_ filesystem_ free{mountpoint ="/"})/(node_ filesystem_size{mountpoint ="/"})×100)>95(3)
初步梳理出10个重要告警,这些告警直接影响到平台或者宿主机的运行。目前配置的监控指标都是满足可用性的指标,如表3所示。
表3 云平台告警规则
2、平台监控实践
2.1 OpenStack平台的监控实践
江苏公司部署有多个OpenStack集群,每个集群的设备、平台以及服务有上百个运行指标采集。为保证指标数据采集的实时性以及监控系统的可靠性,江苏按照“一集群、一监控”的原则,采用一个Prometheus 实例监控一个OpenStack集群的部署架构,保证每个国网云实例都有独立的监控系统,降低监控系统对存储空间的需求,同时将告警信息对接至智能巡检平台,整体架构如图2。
图2 OpenStack集群监控架构
考虑宿主机监控和OpenStack平台监控不同的业务需求,定制宿主机和平台两个维度的Grafana监控页面。平台监控面板主要展现平台规模、平台服务状态、资源使用情况等,如图3所示。宿主机监控面板主要展现主机状态、物理资源使用情况。不同于平台面板统计的是分配资源占比,物理资源面板统计的是宿主机实际资源使用率。
2.2 K8s平台的监控实践
江苏公司部署有多个K8s集群,按照“一集群、一监控”的原则,采用一个Prometheus实例监控一个K8s集群的部署架构,保证每个国网云实例都有独立的监控系统,告警信息对接至智能巡检平台,整体架构如图4。
考虑宿主机监控、K8s平台监控以及容器应用监控不同的业务需求,江苏公司将Prometheus数据接入可视化平台Grafana,并且配置个性化监控仪表盘,提供了宿主机、平台、容器应用3个维度的监控页面,容器应用监控面板如图5所示。
通过实施本文的技术方案,江苏公司OpenStack平台监控系统实现了7套OpenStack、250余台设备、2500余个虚机规模的云平台的实时监控,K8s平台监控系统实现了4套OpenStack、90余台设备、700余个虚机规模的云平台的实时监控,同时具备重要告警的实时告警能力,填补了江苏公司云平台监控的空白,为泛在电力物联网应用的运行提供坚强的运行支撑**。
3、安科瑞配电系统智能运维产品选型及介绍
近两年来,安科瑞已经陆续参与各县市电力公司的用户端能源管理平台、云南省网综合能源服务平台、上海嘉定区147所学校电力运维平台等相关平台的建设,提供了包括云平台、智能网关、终端设备等产品,各类用户端云平台在全国各地运行案例700多套,并且根据用户需求不断完善产品功能,这些都是未来泛在电力物联网的一部分。
综合能源服务是以电为中心,把电力系统与天然气网络、供热网络、工业系统、交通系统、建筑系统等紧密结合起来,实现电、气、冷、热、可再生能源等多能互补和“源-网-荷-储”各环节高度协调优化,生产和消费双向互动,集中与分布相结合的能源服务。
3.1安科瑞智能网关、终端设备选型
3.2 安科瑞智能运维平台介绍
平台结构
变配电站通过安装多温湿度传感器,水浸传感器,烟雾传感器,门磁开关等传感器,通过网关经无线(3G/4G)或有线的方式将数据上传云服务器上,并将数据进行集中存储、统一管理。具有权限的用户可通过PC、PAD、手机等各类终端设备访问数据、接收报警信息,监控变配电站环境状态。
运维平台功能:
安科瑞变电所运维云平台(AcrelCloud-1000)根据市场需求反馈,运用互联网和大数据技术,为电力运维公司提供配套线上运维服务。该平台作为连接运维单位和用电企业的纽带,监视用户配电系统的运行状态和电量数据,为客户提供更好的运维服务,平台提供系统总览、电力数据监测、电能质量分析、用电统计分析和日/月/年电能统计报表、异常预警、事故报警和事件记录、运行环境监测、运维巡检派单等功能,并支持多平台、多终端数据访问。
电力监测
通过矢量配电图监测变电所用电情况,画面响应遥信变位、遥测越限报警,点击某个配电回路后可以查询该配电回路的各类详细用电参数,包括实时值、平均值;
实时监测变压器运行情况,包括功率、负荷率、需量、绕组温度等。
提供多种类型的查询报表,可以查询各配电回路的各类电力参数(电压、电流、功率、频率、谐波、三相不平衡度等),系统可以对某电力参数按照天、月进行统计。
可实现漏电监测、线缆及母排温度监测。
故障报警
平台可配置遥信变位报警(水浸、烟雾、门磁、开关跳闸等)、遥测越限报警(过压、欠压、过流、线缆温度过高、绕组温度过高等)、运行报警(仪表离线、网关离线等),并将接收到的报警通过短信、网页推送,报警上下限可根据现场情况灵活配置。
能效分析
按照配电回路、区域、部门、分项(照明、空调、动力等)统计每时、每天、每月、每年用电数据,并进行同环比分析;
按尖、峰、平、谷统计各配电回路的用电量及用电金额;
统计四象限电能并计算每天、每月的平均功率因数;
按月统计每个回路的需量及发生值,为需量申报提供依据。
设备档案
系统可配置每个变电所内变压器、进线柜、出线柜、计量柜、高压电缆等设备信息,记录设备的厂家、型号、投运日期等,并可灵活定义设备的巡检项、缺陷类别等信息。
巡检消缺
通过系统编制巡检计划,并将计划下发到巡检人员手机上,巡检人员在变电所现场根据巡检要求执行巡检任务,如果在巡检过程中发现缺陷,可记录缺陷并在系统中生成消缺任务。
用户报告
手机APP
通过手机APP实现配电图查看、视频监视及回放、电力参数查询、需量统计、用能分析,并可通过手机接收报警、执行巡检、记录缺陷.
4、结语
本文实现江苏公司国网云宿主机、OpenStack平台服务、K8s平台服务以及K8s容器应用等主要运维对象的监控,覆盖了设备层、平台层和应用层,并且实现了重要指标的采集和展示,帮助运维人员分析运行健康状态,同时通过告警规则的配置,实现了重要运行指标的7×24 h监控,大大提升了云平台故障处置效率,为泛在电力物联网的大规模建设和应用提供可靠的、持续的计算、存储和网络资源服务。
本文设计的方案主要实现OpenStack和K8s云平台资源使用和可用状态的监控,暂不具备监控云平台运行性能和判断平台故障点的能力。因此,对云平台核心组件运行性能和运行日志的分析将是下一步研究的主要工作。
参考文献
【1】董波,沈青,肖德宝. 云计算集群服务器系统监控方法的研究[J]计算机工程与科学.
【2】邹昊东,丁正阳,滕爱国,韦健.省级泛在电力物联网云平台监控系统建设实践.
【3】安科瑞企业微电网设计及应用手册.2020.06版
安科瑞电气股份有限公司专注于多用户计量表,多回路电能表等