摘要:高校数据中心云计算平台的使用频率在教学和科研中越来越密集。通过研究在现有云计算平台中利用cAdvisor和Pushgateway进行容器与节点的系统资源监控数据的采集方法,设计适用于高校数据中心的Prometheus监控系统。系统利用Grafana对接Prometheus的数据源,动态展示数据采集结果,从而监控各种业务、工作节点、网络及中间件的运行。在资源失效的第一时间,系统能及时向管理员告警,由管理员或自动化运维组件做出相应处理,确保高校教学和科研的顺利进行。
加入收藏
随着云计算技术的快速发展,越来越多的高校开始采用云计算平台来支持各类教学、科研和管理工作。高校数据中心云计算平台作为高校的核心基础设施,承担着大量计算、存储和网络资源的管理及调度任务。为了确保云计算平台的可靠性、通用性和资源动态伸缩,需要对整个云计算平台的应用服务进行实时监控和管理。
1、云计算平台监控系统的研究
在监控系统中,最重要的就是采集应用程序运行的各项数据指标,这些指标能够说明应用程序在系统中资源占用的情况。例如,当请求数较高时,系统响应变慢,如果有请求计数指标,则可以确定原因并增加计算资源。基于Prometheus的监控系统具有高度可扩展性和灵活性,能够满足高校数据中心云计算平台的监控和管理需求。
1.1 监控的需求及选择
监控是生产环境必需的一部分,是稳定服务的基础。在高校Kubernetes容器资源管理平台中面临的监控需求:①合理的维护成本;②监控大量高动态的系统组件;③既要对单个组件、也要对整体区域的多个维度进行测量、分析和报警。
负责谷歌Borg集群管理系统的监控系统从自定义的脚本进化到Borgmon, 提供了基于时间序列(Time-Series)的监控系统。Prometheus是一款开源的、基于谷歌Borgmon开发的监控和警报系统[1],具有高度可扩展性和灵活性,适用于大规模的分布式系统监控。高校Kubernetes容器资源管理平台源于谷歌的Borg系统,故Prometheus系统非常适合用于Kubernetes对Pod的监控。
1.2 容器的数据收集方法
在高校Kubernetes容器资源管理平台中,启用的业务大部分是以Pod的方式发布[2]。cAdvisor(Container Advisor)是一个用于监控和分析容器性能的开源工具,它可以与Prometheus等监控系统集成,提供容器级别的监控数据。
cAdvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便Prometheus进行数据抓取,此外还可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况等。cAdvisor使用Go语言开发,利用Linux的Cgroups获取容器的资源使用信息。
1.3 采集数据的存储方法
Prometheus将所有抓取来的服务监控数据存储在内存数据库,定时到磁盘上进行数据检查(CheckPoint),将这些监控数据周期性打包到外部的时序数据库(Time-Series Database, TSDB)中。对于一个周期性1 min的检测任务,每次产生12 B数据,若106个时间序列数据需要存储12 h, 则可以计算出所需的存储空间
12×12×60×106=9(GB)
图1所示为数据存储模型,主机1、主机2等分别表示每一个时间序列,每个点的数据存储格式是(Timestamp, Value),表示时间点和具体值,纵列串起来的是一个时间序列,由一个标签(Label)集合定义。
图1 数据存储模型图
监控数据时间序列存放如图2所示,时间序列(Time-Series)[3]被存储为(Timestamp, Value)序列,通常称为矢量(Vectors)。随着时间的不断推进,旧的数据会被忽略掉。
图2 监控数据时间序列存放图
存储数据的方式是一块固定大小的内存空间,称为时间序列空间(Time-Series Arena)。当这块内存空间满了之后,由回收者(Garbage Collector)回收最老的数据。通常情况下,空间会存储12 h的数据,底层服务存储的时间会更少。
2、运维监控平台设计
2.1 选择数据监控指标图
如图3所示,常见的云平台Prometheus数据监控指标可分为业务层监控、应用层监控、中间件及基础设施类监控和系统层监控。
图3 Prometheus数据监控指标图
除了常见监控指标,还可以根据实验研究需要自定义指标,对常见的监控指标进行细化。通过Prometheus提供的客户端库,将自定义的监控指标推送给Prometheus进行数据采集,实时掌握监控指标的运行状态。
2.2 Prometheus组件及选择
如图4所示,Prometheus包含多个组件。根据作用不同,将监控系统设计为数据采集层、存储计算层和应用层三个部分,并自行选择组件。
图4 Prometheus生态组件图
监控系统中,数据采集层主要进行数据采集工作。Pushgateway组件是Prometheus的一个中间网管组件,类似于Zabbix的Zabbix-proxy, 主要解决一些不支持主动拉取方式获取数据的场景问题。例如使用自定义shell脚本监控一些临时服务的健康状态,但这些shell脚本无法让Prometheus服务监控其运行的数据。具体解决方案是在shell脚本中,将临时服务的数据按Prometheus监控数据的格式主动推送到Pushgateway组件中,然后配置Prometheus server拉取Pushgateway。
存储计算层主要负责所有监控数据的存储。Prometheus的设计是由服务端主动拉取监控数据,并将数据根据配置的数据格式或标签进行转换、删除等操作,然后根据规则中配置的标识进行计算,按照计算结果发出告警或者不操作。以CPU使用率达到80%是一条告警规则为例,Prometheus对数据进行判断是否符合告警规则,符合就发送消息给应用层的Alertmanager组件,不符合就不操作。最后,Prometheus根据配置时间周期将数据保存到本地或第三方存储。
应用层实现整个集群的告警发送、分组、调度、警告抑制等功能。Alertmanager组件的作用是监听Prometheus服务发来的消息,结合自己的配置,如等待周期、重复发送告警时间、路由匹配等配置项,将消息发送给指定的接收者;Alertmanager组件还支持多种告警接收方式,如告警页、邮件、短信等。目前Prometheus Web UI自带的组件在数据展示方面不太友好,一般平台使用Grafana组件展示Prometheus数据。Grafana支持Prometheus的PromQL语法,能够和Prometheus数据库交互,加上Grafana强大的UI功能,平台可以轻松获取很多好看的界面,调用已经做好的模板。
2.3 Prometheus部署实施
在现有高校云计算平台中进行Prometheus部署实施,采用Operator的方式。Prometheus的版本为0.7。
(1)在“kube-prometheus-release-0.7/manifests”目录替换镜像源
(2)在prometheus-service.yaml文件中进行修改
(3)在grafana-service.yaml文件中进行修改
(4)部署过程
(5)在“kube-prometheus-release-0.7/manifests/”目录下执行操作
平台执行上述操作,部署Grafana, Prometheus及node-exporter组件,如图5所示,在kubernetes的集群中通过kubectl命令查看service的信息可知,在Kubernetes集群任意节点使用“IP地址:30090”或“IP地址:30091”可以访问Prometheus或Grafana。
图5 部署的监控组件图
2.4 自动发现机制
服务发现可通过第三方提供的接口来实现。Prometheus查询需要监控的静态配置数据,获取需要监视的目标列表,轮询这些目标获取监控数据。
自动发现机制便于使用者在监控系统中动态添加或者删除资源。在Prometheus监控系统中,file_sd_configs可以用来动态添加或删除目标(target)。
可以通过在scrape_configs添加如下配置,修改Prometheus配置文件。
files表示文件的路径,文件为.yaml或.json格式,可以用通配符*.json, 让Prometheus定期扫描这些文件并加载新配置。用refresh_interval定义扫描的时间间隔,扫描以.json结尾的文件。
target.json文件包含的项与prometheus.yml配置文件中job_name.static_configs的项一致,用户可以为每组targets加labels, 便于告警分组、告警抑制时使用。
3、可视化展示工具Grafana
Prometheus负责时序型指标数据的采集及存储,而数据的分析、聚合及直观展示等功能都由Grafana负责。在平台中部署的Grafana组件,可以提供丰富的图表和仪表盘,将各种数据源中的指标数据进行可视化展示和分析,是一个开源的数据可视化和监控工具[4]。Grafana支持与多种数据源集成,包括Prometheus, InfluxDB,Elasticsearch, MySQL等。用户可以通过Grafana的Web界面创建和设计仪表盘,选择不同的图表类型、指标和时间范围,自定义仪表盘的外观和布局[5],把监控数据以图形化形式展示。Grafana支持实时更新数据,用户通过设置刷新频率,使仪表盘中的数据始终保持最新状态。此外,Grafana还提供了告警功能。用户可以设置告警规则,当指标数据达到或超过设定的阈值时,Grafana触发告警,发送通知给指定的用户或团队。如图6所示,通过Grafana, 用户可以更直观地了解数据的趋势和变化,进行系统监控和性能分析。
图6 通过Grafana的Web界面创建的仪表盘呈现图
4、业务压力测试
在高校Kubernetes容器资源管理平台中部署nginx业务容器,模拟业务入口,通过ab命令进行压力测试,业务压力上升,CPU指标增加。通过Grafana观察nginx业务容器CPU的趋势变化,并得到不同时间段的CPU资源占用率,如图7所示,Grafana显示的曲线图在时间点09:06:15时,Pod的CPU资源占用率达到了71.4%,已经达到告警的范围。后续的研究可以结合CPU资源占用率进行及时的告警处理。
图7 不同时间段的CPU资源占用率图
5、结论
通过分析高校Kubernetes容器资源管理平台面临的监控需求,在高校数据中心云计算平台监控系统中加入Prometheus监控组件,实时监控云计算平台中的服务和节点运行状态,并将采集的数据存储到Prometheus的时间序列数据库。使用可视化展示工具Grafana对数据进行查询、分析,并通过业务压力测试证明了本文研究的可行性与普适性,可以在高校数据中心系统推广使用。
参考文献:
[1]谢超群.基于Prometheus的容器云监控平台应用研究 [J].西安文理学院学报(自然科学版),2022,25(4):23-26.
[2]王华伟.基于K8S平台的铁路信息系统工程化网络设计[J].铁路通信信号工程技术,2022,19(6):69-75.
[3]王晓锋,马丽丽.基于Prometheus的油田数据泄漏防护大数据系统运维方法[J].软件工程,2021,24(4):43-46.
[4]黄静,陈秋燕.基于Prometheus+Grafana实现企业园区信息化PaaS平台监控[J].数字通信世界,2020(9):70-72.
[5]王召选.基于Prometheus的GPU服务器运维监控系统[J].信息与电脑(理论版),2021,33(9):131-133.
基金资助:2023年北京工业职业技术学院科研课题(BGY2023KY-19);
文章来源:罗波,董东野,田晓玲等.基于Prometheus的高校数据中心云计算平台监控系统研究[J].北京工业职业技术学院学报,2024,23(01):11-16.
分享:
《建筑工程计量与计价》是建筑工程专业中的一门核心课程,涉及建筑工程量的计算、计价依据和方法、工程量清单编制及投标报价等多个方面。该课程不仅要求学生掌握扎实的理论知识,还要求学生具备实际操作能力。然而,传统的教学方式往往注重理论知识的传授,而忽视了对学生实践能力的培养。
2025-08-31目前各高校比较重视创业教育,为学生提供种类较多创业教育课程,使创业教育内容更为丰富和系统。现有创业教育课程通常是在各专业通识教育模块以必修课的形式设置,或者以专业选修的形式出现在人才培养方案之中,满足学生对创业知识、技能学习的要求。
2025-07-03基于全球商业环境格局大变化的背景,商科类涉外创新人才培养不仅要求学生掌握扎实的商业知识,熟谙商业行业基本技能,还要求学生具备开展国际业务的能力,而“应用型、地方性、开放性”是应用型本科高校的核心定位,学校理应发挥优势,在该领域积极探索,为新时代高质量教育体系的建设和形成发挥重要作用。
2025-05-07随着工业化进程加快和人类对环境的不合理利用,土壤污染问题日趋严重。面对严峻的土壤污染形势,国家相继出台《土壤污染防治行动计划》《土壤污染防治法》等政策法规,加快推进土壤污染防治工作。然而,相较于发达国家,我国在土壤污染修复领域起步较晚,因此迫切需要培养大量具备专业技能的人才。
2025-02-23在国际上,OBE理念已被广泛应用于各级各类教育,特别是在工程教育领域,许多国家都将OBE理念作为教育改革的重要方向[7-8]。在国内,随着高等教育改革的不断推进,OBE理念逐渐受到重视。目前,已有部分高校开始尝试将OBE理念应用于课程教学,并取得了一定的成效。
2025-02-112020年教育部发布《教育部办公厅关于推荐第二批新工科研究与实践项目的通知》,在以互联网、物联网为核心的新一轮科技和产业革命背景下,物联网专业成为与国家战略性新兴产业密切相关的专业[1]。而以智慧城市、智慧交通、智慧家居为主的智慧行业,是物联网方向的热点应用领域,同时对相关专业人才的需求呈现旺盛增长的态势。
2025-02-082024年9月召开的全国教育大会上,习近平总书记全面总结了新时代教育事业取得的历史性成就、发生的格局性变化,系统部署了全面推进教育强国建设的战略任务和重大举措[1]。作为教育大国,高等教育至关重要,同时伴随着新科技革命的兴起,大数据、人工智能、超级计算等新技术给传统工科带来人才培养新要求。
2025-02-08从学术研究现状来看,当前学界对电子文件归档的研究已取得了一定进展。有学者分析了组织机构视角下业务系统电子文件归档存在的主要问题,提出了应树立顶层设计、分类推进、数据资产管理、协同治理的归档理念[1]。还有学者提出了宏观集中管控与微观工具集成相结合的业务系统文件归档策略。
2025-02-08科学研究是人类对大自然规律和美的探索,论文写作与发表则是研究者对自然规律发现的总结、表述及传播。科学研究和论文写作都有很强的技巧性,科学研究、论文写作和论文发表中的细节和技巧决定了一切。科学研究方法与论文写作规范是一门训练科学研究思维和科技论文写作的课程。
2025-02-08先进设计与制造是制造业发展的重要方向,也是当前机械工程人才培养的重要内容。随着“中国制造2025”战略的实施,传统制造业向智能制造、高端装备制造转型的趋势更加迫切,对先进设计与制造人才培养提出了更高要求。作为先进设计与制造的最新发展趋势,智能制造对专业基础扎实、融合度高、创新能力强的高技能人才需求尤为显著。
2025-02-08我要评论
期刊名称:高等教育评论
期刊人气:1238
主办单位:中南财经政法大学高等教育评估与研究中心
出版地方:北京
专业分类:教育
邮发代号:2-2980
创刊时间:2013年
发行周期:半年刊
期刊开本:大16开
见刊时间:1-3个月
影响因子:1.371
影响因子:0.323
影响因子:0.307
影响因子:0.000
影响因子:1.435
您的论文已提交,我们会尽快联系您,请耐心等待!
你的密码已发送到您的邮箱,请查看!