《Frontiers in Computer Science》:Monitoring and comparative analysis of containerized environments
编辑推荐:
研究人员系统性考察了面向容器化应用、微服务与DevOps环境的监控工具,并在两种部署场景(本地基于Docker Swarm与Kubernetes,云端基于Google Kubernetes Engine(GKE))下开展实验评估。测试应用部署后,使用Apach
研究人员系统性考察了面向容器化应用、微服务与DevOps环境的监控工具,并在两种部署场景(本地基于Docker Swarm与Kubernetes,云端基于Google Kubernetes Engine(GKE))下开展实验评估。测试应用部署后,使用Apache JMeter与k6进行100至1000虚拟用户的负载与压力测试,借助Prometheus、Grafana、cAdvisor与Docker stats采集CPU、内存、I/O及网络利用率等指标。经梳理与评估,共识别69种唯一监控相关工具,归入四类非互斥范畴:容器型(18项)、云型(25项)、微服务导向型(13项)与DevOps聚焦型(38项),合计94项归属。依据可视化能力、支持指标及性能、安全、互操作性与可用性等质量属性进行分类。实验结果表明,两套监控栈均能在各自默认采样间隔(Prometheus+cAdvisor为15–30 s,Google Cloud Monitoring为60 s)下捕捉到负载带来的处理器利用率变化,1000虚拟用户压力突发在两套栈中均呈现为尖锐CPU峰值。本工作的贡献是基于参考实验环境提出的监控工具选型实践指南。
研究背景方面,现代组织日益依赖多样化数字平台交付服务,容器编排技术(以Kubernetes为事实标准)与云原生架构快速普及,2024年CNCF年度调查显示80%受调查组织在生产环境运行Kubernetes。然而容器生命周期极短(Sysdig报告显示21%容器存活≤10 s),指标、日志与追踪可能在终止后丢失,且现有研究多偏重概念分类或单一环境有限实验,缺乏“分类+跨环境实验验证”的统一框架。为此,研究人员在本地(Docker Swarm、Kubernetes)与云端(GKE)双基础设施上,系统性识别69种监控相关工具并开展负载与压力测试,以填补工具分类与实验验证之间的鸿沟。论文发表于《Frontiers in Computer Science》。
关键技术方法上,研究人员依PRISMA 2020流程于2024年全年来自文献库、搜索引擎与GitHub的142条记录中筛得69种唯一工具(MT 1–MT 69),按容器、云、微服务、DevOps四类非互斥归类(共94项归属),其中57种为主监控工具、12种为DevOps支撑工具。实验端在本地AMD Ryzen7 5800H(16核/32 GB)与Ubuntu 24.04虚拟机(8核/20 GB),及云端GKE e2-medium三节点集群(asia-south1,Kubernetes 1.30.5-gke)部署Spring Boot应用;以Prometheus+cAdvisor(本地)与Google Cloud Monitoring(云端)按默认采样间隔收指标,Apache JMeter 5.6.3与k6 0.54.0发100–1000虚拟用户、20次迭代负载。指标覆盖CPU、内存、I/O、网络、pod利用率、响应时间、吞吐率,分基线/负载/压力三阶段定性评估。
研究结果部分,引言指出监控选型须匹配工作负载、预算与可观测性需求,明确五项目标(建参考环境、识工具、定关键指标、分类、实验验证)。文献综述分四向:编排与资源管理(Kubernetes扩展性优于Swarm/Mesos)、监控与可观测性(metrics.k8s.io与cAdvisor为接口层,表列REST API)、安全与运行时监控(审计日志、运行时策略、AI异常检测)、研究空白(缺分类+跨环境验证)。研究方法详述四阶段流水线(本地部署→云端GKE→JMeter/k6加压→指标分析),并给出环境规格表、工具版本表、布尔检索式与PRISMA筛选图。结果章报告四类归属计数(18/25/13/38)、57+12工具区分、可视化格式(仪表盘最普遍)、指标映射(CPU/内存/I/O/网络/故障等)、五监控层(基础设施/应用/网络/分布式追踪/成本)、质量属性(性能/安全/易用/兼容/事故记录);实验端iostat显示Docker负载下sda设备tps从315.78升至1336.00、写吞吐1.7→11 MB/s,%iowait与%system升、%idle降;GKE侧Google Cloud Monitoring捕获pod级CPU请求利用率失衡,gmp-operator达2.332核、collector 1.5–2.1核,而多数支撑pod<0.20核,JMeter压力测试平均响应时间492 ms、中位数488 ms、偏差180 ms,无请求失败。
讨论与结论翻译:研究人员提出三重贡献——(i)结构化分类69种工具跨四环境四类;(ii)以CPU、内存、磁盘、pod利用率、延迟、响应时间、吞吐率实验验证选定监控栈;(iii)给出可复现加权求和框架与五步决策流程用于容器环境监控选型。结论指出,Prometheus+cAdvisor(15–30 s采样)与Google Cloud Monitoring(60 s采样)均能在默认间隔下分辨出1000虚拟用户压力突发的尖锐CPU峰值,证明两类栈在本地与托管Kubernetes下均具实用可观测性;短期容器生命周期要求指标外置持久化;工具选型应依据可视化、指标覆盖、监控层与质量属性加权决策,该参考实验环境可作为后续监控研究的基准。