基于Prometheus 的云计算资源全链路监控系统

2023-01-30 01:30刘小磊程伟华章路进
电子设计工程 2023年2期
关键词:计算资源链路监控

刘小磊,程伟华,章路进

(江苏电力信息技术有限公司,江苏南京 210000)

Prometheus 是以SoundCloud 开发软件为基础的开源型时序数据库结构,同时融合了Go 语言与BorgMon 语言应用优势,可在建立相同时序标签文件的同时,在时间维度方面对连续数据信息进行集合状存储。时序标签文件由名字、key/value 协议两部分共同组成。一般来说,只有名字及标签协议的定义形式完全相同,才能判定两类时序数据的存储形式完全相同[1-2]。在云计算环境中,Prometheus 数据库主要负责对资源数据信息进行定向存储与分析,再借助稳定的全链路应用环境,将信息参量传输至下级设备主机中。

由于资源传输环境的复杂性,云计算资源必须经过平台主机的集中调度才能传输至下级应用设备之中。为适应上述应用需求,传统云端网络型监控系统借助OpenStack 组件,在虚拟机上布设与资源对象相关的服务器节点,再利用Ceilometer 模块对所收集到的数据信息文件进行针对性分析。然而,该系统在单位时间内的动态资源统筹能力有限,并不能实现对云计算主机的全面监控与管理。

为解决此问题,设计基于Prometheus的云计算资源全链路监控系统,在满足云资源数据收集需求的同时,完善Prometheus 数据库的实际连接能力,再联合云平台架构,实现对监控信息的及时获取与处理。

1 全链路监控系统总体设计

全链路监控系统的总体应用环境设计包含云平台整体架构搭建、功能需求分析、性能需求分析三个处理环节,具体操作流程如下。

1.1 云平台整体架构

云平台架构管理云计算资源全链路监控系统中的所有数据传输服务,由基础设施层、虚拟化层、中间件管理层、用户服务层四部分共同组成。基础设施层包含计算资源、存储资源、网络资源三类应用架构,可将云资源信息整合成既定的数据包传输形式[3]。虚拟化层包含大量的VM 节点,且这些节点结构大体上满足两极化分布的形式,其中,一部分用于Xen 体系,另一部分用于形成Vmware 体系,但由于Prometheus 数据库的存在,上述两类模块结构可对云计算资源信息进行分级整合与处理。中间件管理层总览云平台架构中的所有Web 服务,可在形成虚拟化应用模式的同时,对其他中间件的实际连接行为进行管理与调节[4-5]。其整体架构如图1 所示。

图1 云平台整体架构示意图

1.2 功能需求

1)虚拟监控节点管理

功能描述:系统管理员具有直接添加虚拟监控节点的能力,可在修改云计算资源信息的同时,对数据文件进行增、删、改、查处理。

2)虚拟节点的基本资源监控

功能描述:针对不同云计算主机的资源监控需求,通过综合配置的方式,更改Prometheus 数据库中存储的资源信息,再分别从负载量、内存使用情况、CPU 使用率等多个角度,对现有的数据资源监控行为进行实时监控[6]。

3)云计算网络服务监控

功能描述:在云计算监控系统的服务器端,确定Prometheus 数据库主机中网络服务的实际配置情况,再根据所显示的虚拟节点进行配置量的设计,对资源数据监控服务的执行状态进行集中监控。

4)对云网络服务器进行监控

功能描述:根据云计算应用服务器的具体分布情况及与下级监控主机相关的指令需求,对Prometheus数据库中的资源数据采集系数进行配置,并可根据监控服务器的状态数据属性,对云计算资源信息的细节情况进行准确地标注[7]。

5)存储监控信息

功能描述:将各个云资源数据采集器中的信息参量整合成既定的传输与存储形式。

6)显示监控信息的传输情况

功能描述:将已存储的云计算资源数据转换成全链路监控系统所需的.txt文本形式。

1.3 性能需求

云计算资源全链路监控系统的性能需求表现在动态性与实时性两个方面:

在实际应用过程中,资源数据采集器每隔固定时长采集一次信息参量,并可在Prometheus 数据库主机的作用下,实时将当前资源数据传输至下级监控服务器终端。由于全链路时间序列条件的存在,云计算资源数据并不能在系统数据库主机中进行长时间存储,这也是全链路监控系统中的数据信息参量只能保持快速传输行为的主要原因[8-9]。

设β代表云计算资源数据的定向采集系数,代表单位时间内的云计算资源数据采集特征值,联立上述物理量,可将全链路监控系统的性能需求条件定义为:

其中,代表全链路环境下的云计算资源数据传输均值,μ代表Prometheus 数据库主机中的全链路时间序列系数,代表云计算资源数据的动态量化条件。

2 系统软件设计

按照全链路监控系统的总体设计需求,分别从数据收集、数据库连接、信息获取三个方面,完善云计算平台的软件执行环境,两相结合完成新型监控系统的搭建与应用。

2.1 资源数据收集

在云计算资源全链路监控系统环境中,Prometheus主机可以通过三种方式获取数据测量值:

被监控资源主体把数据信息以通知消息的形式发送到主机,Prometheus 主机中的全链路感应设备会直接获取与监控结果相关的资源信息,并从中获取系统运行所必需的资源数据[10]。

