阿里云应用实时监控服务ARMS完全接入指南:从探针部署到全链路可观测

简介: 本文全面解析阿里云应用实时监控服务ARMS的接入与使用。从ARMS产品矩阵概述入手,详细拆解应用监控、前端监控、链路追踪、Prometheus监控四大核心模块的接入流程。重点讲解Java应用通过探针无侵入接入、Web前端通过CDN或NPM方式接入、ACK容器环境一键接入等实战操作,并提供完整的代码示例与配置参数说明。深入探讨告警规则的分层设计策略、统一告警管理、可观测大屏自定义等高级功能。最后结合成本优化与最佳实践,帮助读者构建从终端到后端、从基础设施到业务的全栈可观测体系。文章适合运维工程师、开发工程师及架构师阅读参考。

1. ARMS产品概述与核心能力

应用实时监控服务ARMS是阿里云推出的一站式全栈可观测平台,覆盖浏览器、小程序、APP、分布式应用、容器等不同可观测环境与场景。ARMS包含用户体验监控、应用监控、可观测链路OpenTelemetry版等模块,满足不同语言、架构、部署环境的应用性能观测需求。其核心价值在于通过模块化、即插即用的设计,帮助企业快速构建全栈可观测平台。

ARMS的产品矩阵主要包括以下四个核心模块:应用监控面向服务端应用,支持Java、Go、Python等主流语言,通过探针无侵入方式采集接口调用、JVM性能、数据库访问等数据;前端监控聚焦Web、H5、小程序等终端,监控页面加载速度、JS错误、API成功率等用户体验指标;可观测链路OpenTelemetry版提供分布式链路追踪能力,兼容OpenTelemetry、SkyWalking、Zipkin等主流链路框架;Prometheus监控则面向基础设施与云原生场景,提供容器、主机、中间件等监控能力。

需要先登录阿里云控制台,点击:阿里云控制台

2. 开通ARMS服务与接入中心概述

使用ARMS前需要先开通服务。新版计费模式下,计费项分为按写入的可观测数据量收费和按可观测功能收费两种模式。ARMS管理计费周期为1天,次日00:00开始计算前一天的资源消耗量,账单一般在扣费当天08:00前出账。新版计费取消了新账号的15天免费试用,但每月提供一定的免费额度。

ARMS支持通过接入中心和各子产品实例列表页面接入应用或组件。接入中心作为统一入口,目前已提供100+组件的接入能力,涵盖Java应用监控、链路追踪、前端监控、容器监控、MySQL、Kafka、阿里云服务监控等。接入中心的每一个选项即一个组件,每个组件负责以特定方式监控一类基础设施或服务,实现指标采集、数据可视化和告警规则等监控功能。在实际接入时,可以任意选择其中一种方式进行接入。

3. 应用监控接入实战

3.1 Java应用探针接入

对于Java应用,ARMS推荐使用自研探针接入,以获得更多功能支持和更好的探针稳定性保障。ARMS 2024年发布的JavaAgent 4.0全面拥抱OpenTelemetry生态,探针底座基于OpenTelemetry框架进行了全新升级,并额外提供多种资源监控、性能诊断、应用安全等数据。探针支持更加灵活的调用链采样策略、白屏化探针管理、全方位自监控、动态功能降级等高阶特性。

Java应用接入的基本流程如下:首先在ARMS控制台的应用列表页面点击添加应用,选择Java语言,系统会生成对应的接入配置信息。然后根据应用部署方式选择对应的接入方案:对于ECS部署的应用,下载ARMS探针包并在Java启动命令中添加-javaagent参数;对于容器环境,在Dockerfile中集成探针或通过ACK的组件管理一键安装。

以下是一个典型的Spring Boot应用通过-javaagent方式接入的启动命令示例:

java -javaagent:/path/to/arms-agent/arms-bootstrap-1.0.0-SNAPSHOT.jar -Darms.licenseKey=your_license_key -Darms.appName=your-app-name -jar your-app.jar

