1. 引言
目前,工业互联网技术在多种行业深度应用 [1] [2] [3],有力地推动了传统行业的智能化变革,许多基于工业互联网平台的技术应运而生,比如:边缘计算技术 [4] [5] [6]、标识解析技术 [7] [8]、平台安全技术 [9] [10] 等。
核电工业互联网平台是在统一的核电数据标准体系框架内,通过连接核电系统、设备、人员等,打通信息孤岛,搭建核电工业大数据的服务平台,属于核电领域的关键基础设施。随着核电工业互联网平台的建设,许多核电应用也基于核电工业互联网平台进行开发和运行,因此,对核电工业互联网平台的稳定、健康、高效运行提出了更高的要求。
为保障核电工业互联网平台的健康高效运行,需要对核电工业互联网平台进行全方位的运维监控管理。目前,许多运维监控系统都是针对专门的软件系统 [11] [12] 或者针对某特定领域 [13] [14],很难直接将该类运维监控系统直接应用于核电工业互联网平台的运维监控。核电工业互联网平台是一种四层架构的服务平台,从下到上依次为:IaaS层,DaaS层、PaaS层和SaaS层,每一层由相应的硬件、软件、组件或工具组成。对核电工业互联网平台的运维监控,实际上就是对这些平台层的硬件、软件、组件和工具的监控。其中,平台硬件主要包括物理服务器、路由器、交换机、硬件网关等。软件包括:时序数据采集管理软件、关系型数据采集管理软件、时序数据库、关系型数据库、对象存储服务、设备组态工具、数据组态工具等等。因此,有必要设计和开发针对这些硬件、软件、组件和工具的一体化运维监控管理系统,一方面,能够实时监控其状态、功能和性能,另一方面,当这些模块状态异常、功能不可用或者性能降级的时候,能够及时进行告警并通知到运维人员。核电工业互联网平台运维监控管理系统与一般的运维监控系统相比,最主要的特点是:1) 不是针对某个系统的监控,其监控内容丰富,包含平台所有硬件设备、大数据组件、数据库、容器云平台和核电专用组件和工具等。2) 监控系统采用总分模式部署,电厂侧平台的监控数据需要传送到中心侧平台中进行汇总、分析和展示。3) 监控系统中不同类型的监控组件独立部署,但是它们采集的数据可以互联互通,进行交叉分析和使用,形成数据链条式的监控体系。
2. 运维监控管理系统总体设计
核电工业互联网平台运维监控管理系统主要包括服务器运维监控、大数据组件运维监控、平台数据运维监控、应用运维监控、安全运维监控。
运维监控管理系统架构如图1所示。

Figure 1. Architecture diagram of operation and maintenance monitoring management system of industrial internet platform of nuclear power
图1. 核电工业互联网平台运维监控管理系统架构图
3. IaaS层基础设施运维监控
IaaS层基础设施监控的对象主要有:1) 计算服务器的启停状态、资源使用情况;2) 存储服务器的启停状态、IO情况、存储容量等信息;3) 路由器、交换机等通讯设备的启停状态以及吞吐量等信息;4) 数据采集接口机的启停状态以及资源使用情况;5) 基础设施层各节点之间的网络状态以及流量;6) 虚拟机机(比如:ECS虚拟机、VMvare虚拟机)启停状态以及资源使用情况。
对上述对象进行运维监控,首先需要采集并获取相关的监控对象的信息。在核电工业互联网平台运维监控系统中,使用开源工具Prometheus来采集被监控对象的状态参数,并进行异常告警。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态, 任意组件只要提供对应的HTTP接口就可以接入监控。在使用时,需要在每个被监控服务器、路由器或者虚拟机中安装相应的exporter程序,另外,对不同的监控对象,配置相应的告警规则。
比如:对于计算服务器,配置的告警规则为:当服务器退出、CPU使用率大于90%,内存使用率大于85%,则进行告警,发送告警信息至运维人员的邮箱。
为了对监控对象进行可视化监控,需要对关键信息进行可视化展示。在核电工业互联网平台运维监控系统中,使用Grafana进行监控信息展示。Grafana是一个图形化工具, 它可以从很多种数据源(例如Prometheus)中读取数据信息,使用各种图表来展示监控信息。以计算服务器的监控数据采集和展示为例,运维监控流程图如图2所示。

