从 Prometheus 到 ARMS:我们如何在阿里云上简化多层应用的可观测性

发布: (2026年1月7日 GMT+8 20:16)
7 min read
原文: Dev.to

Source: Dev.to

如果你曾因调试跨微服务的延迟峰值而失眠,你就会知道可观测性不仅仅是指标——它关乎上下文

几个月来,我的团队在阿里云上使用 ACK(Alibaba Cloud Container Service for Kubernetes)上的 Prometheus 运行一个多层 SaaS 应用。它一直运行良好——直到扩展需求、工具碎片化以及告警疲劳逐渐显现。

我们最近迁移到了 Application Real‑Time Monitoring Service (ARMS),阿里云的托管可观测性平台。结果如何?事件解决速度提升 40 %,运维开销大幅降低,并且能够在整个技术栈上获得统一视图。

为什么我们触碰到 Prometheus 的限制

Prometheus 在指标方面非常出色——但在生产级、多环境的部署中,我们不断碰壁:

  • 运维负担 – 在各集群间管理高可用 Prometheus、存储、保留策略以及抓取配置占用了大量工程师时间。
  • 缺乏端到端可视化 – 指标在 Prometheus,日志在另一个系统,追踪在再另一个系统。将前端响应变慢与数据库查询慢关联起来需要手动侦查。
  • 扩展不可预测 – 在流量高峰时我们要么过度配置(浪费资金),要么面临指标缺失的风险。
  • 噪声大、上下文缺失的告警 – “CPU 高”或“API 错误率上升”,却不知道 哪个服务哪个依赖 是根本原因。

我们需要一种能够在同一位置提供 指标 + 追踪 + 日志,且维护工作最小化的方案。

为什么选择 ARMS

ARMS 不仅仅是 “Prometheus‑as‑a‑service”。它是一个 统一的可观测性平台,支持:

  • 完整的 Prometheus 远程写入/拉取兼容性
  • 自动发现云资源(Kubernetes 工作负载、负载均衡器、托管数据库等)
  • 内置分布式追踪(支持 Java、Python、Go 等语言的自动注入)
  • 与阿里云服务深度集成——无需额外代理或复杂网络配置

最重要的是:我们不必放弃已有的投入。ARMS 在摄取我们现有的 Prometheus 指标的同时,还加入了底层云基础设施的更深层次上下文。

我们的迁移策略:安全且渐进

我们没有“一键切换”。可观测性对业务至关重要。以下是我们的分阶段方法:

  1. Parallel ingestion – 配置 ARMS 通过 Prometheus remote write 接收指标——相同的 exporter、相同的指标。
  2. Validation period – 同时运行两个系统两周,比较仪表盘、告警准确性和数据完整性。
  3. Gradual cutover – 将 Grafana 仪表盘切换为使用 ARMS 作为数据源,然后迁移告警规则。
  4. Decommission – 确信后,缩减自管的 Prometheus 集群并回收资源。

零停机。风险最小。

💡 Pro tip: 小技巧:先使用 ARMS 的 Prometheus Monitoring 模式——如果你已经在使用 Prometheus,这是最温和的上手方式。

Observability Across All Tiers—Finally

我们的技术栈涵盖:

  • 前端(CDN + OSS 上的静态资源)
  • API 网关(通过应用负载均衡器)
  • 无状态微服务(在 ACK 上)
  • 缓存层(托管 Redis)
  • 持久存储(托管 PostgreSQL)

在使用 ARMS 之前,回答 “为什么结账慢?” 需要在三个以上的工具之间切换。

现在,在 单一的 ARMS 仪表盘 中,我们可以看到:

  • 前端性能(真实用户指标)
  • API 延迟和错误率
  • 带有实时追踪的服务依赖图
  • 自动关联到调用服务的慢查询数据库

这已经不再是“收集数据”,而是 理解行为

重要成果

  • 40 % 的平均解决时间(MTTR)降低
  • 减少 60 % 用于管理可观测性基础设施的时间
  • 警报更少但 信号更强(带有服务级别上下文)
  • 更快的入职——新工程师通过 ARMS 探索系统,而不是部落知识

如果您正在考虑类似的迁移

  • 使用 ARMS 的 Prometheus‑compatible endpoint,避免配置重写。
  • 启用 Application Monitoring 进行自动探针——只需添加少量 JVM 参数或 SDK 调用。
  • 设置 RAM roles(Alibaba Cloud 的 IAM),实现安全、免凭证访问。
  • 仍然需要推送自定义指标吗?ARMS 支持 OpenTelemetry 和 Prometheus 客户端库。

最终思考

这不仅仅是一次工具更换——它标志着从 被动监控主动洞察 的转变。通过采用托管的、云原生的可观测性平台,我们重新拥有了周末,并且把 SLO 控制在可管理的范围内。

如果你在 Kubernetes 上运行 Prometheus 并且感受到扩展的痛点,也许是时候探索统一可观测性平台能为你的团队带来什么——无论你使用哪家云提供商。

Back to Blog

相关文章

阅读更多 »

重构你的简历

简历生成器 - FlowCV – 我个人最喜欢的。它免费、现代,而且布局非常不易被“破坏”。 - Standard Resume – 极简主义,高可读性布局……