基于 Prometheus 的超算弹性计算场景下主机监控最佳实践

作者:左知

超算场景的业务特点

主机监控,或许是监控/可观测领域最传统和普遍的需求。在超算训练,AI 大规模训练的业务场景下,主机监控又有哪些痛点和难点呢?根据我们针对多个大规模超算客户的需求整理,超算场景的特点主要集中在如下几个方面:

大规模计算

超算擅长处理可并行化的计算问题,通过成千上万的处理器核心协同工作,实现任务的分解与加速执行。用户通常采用弹性任务调度系统在云上快速拉起大量的 ECS 主机来满足大规模计算需求。训练任务进行时计算集群整体算力利用率等是成本控制的关键。

高性能与吞吐量

超算系统设计用于处理大规模数据集,能够持续高效地完成大量计算工作,保证高吞吐量,适用于大数据分析、气候模拟、生物信息学研究等领域。如果计算集群某些算力机器出现吞吐瓶颈,即会影响整体计算性能。

弹性计算

在超算场景中,每一次训练任务一般持续几个小时到几天不等,每一次训练的算力需求也差异较大。通常用户采用弹性算力供给方式,在需要时拉起算力资源,结束时完成释放。计算任务的规模和复杂性迅速变化,也可能需要在短时间内快速增加或减少计算资源。

业务高峰与低谷

特定时段会对计算资源有极高的需求,而在其他时期则可能需求降低,形成明显的需求波动。

混合计算任务

超算任务可能会同时使用大量的 CPU 、GPU 、RDMA 等资源,以实现更高效的计算性能。不同的主机上可能存在异构的资源类型以支撑不同的计算任务。

超算场景面临的可观测挑战

在超算应用场景中,计算性能的极致要求和资源的动态伸缩特性给主机可观测提出了复杂挑战。为了确保新增计算节点能够迅速并稳定地融入整体计算环境,同时兼顾成本效率,可观测性策略需要精心设计和实施,通过可观测可以及时发现潜在的问题点,或者资源优化点等。

超算场景下,主机可观测面临的挑战有如下几点:

精细化监控

对计算节点的运行状态、负载、网络延迟等关键指标进行秒级监控,是确保系统稳定性和高效性的前提。

进程级监控能力

超算任务往往会以进程形式运行在主机上,不仅需要对主机整体资源消耗有监控,还需要对具体计算任务资源消耗具备可观测能力。进程间的横向资源消耗对比,可帮助快速发现资源消耗异常的进程。进程的数量监控,以及进程下的协程数量等,都是关键的可观测指标。

自动化服务发现

监控系统需配备自动服务发现机制,以便在节点弹性伸缩时,能够立即识别新增或被释放的节点,以实现秒级单位下纳入监控系统。

自动部署监控探针

对于新增的计算节点,自动部署监控组件是迅速实现节点加入监控体系的关键。通常对于不同算力的主机进行智能识别,以安装对应的数据采集组件,例如区分 Windows 或 Linux 主机吗,GPU 算力,RDMA 高性能网络需求。

数据标签分类

数据标签(也称为标签或标签键)是与指标相关联的元数据,用来提供额外的上下文信息,以便对指标进行更细致的分类、筛选和分组。根据使用场景和用途不同,需要增加特定的标签,例如组织性标签、环境标签、业务标签等。通过适当地使用和组合不同的数据标签,可以提高监控数据的可查询性和可操作性,并帮助您构建一个更加强大和灵活的可观测性解决方案。

超算场景弹性主机监控方案

阿里云 Prometheus 主机监控针对阿里云 ECS 服务器提供了一个高效且易于管理的监控方案,这一方案的特点是顺应了现代云计算环境中对于可观测性和自动化管理的需求,阿里云 Prometheus 主机监控具备如下优势。