其中arms.licenseKey是ARMS控制台生成的应用标识,arms.appName是自定义的应用名称。探针启动后会自动采集HTTP接口调用、Dubbo调用、数据库访问、JVM内存与GC等数据。接入成功后,可以在ARMS控制台的應用概覽页面查看应

用的请求数、错误数、耗时、实例数等信息。应用概览页面会根据应用接入的信息自动适配展示大盘,并针对ECS环境和容器环境对CPU信息做区别展示。

3.2 Go与Python应用接入

除了Java,ARMS应用监控也支持Go和Python语言的自动埋点接入。Go应用通过引入ARMS Go探针包,在main函数前添加探针初始化代码即可完成接入。Python应用通过安装ARMS Python探针包,在应用入口处添加探针配置即可。对于Node.js、.NET、PHP等其他语言,可以通过可观测链路OpenTelemetry版使用开源客户端进行接入。

4. 前端监控接入实战

4.1 Web与H5应用接入

ARMS前端监控专注于Web端体验数据监控,从页面打开速度(测速)、页面稳定性(JS Error)和外部服务调用成功率(API)三个方面监测Web页面的健康度。接入流程轻便灵活,通过在前端应用项目中引入依赖包并简单配置初始化代码,无需额外埋点动作即可采集端侧应用性能数据。

ARMS前端监控支持三种接入方式:CDN异步加载、CDN同步加载和npm包方式。异步加载对页面性能影响最小,但无法捕捉到监控SDK加载初始化完成之前的JS错误和资源加载错误。同步加载可以捕捉从页面打开到关闭的整个过程中的JS错误和资源加载错误。npm包方式可以减少页面中Script的加载个数,并可以自行控制页面Script的CDN业务方向。

以下是通过CDN异步加载方式接入前端监控的HTML代码示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>ARMS前端监控示例</title>
  </head>
  <body>
    <script>
      !(function(c,b,d,a){
        c[a]||(c[a]={});
        c[a].config={
          pid:'your_pid_here',
          appType:'web',
          imgUrl:'https://arms-retcode.aliyuncs.com/r.png?',
          sendResource:true,
          enableLinkTrace:true,
          behavior:true,
          useFmp:true,
          enableSPA:true
        };
        with(b)with(body)with(insertBefore(createElement('script'),firstChild))
        setAttribute('crossorigin','',(src=d));
      })(window,document,'https://sdk.rum.aliyuncs.com/v1/bl.js','__bl');
    </script>
    <div id="app"></div>
  </body>
</html>

其中pid是在ARMS控制台创建应用后生成的应用标识。配置参数中sendResource表示上报页面加载的静态资源,enableLinkTrace表示API请求与后端应用监控进行端到端关联,behavior表示开启用户行为回溯,useFmp表示采集首屏FMP数据,enableSPA表示开启SPA单页面应用支持。

通过npm包方式接入的代码示例:

npm install alife-logger --save
const BrowserLogger = require('alife-logger');
const __bl = BrowserLogger.singleton({
  pid: "your_pid_here",
  appType: "web",
  imgUrl: "https://arms-retcode.aliyuncs.com/r.png?",
  sendResource: true,
  behavior: true,
  enableLinkTrace: true,
  enableConsole: true
});

4.2 小程序与移动端监控

ARMS用户体验监控同样支持小程序和移动端应用。小程序端通过引入对应的SDK,在应用启动时完成初始化,即可采集小程序页面的性能数据和用户行为数据。移动端应用(iOS/Android)则通过集成ARMS移动端SDK,实现崩溃分析、性能监控和用户行为追踪。

5. 链路追踪接入实战

链路追踪的核心价值在于连接,用户终端、网关、后端应用、依赖组件等共同构成了链路追踪的轨迹拓扑大图。ARMS(含可观测链路OpenTelemetry版)目前已经支持用户终端到云网关到后端应用到云组件的端到端全链路打通。

对于Java/Go/Python等主流语言,推荐接入ARMS自研探针,自研探针与可观测链路OpenTelemetry版数据完全互通。对于其他语言,可观测链路OpenTelemetry版全面兼容OpenTelemetry、SkyWalking、Zipkin和Jaeger四种主流链路框架。

