
这次我们来看阿里云在可观测性领域的一个关键进展阿里云可观测平台在Gartner《2025年可观测性平台魔力象限》报告中获评“挑战者”。对于关注云原生、微服务运维和系统稳定性的开发者与架构师来说这不仅是一个行业认可更意味着一个功能日趋成熟、值得深入评估的国产技术选项。可观测性Observability早已超越传统监控它要求我们能通过日志、指标、链路追踪等数据主动、深入地洞察分布式系统的内部状态。阿里云此次入选核心看点在于其平台能力是否真的能解决大规模、复杂架构下的排障难题以及它对于普通开发团队而言上手门槛、集成成本和实际效果如何。本文将带你快速了解阿里云可观测平台的核心能力、适用场景并通过一个模拟的微服务应用部署案例演示从基础监控到问题排查的完整操作流程。如果你正在为微服务链路追踪不清、问题定位效率低下或监控成本高昂而困扰这篇文章将提供一份实用的评估与实操参考。1. 核心能力速览阿里云可观测平台并非单一产品而是一个整合了多项服务的解决方案集。根据其公开能力与Gartner报告所指的方向我们可以将其核心能力归纳如下能力项说明与组件核心三大支柱指标监控 (Metrics)CloudMonitor云监控提供基础资源与云产品指标。日志服务 (Logs)SLS日志服务实现日志的采集、存储、分析与可视化。链路追踪 (Traces)ARMS应用实时监控服务提供分布式调用链追踪。统一数据平台基于SLS构建的统一数据底座支持日志、指标、链路数据的统一接入、存储与关联分析旨在打破数据孤岛。智能运维 (AIOps)集成异常检测、智能告警、根因分析等能力例如通过算法自动发现指标异常、定位故障瓶颈。开源生态集成支持OpenTelemetry标准可无缝接入使用Prometheus、Grafana、SkyWalking、Jaeger等开源工具栈的应用。部署与启动全托管SaaS服务无需自建服务器。通过阿里云控制台开通服务、安装/配置采集端Agent即可启动。主要使用成本按量计费主要成本来自日志存储量、指标数据点、链路追踪采样数据量。提供免费额度。适合场景云原生应用、微服务架构、容器ACK、Serverless、复杂业务系统的监控、排障、性能分析与成本优化。2. 适用场景与使用边界阿里云可观测平台适合哪些团队又能解决哪些具体问题最适合的几类场景全栈监控可视化当你拥有从ECS服务器、RDS数据库到Kubernetes容器、微服务应用的全栈技术栈时需要一个统一视图查看健康状态。微服务故障排查在复杂的调用链中一个接口变慢或报错需要快速定位是哪个服务、哪个数据库查询、哪段代码出了问题。成本与性能优化分析应用链路找出耗时最长的调用或资源消耗最大的服务为容量规划和代码优化提供数据支撑。合规与审计需求集中管理所有操作日志、访问日志满足安全审计与合规性要求。需要注意的使用边界云原生优先虽然也支持非阿里云环境通过公网或专线但其与阿里云产品如ACK、FC、RDS的深度集成体验最佳。纯线下IDC环境并非其主战场。成本敏感性在高流量、高采样的场景下日志和链路数据的存储与计算成本需要持续关注和优化如设置采样率、调整存储周期。技术栈适配对于高度定制化或使用非常见技术栈的应用可能需要一定的集成开发工作量。数据主权与合规所有监控数据默认存储在阿里云需确保符合企业数据安全管理规定。3. 环境准备与前置条件在开始动手之前请确保你已满足以下基本条件阿里云账号拥有一个有效的阿里云账号并完成实名认证。开通相关服务在阿里云控制台需要开通以下核心服务日志服务 SLS作为数据底座。应用实时监控服务 ARMS用于应用监控和链路追踪。云监控 CloudMonitor用于基础资源监控。 通常首次使用会有引导流程可一并开通。目标应用环境准备一个待监控的应用。本文将以一个部署在阿里云ECS上的简单Spring Boot微服务应用为例。该应用通过Maven构建包含一个HTTP接口。网络连通性确保你的应用服务器ECS可以正常访问阿里云可观测服务的公网端点或通过VPC内网访问。基础权限操作账号需要拥有操作SLS、ARMS等服务的RAM权限如AliyunLogFullAccess,AliyunARMSFullAccess。4. 安装部署与数据接入阿里云可观测平台的“部署”核心是安装采集器Agent与配置数据源。我们以监控一个Java Spring Boot应用为例演示标准流程。4.1 创建监控资源首先我们需要在ARMS中创建应用监控。登录ARMS控制台在阿里云控制台搜索“应用实时监控服务ARMS”并进入。创建应用在“应用监控”页面点击“创建应用”。填写应用名称如demo-springboot-app选择地域。获取接入点信息创建成功后ARMS会提供一个详细的接入指南其中包含License Key和接入点地址。请保存好这些信息。4.2 安装并配置Java AgentARMS通过Java Agent方式无侵入式地采集应用性能数据。下载Agent在接入指南中找到下载链接或直接在ECS上使用wget命令下载Agent的JAR包。# 进入应用部署目录下载Agent (请替换为实际提供的下载链接) cd /home/your_app_dir wget https://arms-apm.aliyuncs.com/install/ArmsAgent.zip unzip ArmsAgent.zip修改Agent配置文件解压后编辑arms-agent.config文件填入从控制台获取的License Key和接入点。# arms-agent.config 示例配置 licenseKeyyour_license_key_here appNamedemo-springboot-app # 其他配置通常保持默认即可启动应用并挂载Agent在启动你的Java应用时通过-javaagent参数指定Agent路径。# 示例启动命令 java -javaagent:/home/your_app_dir/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar \ -Darms.licenseKeyyour_license_key_here \ -Darms.appNamedemo-springboot-app \ -jar your-springboot-app.jar验证接入启动应用后访问几个接口生成流量。等待2-3分钟回到ARMS控制台的应用监控页面如果看到应用状态变为“正常”且有流量数据说明接入成功。4.3 配置日志服务SLS采集接下来我们将应用日志采集到SLS。创建Project和Logstore在SLS控制台创建一个Project选择与ECS相同地域然后在Project下创建一个Logstore如demo-app-log。安装LogtailLogtail是SLS的日志采集客户端。在ECS上安装Logtail。# 一键安装脚本请以root权限执行并替换为你的地域和配置 wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/logtail.sh chmod 755 logtail.sh ./logtail.sh install auto --region cn-hangzhou --config /path/to/your/ilogtail_config.json注意更推荐在ECS管理控制台通过“安装云监控插件”的方式自动安装Logtail更为便捷。创建机器组在SLS控制台将这台ECS实例添加到机器组。配置采集规则在刚创建的Logstore中配置采集规则。例如采集Spring Boot应用日志文件/home/your_app_dir/logs/application.log并设置行首正则表达式进行日志切分。验证日志采集触发应用产生一些日志在SLS控制台的查询分析页面如果能搜索到最新的日志说明采集成功。5. 功能测试与效果验证接入完成后我们通过模拟一个常见问题来验证平台的核心观测能力。测试场景模拟一个“用户下单”接口响应变慢的问题。制造问题在你的Demo应用中可以故意在某个服务方法内添加一段Thread.sleep模拟数据库查询慢或外部服务调用延迟。GetMapping(/order) public String createOrder() { // 模拟耗时操作 try { Thread.sleep(2000); // 延迟2秒 } catch (InterruptedException e) { e.printStackTrace(); } return Order Created; }在ARMS中观察应用拓扑进入ARMS控制台你的应用详情页。查看“应用拓扑”标签页。你应该能看到一个可视化的服务调用关系图图中会显示各个接口的平均响应时间、错误率等。找到/order接口其响应时间会显著高于其他接口。使用链路追踪定位瓶颈在“接口调用”或“链路追踪”页面筛选/order接口。点击一条具体的慢调用Trace ID进入链路详情。这里会清晰展示出这次请求的完整调用链包括经过的每个方法、HTTP调用、SQL查询并精确标注出每一步的耗时。你将会看到耗时主要发生在你添加了sleep的那个方法上。这快速定位了性能瓶颈所在。关联查看日志在链路追踪详情页面通常会有“关联日志”的入口或功能。点击后系统会自动将此次Trace的上下文信息如traceid作为查询条件跳转到SLS日志查询页面并展示出在这次慢请求发生时间段内同一应用实例打印的所有相关日志如错误、警告、INFO日志。这实现了链路与日志的联动无需手动拼接时间点和机器IP去搜索日志极大提升了排障效率。配置智能告警在ARMS或云监控中我们可以为/order接口的P99响应时间设置一条告警规则。例如当/order接口的P99响应时间在5分钟内持续大于1.5秒时触发告警通过钉钉、短信或邮件通知负责人。这样下次出现类似性能劣化时团队能第一时间被通知而不是被动等待用户投诉。6. 接口API与自动化集成阿里云可观测平台的所有功能几乎都提供了开放的API便于与内部运维系统CMDB、工单系统、自动化脚本或第三方平台集成。核心API类别数据查询API查询指定时间范围内的指标数据、日志内容或链路追踪数据。告警管理API创建、修改、启用/禁用告警规则。资源管理API管理SLS的Project、LogstoreARMS的应用等。示例通过Python SDK查询应用QPS指标以下示例演示如何查询最近15分钟内某个应用的总QPS。# 安装阿里云SDK核心库及ARMS SDK # pip install alibabacloud_tea_openapi alibabacloud_arms20210422 from alibabacloud_arms20210422.client import Client as Arms20210422Client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_arms20210422 import models as arms_20210422_models import time # 1. 初始化客户端 config open_api_models.Config( access_key_idyour_access_key_id, access_key_secretyour_access_key_secret, region_idcn-hangzhou # 地域 ) config.endpoint arms.cn-hangzhou.aliyuncs.com client Arms20210422Client(config) # 2. 构造查询请求 request arms_20210422_models.QueryMetricRequest( metric_typeqps, start_timeint((time.time() - 900)) * 1000, # 15分钟前毫秒时间戳 end_timeint(time.time()) * 1000, filters[{key: appId, value: your_arms_app_id}], dimensions[api], interval60s # 聚合间隔 ) # 3. 发起请求并打印结果 try: response client.query_metric(request) print(response.body) except Exception as e: print(e)通过API你可以将监控数据接入自研大屏或根据特定指标自动触发扩缩容、回滚等运维操作。7. 资源占用与成本观察作为SaaS服务资源占用主要体现在数据采集端Agent和云端存储计算成本。Agent资源占用ARMS Java Agent通常对应用性能的影响开销控制在5%以内。内存占用约几十到百兆取决于应用复杂度。在生产环境需进行压测评估。SLS Logtail作为独立的守护进程运行CPU和内存占用很低通常不会成为系统瓶颈。云端成本构成与优化日志服务SLS成本 读写流量 数据存储 索引流量 查询计算。优化建议合理设置日志采集粒度对DEBUG等低价值日志进行采样或过滤根据合规要求设置合理的日志保存时间如访问日志存30天调试日志存7天使用日志聚类功能压缩相似日志。应用监控ARMS按监控的应用实例数量和数据点数计费。优化建议对于非核心或测试环境应用可以降低数据采样率合理设置链路追踪的采样策略例如对健康接口进行低频采样。云监控免费额度基础监控指标有较高免费额度通常足够中小规模使用。核心动作务必在控制台设置预算提醒并定期通过成本分析功能查看可观测性服务的费用明细及时调整配置。8. 常见问题与排查方法问题现象可能原因排查方式解决方案ARMS应用监控无数据1. Agent未成功挂载。2. License Key或应用名配置错误。3. 网络不通。1. 检查应用启动命令和日志确认-javaagent参数正确。2. 检查arms-agent.config文件。3. 在ECS上telnet接入点地址的端口默认443。1. 修正启动命令和配置文件。2. 检查安全组/网络ACL规则放行对ARMS端点的访问。SLS日志采集不到1. Logtail未安装或未运行。2. 机器组配置错误。3. 采集路径/模式配置错误。1. 执行ps auxgrep logtail检查进程。2. 在SLS控制台检查机器组状态是否为“正常”。3. 使用Logtail自带的诊断命令检查。链路追踪不完整或缺失1. 采样率设置过低。2. 异步调用未正确传递Trace上下文。3. 框架或组件不支持。1. 检查ARMS中的采样率配置。2. 检查代码中异步线程间TraceId的传递。3. 查看ARMS兼容性列表。1. 临时调高采样率进行测试。2. 使用OpenTelemetry API手动注入上下文。3. 考虑使用其他兼容性更好的Agent或SDK。告警不触发或误报1. 告警规则条件设置不合理。2. 数据上报延迟。3. 告警渠道未配置。1. 检查告警规则的指标、阈值、持续周期。2. 检查监控数据是否有断点。3. 测试告警渠道如钉钉Webhook。1. 基于历史数据如P95/P99设置更科学的阈值。2. 增加告警规则的触发缓冲时间。3. 配置并验证告警接收渠道。控制台访问慢或操作失败1. 浏览器或本地网络问题。2. 跨地域访问。3. 临时服务端问题。1. 尝试更换浏览器或网络环境。2. 确认控制台地域与资源地域一致。3. 查看阿里云健康状态页。1. 清除缓存或使用无痕模式。2. 切换到资源所在地域的控制台。3. 等待一段时间后重试或提交工单。9. 最佳实践与使用建议为了更高效、更经济地使用阿里云可观测平台建议遵循以下实践规划先行在项目初期就设计好监控规范包括日志格式标准如JSON结构化、关键业务指标黄金指标延迟、流量、错误、饱和度、链路追踪的采样策略。分层监控基础设施层使用云监控关注CPU、内存、磁盘、网络。应用运行层使用ARMS关注JVM、GC、线程池、接口性能。业务逻辑层在代码中打点通过SLS或ARMS自定义指标监控订单量、支付成功率等核心业务指标。善用开箱即用功能ARMS持续剖析定期开启自动发现CPU和内存热点方法无需修改代码。SLS日志审计一键开启满足等保合规对操作日志的审计要求。CloudMonitor事件监控订阅云产品系统事件如ECS重启、RDS主备切换。成本优化常态化为所有Logstore设置索引生命周期自动删除过期数据。对调试类日志启用采样采集。定期使用成本分析功能识别费用最高的Project或Logstore并分析其合理性。安全与权限管控遵循最小权限原则为运维、开发等不同角色创建RAM子账号并分配精细的权限策略如只读、特定Project管理权限。对SLS中的敏感信息如身份证号、手机号配置数据脱敏规则。阿里云可观测平台获得Gartner挑战者称号标志着其在产品整合度、开源兼容性和AIOps能力上达到了国际主流水平。对于深度使用阿里云生态的团队它提供了开箱即用、深度集成的观测解决方案能显著降低从零搭建监控体系的复杂度。最值得尝试的起点是选择一个核心业务应用接入ARMS应用监控和SLS日志服务。你最先能验证的价值是能否在5分钟内从一张拓扑图上发现性能异常的服务并通过一次点击完成从链路追踪到关联日志的根因定位。最容易踩的坑往往是网络配置和Agent权限按照控制台指引一步步操作大多能解决。下一步可以探索如何将监控数据与内部的CI/CD流程、告警升级策略、容量管理平台相结合构建更主动、更智能的运维体系。可观测性建设的最终目的不仅是“看到”问题更是为了“预测”和“预防”问题从而保障业务的持续稳定。