Figure 2. Operation and maintenance monitoring process of computing server
图2. 计算服务器运维监控流程
在核电工业互联网平台中的服务器运维监控画面如图3所示。

Figure 3. Operation and maintenance monitoring picture of server
图3. 服务器运维监控画面
4. 大数据基础平台组件运维监控
大数据基础平台组件主要是海量数据接入、处理、存储和计算调度用到的组件。主要有:物联网消息系统、分布式消息中间件、关系数据库、图数据库、时序数据库、分布式键值数据库、大规模并行处理数据库、基于文档结构的数据库、分布式文件系统及资源管理器、基于内存的分布式计算引擎、流数据处理引擎、全文检索引擎等。
1) 物联网消息系统以及分布式消息系统。主要对系统服务的状态进行监控。
2) 关系数据库、图数据库、时序数据库、分布式键值数据库、大规模并行处理数据库、基于文档结构的数据库。主要对数据库服务状态、数据库的IO情况、存储的数据量等参数进行监控。其中,对于关系型,还需对数据备份情况进行监控。
3) 分布式文件系统及资源管理器。监控分布式文件系统服务状态、资源管理器状态、文件系统已用空间、系统吞吐量等。
4) 基于内存的分布式算引擎、流数据处理引擎、全文检索引擎。监控它们的服务状态。
核电工业互联网平台中的大数据基础平台组件监控和告警也是采用Prometheus + Grafana的方式进行。以分布式文件系统HDFS的监控为例,其监控画面如图4所示。
5. 容器云平台运维监控
在核电工业互联网平台中,大数据基础平台包括分布式消息中间件、大数据系统、流处理计算引擎等多个大数据组件,是支撑上层应用进行大数据计算和分析的基础设施;容器云平台是基于K8S的容器云及管理平台,包含nginx容器、网关、注册中心配置中心等组件,应用都以微服务的形式部署并运行于容器云平台中;数据中台主要是用来实现多源数据融合,提供数据采集、数据存储、数据计算、数据共享、数据开发、数据治理等全生命周期服务,为应用的运行服务提供标准的数据服务。为保障应用的可靠、稳定运行,需要对容器云平台进行监控。目前,核电工业互联网平台中能够对容器云平台进行多维度的监控。包括:容器网络、容器状态、容器资源、应用监控、项目和集群资源配额、创建记录、流水线执行状态、镜像仓库状态。
1) 容器网络。包括容器之间的网络连通情况、容器网络带宽。
2) 容器状态。包括容器的就绪状态、存活状态、伸缩事件、流水线执行状态、主机状态。

Figure 4. Monitoring picture of distributed file system
图4. 分布式文件系统监控画面
3) 容器资源。容器云平台的总资源、已分配资源、各容器资源明细。
4) 应用监控。应用的容器实例数量、占用的容器资源、运行状态、告警统计。
5) 项目资源配额。计算资源、应用资源、数据库和缓存资源。
6) 创建记录:创建应用、创建服务、创建存储卷、停止应用、删除服务、删除存储卷、启动应用、重新部署等记录。
7) 流水线执行状态。服务状态、构建成功数量、构建失败数量、正在构建数量、待构建数量、待审批数量、拒绝执行数量、审批抄送数量、人工停止数量。
8) 镜像仓库状态。服务状态、私有仓库组数量、私有镜像数量、公开仓库组数量、公开镜像数量。
以核电工业互联网平台中某个应用为例,可以对其容器实例进行多个方面的监控。容器云平台的监控和展示基于Prometheus和自研的监控工具。如图5~7所示。

Figure 5. CPU monitoring of container instances
图5. 容器实例CPU监控

Figure 6. Memory monitoring of container instances
图6. 容器实例内存监控