阿里云 Prometheus 提供的主机监控,具备阿里云 ECS 服务器、自建 IDC 内服务器、云厂商服务器全类型主机接入能力,针对阿里云 ECS 服务器可根据配置自动安装各类开源 Exporter,各类 Exporter 采集配置自动生成,托管 Prometheus Agent 实现自动采集,采集数据统一存储、统一展示、统一告警。对于非阿里云主机不具备自动服务发现的能力,所以需要依赖用户在接入时手动安装阿里云采集探针,主动将监控数据上报到阿里云 Prometheus 存储。

图片

阿里云 Prometheus 主机监控架构

主机秒级发现

  • 适应性:自动服务发现机制允许监控系统快速适应云资源的动态变化,确保所有运行中的实例都被及时监控。
  • 多样性:支持多种服务发现类型,满足不同场景下的监控需求,如支持 Kubernetes 集群内服务的自动发现,以及其他类型云服务的集成。

探针秒级安装

  • 即插即用:自动化安装 Exporter,使得新启动的计算节点可以立即被监控系统识别并收集其度量,无需人为干预。
  • 全面监控:提供多种 Exporter,包括 Node-exporter、Process-exporter、GPU-exporter 和中间件 Exporter,进行全方位的性能追踪。

指标秒级采集

  • 配置简化:自动化配置生成减轻了运维人员手动配置的负担,确保所有节点和服务的度量都能被准确无误地采集。
  • 灵活性:配置可根据现有的监控需求作出相应调整,带来灵活性和可扩展性,应对复杂多变的监控环境。

主机从创建到纳入监控系统,整体可以在 30-60s 以内完成。主机所有指标数据可以支持 1-60s 时间间隔的灵活调整。整体实现主机全方位秒级监控能力。

探针 Serverless 化

  • 集中管理:通过托管的 Prometheus Agent 统一管理数据采集,简化了监控架构,提高了运维效率。用户对数据采集链路无感知。
  • 高效能:因为抽象了监控算法的复杂性,使用 Agent 可以减少误配的可能性,提高监控数据的准确性和时效性。

智能指标标签

  • 自动摘取阿里云 ECS 主机的标签、资源组、区域等信息,并自动注入到整个指标体系中,方便快捷。
  • 配置化自定义添加额外标签能力,可进一步提升标签体系的灵活性,自定义例如业务标识、环境标识、数据来源标识等。

超大规模数据采集与存储

  • 支持超大规模主机接入,采用用户独享与共享并存托管模式,依据用户主机接入规模动态调整托管资源,保证接入的时效和准确性。
  • 存储可支持超大规模指标存储,并具备高性能的查询和展示能力。

提供完善的上下游监控数据

  • 为了实现一个系统级的、全面的可观测性,单一实体监控是不够的,需要整合不同维度的监控数据并构建全链路观测,确保监控系统能够反映出整个应用和服务生态的健康和表现。
  • 涵盖从底层硬件到应用层再到外部服务(如 RDMA 网络、OSS 存储、Redis 等)的综合监控策略。这个策略应该包括不仅仅是主机和网络的监控,还包括对依赖服务的监控。

进程级监控

  • 进程级监控可以对操作系统运行的进程进行跟踪和分析,以了解进程的性能和资源利用情况。这是实现系统级监控的关键部分,旨在提供运行在服务器上的应用程序的健康和表现的透视图。
  • 进程级监控除了会捕获进程的 CPU 使用率、进程的内存使用量、进程的磁盘读写情况等关键性能指标,还会收集进程的启动时间、打开的文件的句柄数、进程下调起的线程数量等。提供接近于实时的监控能力,做到即时的反馈,让系统管理员能够及时识别和解决问题。
  • 进程级监控,为管理员提供更加丰富的故障诊断手段,帮助识别导致系统性能下降或故障的进程,可能是某些进程内存泄露、高 CPU 使用率或其他资源争用等。

默认提供 Grafana 数据大盘

  • 默认集成经过阿里云专家经验沉淀的 Grafana 大盘,包括 ECS Overivew 总览大盘、ECS Detail 详细大盘、GPU Overview 总览大盘、GPU Detail 详细大盘、Node-process 进程级大盘。
  • 真正做到一键接入主机可观测,开箱即用。