在云产品链路接入方面,可观测链路OpenTelemetry版与阿里云近10款云产品深度合作,用户只需在相应的云产品控制台一键启用链路追踪开关即可。具体操作位置包括:在ALB监听详情页的链路追踪区域开启开关,在MSE创建实例页面的链路追踪选项中选择使用可观测链路OpenTelemetry版,在用户体验监控创建应用的参数配置中勾选链路追踪配置。

以下是通过OpenTelemetry Java SDK手动接入链路追踪的代码示例:

<dependency>
    <groupId>io.opentelemetry</groupId>
    <artifactId>opentelemetry-api</artifactId>
    <version>1.31.0</version>
</dependency>
<dependency>
    <groupId>io.opentelemetry</groupId>
    <artifactId>opentelemetry-exporter-otlp</artifactId>
    <version>1.31.0</version>
</dependency>
// 初始化OpenTelemetry并配置OTLP导出器
OpenTelemetry openTelemetry = OpenTelemetrySdk.builder()
    .setTracerProvider(
        SdkTracerProvider.builder()
            .addSpanProcessor(
                BatchSpanProcessor.builder(
                    OtlpGrpcSpanExporter.builder()
                        .setEndpoint("https://arms-apm.aliyuncs.com/otlp/v1/traces")
                        .addHeader("Authentication", "your_license_key")
                        .build()
                ).build()
            )
            .build()
    )
    .buildAndRegisterGlobal();

6. Prometheus监控接入实战

6.1 ACK集群Prometheus监控

在开通ARMS之后,可以在ARMS中为ACK集群一键安装Prometheus监控插件,此后即可通过ARMS预定义的仪表板监控Kubernetes集群的众多性能指标。接入流程为:在ARMS控制台的接入中心选择容器服务环境,选择目标ACK集群,点击确定即可完成接入。

6.2 ECS主机监控

使用Prometheus监控ECS主机,接入后会自动安装Node-exporter和Process-exporter,托管Prometheus Agent自动采集数据,单次采集指标量约为1000条/台。接入步骤为:在ARMS控制台的接入中心>基础设施页面,单击主机监控,选择目标ECS所属的VPC,配置相关信息后点击确定,等待1-2分钟即可完成接入。

ECS接入主机监控后,如果监控大盘没有数据,需要检查安全组配置是否正确。接入后还可以根据需求配置主机监控组件参数、废弃不需要采集的指标以节省费用、配置告警规则等。

6.3 数据库与中间件监控

ARMS接入中心支持MySQL、Redis、Kafka等多种数据库和中间件的监控接入。以MySQL为例,接入时需要配置MySQL服务地址、服务端口、MySQL账号和密码。需要注意的是,不建议使用管理员账号,应创建一个供mysqld_exporter使用的专用账号并最小化授权。

7. 告警规则配置与管理

7.1 告警规则创建

ARMS应用监控告警支持对采集到的各种应用指标配置告警规则,用户可以根据需求和业务场景配置合理的告警规则,在应用不符合预期时及时收到通知。ARMS支持四种告警级别,从低到高为P4、P3、P2、P1。

创建告警规则的典型场景:以核心业务接口的响应时间和成功率为例,可以配置当最近3分钟平均响应时间大于等于500ms时触发告警,或当请求成功率小于等于90%时触发告警。告警规则创建后,系统会以指定的通知方式(短信、邮件、钉钉群等)向告警联系人发送告警信息。

7.2 分层告警策略

有效的告警策略遵循从业务到应用再到基础设施的分层设计。业务层关注核心接口的调用量、错误率和响应时间,用于检测面向用户的影响。应用层关注异常、HTTP 5xx状态码、JVM健康、线程池状态等,用于定位故障组件。基础设施层关注CPU利用率、内存使用率、磁盘利用率,用于揭示应用问题背后的资源约束。

对于核心告警条件,建议为CPU利用率、内存利用率和磁盘利用率分别设置上限阈值。ARMS应用监控提供了预设的告警指标,涵盖业务、应用和基础设施三个层面。由于ARMS应用监控数据默认集成了Prometheus,用户还可以通过PromQL语句编写超越预设的自定义告警规则。