Figure 7. Network monitoring of container instances
图7. 容器实例网络监控
6. 数据中台组件运维监控
数据中台是核电工业互联网平台中的数据服务平台。数据中台组件监控的对象主要有:时序数据采集工具、时序数据分发工具、时序数据存储情况、时序数据访问接口。关系型数据抽取工具、关系型数据分发工具、关系型数据存储情况、关系型数据访问接口等。数据中台组件的监控和展示也是基于Prometheus和Grafana进行的。
1) 时序数据采集。对时序数据采集进程状态进行监控,可以实时展示测点数据的趋势曲线。
2) 时序数据分发。监控时序数据分发进程状态,消费程序每秒消费的数据量,成功入库的数据量和写入失败的数据量。
3) 时序数据存储。监控测点总数,总测点数据条数,占用的存储空间大小。每个数据库中的测点个数、测点数据条数、占用的存储空间大小等等。
4) 时序数据访问。监控每类时序数据接口的调用频率,每分钟/秒查询的数据量,每分钟写入的数据量。
5) 关系型数据抽取。监控关系型数据抽取程序的状态,每秒抽取的数据量。
6) 关系型数据分发。监控分发的数据量,数据分发任务耗时统计,数据分发任务状态监控。
7) 关系型数据存储。对关系型数据库中业务库数量,表数量,字段数量,记录数等进行统计,监控数据同步情况。
8) 关系型数据访问。监控数据库的访问频率,数据库连接数统计,耗时查询监控。
以上所有数据中台组件监控的参数,如果出现异常,异常信息通过邮件发送给运维人员。
以时序数据的监控为例,图8是时序数据监控流程图,图9是某个测点的趋势曲线监控画面。

Figure 8. Monitoring process diagram of time series data
图8. 时序数据监控流程图

Figure 9. Monitoring picture of point trend curve
图9. 测点趋势曲线监控画面
7. 核电专用组件和工具运维监控
核电专用组件和工具主要包括:设备组态工具、数据组态工具、算法组态工具、停堆预警服务、物性计算服务、仿真计算引擎、核电三维轻量可视化引擎等。核电专用组件和工具的监控和展示也是基于Prometheus和Grafana进行的。
对这些组件和工具的监控主要从两个方面进行。
1) 组件和工具功能可用性监控。主要是监控这些组件或工具所属的关键进程的状态和相关信息,比如:进程退出、进程启动,进程占用的CPU、内存、磁盘、网络资源。如果出现异常,则发送报警信息给运维人员。
2) 组件和工具性能监控。具体方法是通过部署的探针来采集组件和工具的性能参数信息,比如:HTTP访问、RPC调用分析,能够在几秒或者几分钟内得出性能分析结果。如果出现异常,进行报警提示。
8. 平台安全运维监控
核电工业互联网平台安全运维包含多个方面。主要有:组件和工具的访问安全、数据安全、和平台安全防护。平台安全运维监控和展示工具主要是使用的核电态势感知系统,此外,还使用了入侵检测监控、入侵防御监控和流量监控工具。
1) 组件和工具的访问安全。平台工具和组件用户账户的访问频率、密码的复杂度。
2) 数据安全。数据备份过程监控、数据一致性监控、数据导入导出监控。
3) 平台安全防护。平台组件安全漏洞排查和修复、防火墙策略定期更新、网络端口访问监控、入侵检测、入侵防御、流量监控。
9. 结论
本文重点描述了核电工业互联网平台运维监控管理系统的设计,主要包括IaaS层基础设施运维监控、大数据基础平台组件运维监控、容器云平台运维监控、数据中台组件运维监控、核电专用组件和工具运维监控以及平台安全运维监控等设计细节。
本文介绍的运维监控管理系统已经应用于核电工业互联网平台的运维监控。运维监控对象为中心侧核电工业互联网平台以及电厂侧核电工业互联网平台。随着核电工业互联网平台建设的不断推进,核电工业互联网平台运维监控系统也将不断升级和优化,未来将从两个方面进行深入的研究:1) 一体化运维管理方法研究;2) 高效数据运维方法研究,包括数据问题的溯源、数据存储规划研究等。
NOTES
*第一作者。