实践方式

接入方式以阿里云 ECS 服务器为例,在应用实时监控页面,点击接入管理,选择 ECS 环境,点击新增接入,可分别接入 GPU 监控和主机监控。其中 GPU 监控对应接入 GPU 类型主机,默认会自动安装 GPU-exporter;其中主机监控对应接入 CPU 类型主机,默认会自动安装 Node-exporter 和 Process-exporter。

图片

针对阿里云 ECS 服务器,支持多种类型的服务发现方式,可灵活选择需接入监控的目标服务器,服务发现方式 CPU 主机和 GPU 主机没有差异。

图片

成功接入后,会依据主机类型显示服务发现的主机数量、以及 Exporter 安装和运行情况。

图片

自监控页面,可实时查看 GPU 和 CPU 主机接入采集状态,以及实时获取源数据。

图片

接入效果

阿里云 Prometheus 主机监控服务的接入效果总结如下:

  1. 快速服务发现
    • 实测每次大规模主机弹性伸缩(约 500 台规模)的发生,监控服务能够在一分钟内发现新的计算节点。
  2. 迅速部署 Exporter
    • 必要的 Exporter(Gpu-exporter、Node-exporter、Process-exporter)可以在一分钟内完成自动安装,这意味着每台服务器可以接近实时开始生成监控数据。
  3. 低数据可观测延迟
    • 自计算节点创建并运行起来,到用户可以观察到监控数据,整个过程的延迟时间控制在两分钟内,大大降低了监控数据的丢失率。
  4. 及时停止数据采集
    • 对于下线的计算节点,监控数据的停止采集时间同样保持在两分钟内,这保证了系统资源的高效使用。如果主机未被销毁,系统将自动卸载 Exporter 并删除其配置,优化了资源的回收过程。
  5. 高效并发处理能力
    • 阿里云 Prometheus 主机监控能够承载高并发的监控任务,有效地根据用户弹性主机数量的变化进行调整,满足不同用户、规模和时效性的需求。

阿里云 Prometheus 主机监控服务通过以上能力为超算用户提供了强大的监控保障。这种快速而精准的可观测性能力是超算用户在云环境中实现资源动态管理和性能优化的关键。能够及时响应计算资源的弹性伸缩对于确保计算作业的连续性、洞察系统瓶颈和异常行为,以及指导资源分配决策至关重要。

集成大盘

阿里云 Prometheus 主机监控,当接入 GPU 监控和 CPU 主机监控,默认集成对应大盘,提供包括计算节点基础观测、进程观测、协程观测、GPU 观测等。

图片

主机监控默认集成大盘列表

图片

主机监控 GPU 监控默认集成大盘

默认集成的观测大盘,阿里云专家根据实践积累,预置了多种核心观测点大盘、多重聚合维度观测视角大盘,真正做到开箱即用。

图片

ECS Overview大盘

图片

ECS Detail 大盘

图片

Node Process 进程大盘

图片

GPU Overview 总览大盘

图片

GPU Detail 详细大盘

总结

在超算场景中,随着计算需求的高度动态性和对性能极致追求,对云计算服务提供商提出了快速调整资源以应对业务高峰与低谷的挑战。阿里云 Prometheus 提供的主机监控方案积极响应了可观测需求,通过强化其自动化监控能力,为资源优化和提升成本效益提供可靠的监控指标。

阿里云 Prometheus 主机监控实践能力包括如下四点:

  1. 自适应的自动服务发现,保障云资源的实时监控覆盖,应对资源动态伸缩的需求。

  2. 自动化的 Exporter 部署,降低了运维难度,提供了即插即用的监控能力,及时追踪新节点的度量。

  3. 自动生成的 Prometheus 配置,简化了监控配置的复杂性,增加了监控架构的灵活性和可扩展性。

  4. 托管的 Prometheus Agent,实现了监控数据采集的集中管理和优化,提高了数据的准确性和有效性。

以上能力使阿里云 Prometheus 提供的主机监控具备如下优势:

提高运维效率: 自动化的监控系统降低了人力投入,释放了运维团队的工作负担,使他们可以投入到更重要的优化任务中。

快速响应问题: 实时监控和快速服务发现机制,缩减了从诊断到解决问题的时间,提高了系统的可靠性。

资源使用优化: 实时细粒度监控带来了资源使用的深入讲解,指导资源调度的优化,降低资源浪费,实现成本控制。

增强的可扩展性和可靠性: 自动化和智能化的监控手段保证了即使在主机数量大规模扩展的情况下,监控的全面性和准确性都不会受到影响。

综上,阿里云 Prometheus 主机监控方案正成为超算场景下管理与监控云资源的强有力支撑,它不仅有效地保障了云基础设施的高效和健康,也为企业进一步拓展其高性能计算能力提供了坚实的基础。

目前可观测监控 Prometheus 版,提供每月 50GB 数据写入免费额度,满足日常监控基本需求,点击此处,立即开始体验。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/13630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux系统内存持续飙高的排查方法

目录 前言: 1、查看系统内存的占用情况 2、找出占用内存高的进程 3、解决方法 4、补充:如果物理内存使用完了,会发生的情况 前言: 如果一台服务器内存使用率持续处于一个高峰值,服务器可能会出现响应慢问题。例如s…

当他们在说业务的时候,到底在说什么

业务就是通过提供产品和服务给客户,以获取某种价值,形成业务闭环,并能自负盈亏。 文章会以生动形象的比喻来介绍业务到底是什么。 什么是业务? 业务,就像一场精彩的舞台剧,每个角色都有自己的任务和目标…

QT--TCP网络通讯工具编写记录

QT–TCP网络通讯工具编写记录 文章目录 QT--TCP网络通讯工具编写记录前言演示如下:一、服务端项目文件:【1.1】server_tcp.h 服务端声明文件【1.2】thread_1.h 线程处理声明文件【1.3】main.cpp 执行源文件【1.4】server_tcp.cpp 服务端逻辑实现源文件【…

【最全的excel转json!!!】使用Python脚本提取excel文本中的数据到json中

比如说:我有一个1.xlsx的文件需要转成对应的json格式。 1) excel 文件的大概内容: 2)保存的方式类似于以下这种情况: 用Python脚本来实现 import pandas as pd import json# 读取Excel文件 excel_path r"D:…

【MySQL精通之路】MySQL8.0升级过程升级了什么

目录 1.升级内容 1.1 mysql系统库 1.2.其他库 2.步骤 2.1 步骤1:数据字典库升级。 2.2 步骤2:服务器升级。 3.mysql_upgrade 3.1 执行正常升级(根据需要执行步骤1和2): 3.2 必要时仅执行步骤1: 3…

LLMPerf-为LLM提供可重现的性能指标

LLMPerf-为LLM推理提供可复现的性能指标 翻译自文章:Reproducible Performance Metrics for LLM inference 结合之前的LLMPerf测试大模型API性能的文章进行查看,效果更佳。 1. 摘要 我们见过许多关于LLM性能的声明;然而,这些声明往…

Android面试题之Kotlin泛型和reified关键字

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 //泛型 class MagicBox<T>(item:T){var available falseprivate var subject:T itemfun fetch() : T? {return subject.takeIf { avai…

配置旁挂二层组网直接转发示例(命令行)

业务需求 企业用户通过WLAN接入网络&#xff0c;以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时&#xff0c;不影响用户的业务使用。 组网需求 AC组网方式&#xff1a;旁挂二层组网。DHCP部署方式&#xff1a; AC作为DHCP服务器为AP分配IP地址。汇聚交换机SwitchB作…

深度学习基础之《TensorFlow框架(18)—卷积神经网络(2)》

一、卷积层 1、卷积层&#xff08;Convolutional Layer&#xff09;介绍 卷积神经网络中每层卷积层由若干卷积单元&#xff08;卷积核&#xff09;组成&#xff0c;每个卷积单元的参数都是通过反向传播算法最佳化得到的 卷积运算的目的是特征提取&#xff0c;第一层卷积层可能…