7.3 统一告警管理

ARMS告警管理提供了开箱即用的ITSM系统,支持配置Grafana原生告警规则并将告警事件转发到ARMS。用户可以通过ARMS告警管理统一集成ARMS、云监控、SLS等多个告警源,创建事件处理流实现对告警事件的压缩、降噪、去重等。

8. 可观测大屏自定义

基于ARMS提供的能力,用户可以自定义可观测大盘并配置更加灵活的告警规则。通过ARMS前端监控实时大屏,可以一次性查看被监控应用的所有关键实时监控数据。对于PAI EAS等服务,开启高级监控指标开关后,可以获取包含大模型推理架构指标、GPU算力指标、服务维度统计指标以及自定义指标等在内的全面监控数据。

9. 成本优化与最佳实践

在使用ARMS过程中,合理的成本控制策略同样重要。新版计费模式下,费用主要取决于写入的可观测数据量。以下是一些成本优化建议:通过SDK配置中的采样上报来减小上报量并降低负载;废弃不需要采集的Prometheus指标,使指标数据更清晰的同时节省费用;合理设置告警阈值避免大量误告警产生的通知成本。

在最佳实践方面,ARMS 2024年发布的JavaAgent 4.0建议升级使用,以获得更好的性能和更丰富的功能。对于容器环境,建议接入Managed Service for Prometheus以获得更完善的容器监控数据。前端监控建议开启与应用监控的关联,实现前后端链路追踪的端到端诊断。

10. 常见问题解答

问:ARMS应用监控接入后,如何验证是否接入成功?

答:接入后登录ARMS控制台,在应用列表页面点击目标应用名称,进入应用总览页面。如果页面正常展示总请求量、平均响应时间、错误数等汇总指标,以及应用提供服务和应用依赖服务的请求量与响应时间趋势图,则表示应用已成功接入应用监控。

问:Java应用接入ARMS探针需要重启应用吗?

答:是的,Java应用通过-javaagent方式接入探针需要重启应用。探针在JVM启动时加载,因此必须重启应用才能使探针生效。对于容器环境,可以通过重新部署应用或滚动更新来使探针生效。

问:前端监控的异步加载和同步加载方式有什么区别?

答:异步加载是非阻塞加载,浏览器在下载执行JS后还会继续处理后续页面,对页面性能影响小,但无法捕捉到监控SDK加载初始化完成之前的JS错误和资源加载错误。同步加载是阻塞加载,当前JS加载完毕后才会进行后续处理,可以捕捉从页面打开到关闭的整个过程中的JS错误和资源加载错误。

问:ARMS新版计费和旧版计费的主要区别是什么?

答:新版计费的计费项变更为按写入的可观测数据量计费。ARMS应用监控、可观测链路OpenTelemetry版和Prometheus版的计费项目统一变更为按数据量计费。新版计费取消了新账号的15天免费试用,但每月提供一定的免费额度。ARMS基础版已不支持开通。

问:ARMS支持哪些编程语言的应用监控?

答:ARMS应用监控对Java、Go、Python提供自研探针的自动埋点支持。对于Node.js、.NET、PHP、Erlang、C++等语言,可以通过可观测链路OpenTelemetry版使用开源客户端进行接入。ARMS与可观测链路OpenTelemetry版数据完全互通,在多语言场景建议结合使用。

问:如何在ARMS中配置告警通知?

答:在ARMS控制台的告警管理模块中创建通知策略,配置告警事件的匹配规则和通知方式。支持的通知方式包括短信、邮件、钉钉群等。创建告警规则时选择对应的通知策略即可。告警触发后,系统会按照通知策略配置的方式向通知对象发送告警信息。