Prometheus 主机中全链路感应设备可根据监控系统中云计算主机的配置情况,主动向已存储文件提出API 申请指令,并可按照通信协议中被监控对象数据的消耗情况,分析资源数据所处的实时传输位置。

全链路监控系统的底层应用用户可以通过调用Prometheus 主机中已存储数据文件的方式,将已隐藏的资源信息全部读出,并从中选取可供系统直接利用的资源信息,生成全新的传输与应用文档[11]。

2.2 Prometheus数据库

Prometheus 数据库可将云计算资源由自由分布的形式转化为满足系统应用需求的监控信息文件,且在此过程中,所有数据信息都会经过全链路环境的多次过滤,直至将不满足系统执行需求的信息参量全部返还于原始的云计算环境之中[12-13]。Prometheus主机作为数据库环境中的核心应用设备,同时负责安排监控系统运行所需的数据过滤与资源信息收集指令,一方面可将完成筛查的数据资源反馈至全链路体系中,另一方面也可为云环境提供相对稳定的运行支撑条件[14]。简单来说,Prometheus 数据库作为云计算资源全链路监控系统的数据中转设备,具有较强的信息统筹能力,可将待处理的信息参量全部转化为传输数据的形式,并对其进行暂时存储。其连接结构如图2 所示。

图2 Prometheus数据库连接结构

2.3 监控信息获取

在已知Prometheus 数据库存储能力的情况下,系统主机匹配的监控信息的获取条件受到云计算资源数据收集形式的直接影响。一般来说,全链路监控系统中Prometheus 数据库主机所具备的信息存储能力始终保持定值存在状态,而由于资源数据收集形式的不同,最终输出的监控信息运行指令也有所不同,但基本上满足输入量越大,输出量也越大的执行标准[15-16]。

设代表Prometheus 数据库主机的额定资源量存储条件,Mmax代表单位时间内的云计算资源数据传输最大值,联立式(1),可将全链路监控系统的信息获取结果表示为:

式中,λ代表云计算资源数据的定向收集系数,代表与Prometheus 数据库相关的资源信息存储量均值。

至此,完成各级软硬件执行环境的搭建,在Prometheus 数据库主机的支持下[17],实现云计算资源全链路监控系统的顺利应用。

3 实例分析

按照图3 所示结构,布设监控系统执行环境,分别采用基于Prometheus 的云计算资源全链路监控系统、云端网络型监控系统对用户端的信息获取行为进行干扰,其中,前者作为实验组,后者作为对照组。监控系统的执行环境如图3 所示。

图3 监控系统执行环境

实验过程中,Ceilometer Agent 主机负责输入待处理的云计算资源数据,API Server 主机负责将已输入的云计算资源数据整合成包状传输形式,监控数据存储主机负责对云计算资源数据进行暂时存储,并可根据数据流的后续传输形式,确定监控指令所能到达的最远传输位置。

动态资源统筹能力由云数据传输速率、监控指令运行时长两部分共同组成,若不考虑其他干扰条件对实验结果造成的影响,则可认为云数据传输速率越快、监控指令运行时长越短,动态云计算资源的统筹能力也就越强。

图4 记录了实验组、对照组云数据传输速率的实际变化情况。

图4 云数据传输速率变化曲线

分析图4 可知,实验组、对照组云数据传输速率均保持上升、下降交替出现的变化趋势,但实验组的差值水平明显大于对照组。从极限值的角度来看,实验组最大值为9.32 MB/s、最小值为5.63 MB/s,对照组最大值为6.51 MB/s、最小值为2.86 MB/s,分别对比可知,实验组的实验数值水平明显高于对照组。

综上可知,应用基于Prometheus 的全链路监控系统后,云数据资源的传输速率水平开始明显升高,在增强动态云计算资源统筹能力方面具有一定的促进性作用。

表1 记录了实验组、对照组监控指令运行时长的实际变化情况。

表1 监控指令运行时长对比

分析表1 可知,实验组、对照组的监控指令运行时长均随云数据资源量的累积,呈现不断增大的变化趋势。从平均值角度来看,实验组均值19.4 s 与对照组均值28.6 s 相比,下降了9.2 s。而从极限值角度来看,实验组最大值22.2 s 与对照组最大值35.3 s 相比,下降了13.1 s。

综上可知,在Prometheus 数据库的作用下,云数据资源量监控指令运行时间的延长趋势得到了有效控制,在一定程度上,提升了云计算资源统筹能力。

4 结束语

文中将云计算资源全链路监控系统与Prometheus数据库联合,对云平台整体架构进行初步建设,再从功能需求与性能需求两方面入手,收集并提取已存储的云资源数据。在实用性方面,这种全链路型监控系统分别从数据传输速率、监控指令运行时间两个方向,对云网络的动态资源统筹能力进行提升,在实际应用过程中,能够较好适应云计算环境的全方位调节与分配需求。

猜你喜欢
计算资源链路监控
The Great Barrier Reef shows coral comeback
天空地一体化网络多中继链路自适应调度技术
基于模糊规划理论的云计算资源调度研究
基于星间链路的导航卫星时间自主恢复策略
改进快速稀疏算法的云计算资源负载均衡
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法
PDCA循环法在多重耐药菌感染监控中的应用