Gradle和Maven项目解决Spring Boot Configuration Annotation Processor not configured警告

问题描述 写了一个配置类,加了注解@ConfigurationProperties(prefix = “xxx”) 后一直报警告:Spring Boot Configuration Annotation Processor not configured 意思是 Spring boot 未配置注解处理器 解决过程 出现这个问题后,百度查了解决方式 1.maven项目 maven项目是…

纯软件双机热备

在信息化高速发展的今天&#xff0c;企业对于业务连续性的需求愈发强烈。无论哪个行业&#xff0c;系统的稳定运行都至关重要。为了确保系统的高可用性和业务连续性&#xff0c;纯软件双机热备技术应运而生&#xff0c;成为了企业IT架构中的关键一环。 双机热备软件下载 …

cPanel中如何进行网站质量检测

最近我在维护网站的时候需要查看网站质量如何&#xff0c;我使用的是Hostease的主机安装的WordPress网站&#xff0c;随后在咨询了他们的技术支持后获得了方法。 当您在cPanel中部署了网站后&#xff0c;确保网站的质量和性能是至关重要的。cPanel提供了一个便捷的功能Site Qu…

Postman进阶功能-Mock服务与监控

大家好&#xff0c;前面跟大家分享一些关于 Postman 的进阶功能&#xff0c;当我们深入探索 Postman 的进阶功能时&#xff0c;Mock 服务与监控这两个重要方面便跃然眼前。 首先&#xff0c;Mock 服务为我们提供了一种灵活便捷的方式&#xff0c;让我们在某些实际接口尚未准备好…

18.SpringCloud Gateway

简介 SpringCloud Gateway是spingcloud家族的产品&#xff0c;使用netty实现的高性能服务网关&#xff0c;用于替换netflix公司的zuul网关实现。 参考地址&#xff1a; https://spring.io/projects/spring-cloud 术语 工作原理 Route Predicate Factories GatewayFilte…

新一代分布式链路追踪skywalking编码实战教程(下)

&#x1f680; 作者 &#xff1a;“二当家-小D” &#x1f680; 博主简介&#xff1a;⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人&#xff0c;8年开发架构经验&#xff0c;精通java,擅长分布式高并发架构,自动化压力测试&#xff0c;微服务容器化k…

PostgresSQL开启归档模式

文章目录 一、查询数据库归档是否开启1、查看数据目录(找出conf文件位置)2、查看归档是否开启 二、开启归档模式&#xff08;开启后有一定的性能损耗&#xff09;1、创建归档目录2、修改postgresql.conf配置文件3、重启pg 三、验证归档情况1、查看归档是否开启2、检查点 , 刷新…

利用远控工具横向

一.横向移动介绍和方式 1.介绍 内网渗透的横向移动是指攻击者在成功进入内网后&#xff0c;通过利用内部系统的漏洞或者获取的合法访问权限&#xff0c;从一个受感染的系统向其他系统扩散或移动。这种横向移动的目的通常是为了获取更多的敏感信息、提升权限、扩大攻击面或者更…

【蓝桥杯】

题目列表 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using llunsigned long long; #define int ll const int N2e510; int k0; std::string s; int a,b,c,d; void solve() {char op;std::cin>>op;if(opA){std::string s;for(int i1;i&l…

文心一言指令解析

1、介绍 文心一言是一款灵感启发类的产品&#xff0c;它以简洁而深刻的文字表达来激发读者的思考和感悟。该产品通过每天提供一句精选的短语&#xff0c;让用户在繁忙的生活中停下脚步&#xff0c;思考人生和内心的真实需求。 每一句文心一言都经过精心挑选&#xff0c;它们通…

小程序-滚动触底-页面列表数据无限加载

// index/index.vue <template> <!-- 自定义导航栏 --> <CustomNavbar /> <scroll-view scrolltolower"onScrolltolower" scroll-y class"scroll-view"> <!-- 猜你喜欢 --> <Guess ref"guessRef" /> </s…