相关文章
|
5天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
6天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
8665 37
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
6天前
|
JavaScript 定位技术 API
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
CodeGraph 是一款爆火的本地代码智能工具,通过 tree-sitter 解析 AST 构建结构化知识图谱(存于 SQLite),为编程 Agent 提前生成“代码地图”。它显著降低 Agent 在中大型项目中的探索成本——实测工具调用减少71%、Token 降57%、速度提升46%,支持19+语言及主流框架路由识别,完全离线、无需 API Key。
668 5
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
|
6天前
|
人工智能 运维 JavaScript
阿里云Qoder CN(原通义灵码)全解析 产品形态、版本划分与技术适配说明
在AI辅助开发与智能办公工具持续普及的当下,阿里云旗下原通义灵码正式更名为Qoder CN,同时延伸出QoderWork CN、Qoder CN CLI、Qoder CN Mobile等多款配套产品,形成覆盖代码开发、日常办公、终端交互、移动端使用的完整工具矩阵。Qoder CN核心定位为AI智能编码助手,深度适配主流代码编辑器、集成开发环境以及终端场景;QoderWork CN则偏向桌面端综合办公辅助,二者面向不同使用场景,划分了多个版本档位,搭配差异化资源配额、功能权限与计费规则,同时兼容多款主流大模型。
668 5
|
6天前
|
数据采集 人工智能 前端开发
让 Coding Agent 从黑盒到透明:阿里云 Agent 观测审计数据采集实践
AI Agent 规模化落地带来执行黑盒、行为难追溯、成本难度量三大难题。阿里云基于 OTel 标准,面向 Coding Agent、个人通用助理和框架型 Agent,推出 LoongSuite Pilot、插件及探针等无侵入采集方案,让 Agent 实现可看见、可分析、可审计、可治理。
730 148
|
6天前
|
存储 安全 Java
AgentScope Java 2.0:打造分布式、企业级智能体底座
AgentScope 2.0 面向分布式部署、稳定运行、权限安全等企业级需求全面升级,打造支持多租户隔离与长期稳定运行的企业级智能体底座。
|
6天前
|
人工智能 运维 自然语言处理
阿里云百炼Qwen3.7-Max模型详解:综合能力、核心优势与订阅计划参考指南
2026年,大模型技术持续向通用化、高性能、场景化方向迭代,阿里云百炼作为一站式大模型服务平台,持续推出迭代升级的模型产品,Qwen3.7-Max便是当前主力旗舰级大模型之一。该模型依托深度优化的底层架构与大规模训练数据,在文本理解、逻辑推理、多模态交互、代码生成、长文本处理等多个维度实现能力升级,同时搭配灵活的订阅计划体系,能够适配个人开发者、中小企业、大型企业、政企机构等不同类型用户的使用需求。
572 2
|
6天前
|
人工智能 缓存 自然语言处理
阿里Qwen3.7-Max评测:Agent能力显著提升,耗时与调用成本大幅下降
阿里云百炼推出面向智能体的旗舰大模型Qwen3.7-Max,具备长周期自主执行能力,显著提升编程、办公自动化等复杂任务处理水平;支持MCP集成与多框架兼容,并以限时5折+100万Tokens免费试用大幅降低使用门槛,助力企业高效落地AI应用。在阿里云百炼平台快速体验:https://t.aliyun.com/U/fPVHqY
1964 10
|
6天前
|
JSON 缓存 安全
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
CC Switch 通过本地路由(`127.0.0.1:15721`)实现协议转换:将 Codex 的 Responses API 请求自动映射为 DeepSeek 等厂商的 Chat Completions 接口,兼容流式响应与工具调用,无需修改 Codex 源码,安全隔离 API Key。(239字)
1678 3
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
|
6天前
|
人工智能 运维 API
2026年阿里云百炼通义千问Qwen3.7-plus深度介绍 功能特性、使用优势及618大促订阅方案指南
大模型技术的普及,让AI能力逐步融入个人办公、内容创作、代码编写、企业运营、教育培训等各类场景。不同定位的模型对应不同使用需求,旗舰级模型性能强劲但使用成本偏高,轻量化模型价格低廉却难以胜任复杂任务,而介于两者之间的中端主力模型,凭借均衡的能力、亲民的定价、广泛的场景适配性,成为绝大多数个人用户、小型团队、中小企业的首选。
777 1