阿里云 CloudMonitor 与日志服务:可观测性实战指南
高效的云上运维需要对基础设施的每一层拥有充分的可见性——从原始基础设施指标到应用级日志与链路追踪。
- 阿里云可观测体系概览
- CloudMonitor:指标、告警与仪表盘
- 日志服务(SLS):规模化实时日志分析
- CloudMonitor 与日志服务的集成
- 云上可观测最佳实践
高效的云上运维需要对基础设施的每一层拥有充分的可见性——从原始基础设施指标到应用级日志与链路追踪。阿里云提供两项紧密集成的可观测服务:CloudMonitor 负责指标采集、告警和仪表盘,日志服务(SLS)负责集中式日志收集、实时分析和长期存储。二者共同构成全面的可观测体系,帮助团队更快发现问题、高效排障并维持系统可靠性。
阿里云可观测体系概览
可观测性不仅仅是监控。它涵盖了通过指标(Metrics)、日志(Logs)和链路追踪(Traces)来理解系统状态的能力——即通常所说的可观测性三大支柱。阿里云通过 CloudMonitor(指标与告警)、日志服务 SLS(日志)以及链路追踪 Tracing Analysis(分布式追踪)来分别实现这三大支柱。本指南聚焦于 CloudMonitor 和日志服务,二者共同覆盖了绝大多数运维可观测需求。
CloudMonitor 为每一项阿里云服务提供开箱即用的指标采集,涵盖 ECS 实例、RDS 数据库、OSS 存储桶、SLB 负载均衡器等。它还支持来自应用的自定义指标,从而能够构建跨越基础设施和业务 KPI 的统一仪表盘。日志服务则建立在实时数据接入与查询引擎之上,能够处理 PB 级日志数据并实现亚秒级查询延迟,适用于从调试单次请求到跨分布式系统分析长期趋势的各类场景。
CloudMonitor:指标、告警与仪表盘
CloudMonitor 是阿里云的集中式指标平台。它能自动采集并存储所有云资源的时间序列数据,提供基础设施健康状况的统一视图。
自动化资源监控
当你开通任何阿里云资源时——无论是 ECS 实例、RDS 数据库还是 Redis 集群——CloudMonitor 无需任何配置即自动开始采集关键指标。对于 ECS,包括以 1 分钟粒度采集的 CPU 使用率、内存使用量、磁盘 I/O 和网络吞吐量。对于 RDS,包括连接数、每秒查询数(QPS)、慢查询数量和主备复制延迟等。这种自动化采集意味着你可在新资源上线时立即获得可见性,无需部署 Agent 或配置采集器。
1 分钟的默认粒度足以满足大多数运维监控需求。但对于延迟敏感型工作负载,CloudMonitor 提供对关键指标以 15 秒甚至 1 秒间隔的高频监控。高频监控会产生额外费用,应仅对那些精细粒度可见性确实带来运维价值的指标选择性开启。
自定义指标与应用监控
基础设施指标虽然能告诉你服务器是否健康,但无法揭示你的应用是否正常运行。CloudMonitor 的自定义指标功能允许应用通过 API 或 Agent 上报业务级和应用级指标,与基础设施指标一同存储以实现统一分析。
自定义指标可包括订单处理速率、用户登录成功率、API 端点延迟分位数、队列深度或功能开关状态等。应用通过调用 CloudMonitor 的 PutCustomMetric API 或使用 CloudMonitor Agent(支持简单的键值对上报格式)来发布指标。指标由命名空间、指标名称和可选的维度(Dimensions)来唯一标识,可按服务、环境或其他与架构相关的维度进行组织。
基于维度的指标在多租户或微服务环境中尤为强大。例如,你可以以服务名称、HTTP 方法和状态码为维度追踪 API 延迟,从而构建可按服务细分并下钻到具体端点性能的仪表盘。
告警规则与通知管理
单纯的指标是被动的,告警则让它们变得可操作。CloudMonitor 的告警系统持续评估指标条件,在阈值被突破时触发通知。
告警规则由指标、统计方法(如平均值、最大值或分位数)、评估周期、比较运算符和阈值共同定义。例如,你可以创建一条规则:当某个弹性伸缩组内 3 台 ECS 实例中至少有 2 台连续 5 分钟的平均 CPU 使用率超过 85% 时触发。
CloudMonitor 支持多级告警严重级别——从通知级别到严重级别——以决定通知渠道和升级路径。通知可通过短信、邮件、钉钉、Webhook 或函数计算触发器发送。Webhook 集成可实现复杂的告警工作流,如在 ITSM 系统中创建工单、触发自动化修复 Runbook,或将告警推送到 PagerDuty 等事件管理平台。
告警模板允许你定义包含触发事件动态字段的通知内容,如受影响的资源 ID、当前指标值以及相关仪表盘链接。精心设计的告警消息能减少响应者在事件处理期间收集上下文的时间。
组合告警与智能告警
简单阈值告警对可预测的指标有效,但在指标正常波动时会产生大量噪音。CloudMonitor 支持通过逻辑运算符组合多个条件的组合告警,减少误报。例如,仅在 CPU 使用率高且应用响应时间也升高的条件下才触发告警,这表明 CPU 升高确实在影响用户体验,而非只是正常的批处理任务。
CloudMonitor 还为关键指标提供智能异常检测。不同于静态阈值,异常检测从历史数据中学习正常模式,并针对具有统计显著性的偏差发出告警。这对于具有周期性模式的指标尤为有价值——如电商流量在工作时间和促销活动期间出现峰值——固定阈值会在正常高峰时产生误报。
仪表盘与可视化
CloudMonitor 仪表盘通过拖拽式界面提供指标的可视化展示。仪表盘支持多种可视化类型:展示指标趋势的时序折线图、展示当前值与目标对比的仪表盘、展示分布模式的热力图,以及用于 Top-N 分析的表格。
仪表盘可按服务、环境、业务域或团队职责进行组织。它们支持模板变量,可创建按实例 ID、地域或其他维度动态筛选的单一仪表盘。仪表盘共享功能允许需要可见性但无需修改监控配置的利益相关者获取只读访问权限。
对大型组织而言,CloudMonitor 支持仪表盘的导入与导出,可以将标准化仪表盘定义为代码,跨多个账号和地域部署。这种"基础设施即代码"的监控方式确保了跨团队一致性,并加速了新团队和新项目的上手速度。
日志服务(SLS):规模化实时日志分析
日志服务(常简称为 SLS)是专为云规模下的日志和时序数据而构建的实时数据接入、存储和分析平台。它在阿里巴巴全球基础设施上每日处理 EB 级数据,为运维排障、安全分析和商业智能提供基础能力。
日志采集与接入
SLS 通过多种机制采集日志,每种机制适用于不同的环境和需求。Logtail Agent 是 ECS 实例和 Kubernetes 集群的主要采集方式,提供可靠、低开销的日志文件采集,支持多行日志解析、编码检测和自动文件轮转处理。
Logtail 可通过 SLS 控制台或基础设施即代码工具进行配置,开箱即支持数十种日志解析格式,包括 JSON、CSV、Apache 访问日志、Syslog 以及基于正则表达式的自定义格式。对于结构化日志,Logtail 可自动解析键值对和嵌套对象,并将字段索引以实现即时可查询。
对于 Serverless 和容器原生环境,SLS 直接与阿里云服务集成。容器服务 Kubernetes 版(ACK)可将容器的 stdout/stderr 日志自动投递到 SLS。函数计算可直接将日志写入 SLS。API 网关和 CDN 服务可实时推送访问日志。这种原生集成消除了对 Sidecar 容器或自定义日志投递基础设施的需求。
LogStore 与数据组织
SLS 中的日志数据组织为 Project 和 LogStore 两级结构。Project 是管理单元,用于将相关联的日志分组,通常对应一个应用、一个微服务或一个环境。Project 内的 LogStore 则存储特定用途的日志数据——如访问日志、应用日志或审计日志——并定义数据保留周期和索引配置。
保留周期范围从数小时到永久保存,数据自动从热存储(用于频繁查询)分层到冷存储(用于合规和归档)。这种分层方式在成本上进行了优化:近期频繁访问的日志以亚秒级延迟可用,而较早的日志则以极低成本存储,仅查询延迟略高。
SQL 查询与分析
SLS 提供与 SQL 兼容的查询语言用于日志分析。与全文搜索工具不同,SLS 在数据接入时即对结构化字段建立索引,使得类似 SELECT status, COUNT(*) as cnt FROM access_log WHERE status >= 400 GROUP BY status ORDER BY cnt DESC 的 SQL 查询可在数十亿条日志中秒级返回结果。
查询语言支持标准 SQL 操作,包括聚合、过滤、分组、排序和窗口函数。同时还包括面向日志场景的专用函数,如 IP 地理位置查询、URL 解析、JSON 提取和正则表达式匹配。对于高级分析,SLS 支持直接在 SQL 查询中使用机器学习函数,用于时序预测、异常检测和模式挖掘。
日志分析管道
原始日志通常需要经过转换才能有效用于分析。SLS 提供数据转换管道,可在接入过程中实时解析、富化、过滤和路由日志数据。转换规则使用领域特定语言定义,并在 SLS 接入管道中执行,仅增加极少延迟。
常见转换模式包括:将非结构化或半结构化日志格式解析为结构化字段;基于 IP 地址为日志添加地理位置富化数据;为满足合规要求对信用卡号或邮箱地址等敏感字段进行脱敏;以及将特定日志模式路由到专用 LogStore,以支持专项分析或成本优化。
日志数据还可以从 SLS 导出到其他阿里云服务进行额外处理。导出到对象存储 OSS 可实现长期归档和与数据湖分析的集成。导出到 MaxCompute 可实现大规模批处理并将日志数据与业务数据关联分析。导出到 DataWorks 可实现定时 ETL 工作流和与 BI 工具的集成。
实时消费与告警
除即席查询外,SLS 还支持实时日志消费以支持告警和事件驱动自动化。你可以定义保存的查询(Saved Search),持续对进入的日志数据执行,当特定模式出现时触发告警——如错误率超过阈值、来自可疑 IP 的认证失败次数异常,或部署事件等。
SLS 的告警与 CloudMonitor 通知系统集成,因此基于日志的告警和基于指标的告警共用相同的通知渠道和升级策略。这种统一化简化了运维工作流:无论告警源自指标阈值还是日志模式,都能通过正确的渠道触达正确的人员。
日志数据仪表盘
SLS 内置了专为日志数据设计的仪表盘能力。仪表盘可包含时序图、饼图、表格、用于地理分布的世界地图以及用于流量分析的桑基图等。每个仪表盘面板均由一条 SQL 查询驱动,随着新数据的到达实时更新可视化展示。
SLS 仪表盘支持下钻:点击图表中某个分段可打开筛选到该分段的详细日志查询,从而实现快速根因分析。仪表盘可通过只读链接共享给利益相关者,并通过 Iframe 或 API 调用嵌入到其他应用中。
CloudMonitor 与日志服务的集成
当指标和日志协同使用时,阿里云可观测体系的真正威力才得以显现。CloudMonitor 指标提供"出了什么问题"的信号,SLS 日志则提供"为什么会出问题"的上下文。
关联告警
配置 CloudMonitor 在检测到指标异常时告警,同时查询 SLS 中相关的日志模式。例如,当 CloudMonitor 检测到 API 错误率升高时,自动化工作流可查询 SLS 在相同时窗内最频繁出现的错误消息,并将这些发现包含在告警通知中。通过随告警一起提供即时上下文,这能有效缩短平均诊断时间(MTTD)。
统一事件响应
在事件响应过程中,融合了 CloudMonitor 指标和 SLS 日志可视化的仪表盘为响应人员提供了系统行为的完整视图。单一仪表盘可同时展示 ECS CPU 和内存指标、日志中的应用错误率、数据库连接数以及上游依赖延迟——所有数据按时间对齐,并可按受影响的服务或实例进行筛选。
运维分析
除实时事件响应外,CloudMonitor 与 SLS 的联合数据还可支持长期运维分析。容量规划仪表盘可追踪数月资源使用趋势,预测何时需要扩容。可靠性报告可按服务追踪 SLI/SLO 达标情况,并向利益相关者发送偏离通知。成本优化分析可将资源指标与业务活动相关联,识别过度配置的资源。
云上可观测最佳实践
构建有效的可观测实践不仅需要启用工具,还需遵循以下生产部署的运维模式。
标准化日志格式
定义组织级的日志格式标准,建议采用 JSON 结构化日志,包含时间戳、服务名称、环境、Trace ID 和严重级别等公共字段。当所有服务以一致格式产出日志时,SLS 查询和仪表盘即可跨团队复用,跨服务排障也变得切实可行。
实施有意义的告警
告警疲劳是有效监控的大敌。每条告警都应要求人工响应。在创建告警规则之前,先问自己:"如果凌晨 3 点收到这条告警,我会采取什么行动?"如果答案是"确认并忽略",那这条告警应该改为仪表盘指标。利用历史数据调整告警阈值,在敏感度(捕捉真实事件)与特异性(避免误报)之间取得平衡。
践行 SLO 驱动的监控
将服务等级目标(SLO)作为主要监控框架。为关键用户旅程定义 SLO——如"在 30 天窗口内 99.9% 的 API 请求在 500ms 内成功完成"——并基于 SLO 燃尽速率而非原始指标阈值构建 CloudMonitor 告警。基于 SLO 的告警方式关注用户可感知的服务降级,而非短暂的基础设施波动,从而有效减少告警噪音。
自动化仪表盘创建
将仪表盘视为代码。通过 Terraform 或 ROS 模板定义 CloudMonitor 和 SLS 仪表盘,并与应用代码一同进行版本管理。自动化的仪表盘部署可确保新服务、新环境和新团队从第一天起就拥有一致、设计良好的可观测能力。
管理日志成本
日志量随流量增长而增加,SLS 成本也相应升高。对高流量低价值的日志(如调试输出)进行采样。使用 SLS 转换管道在日志到达 LogStore 之前丢弃或聚合日志。设置合理的保留周期:运维日志 7-30 天,合规要求的数据保留更久。定期审查日志使用模式并对 LogStore 进行合理配置。
总结
阿里云 CloudMonitor 与日志服务共同提供了强大的可观测平台,从单实例监控到涵盖数百服务的企业级可见性均可覆盖。通过将自动化基础设施指标与实时日志分析、关联告警和统一仪表盘相结合,这些服务使运维团队能够更快地检测、诊断和解决问题,同时为容量规划、成本优化和可靠性工程提供数据基础。无论你是在管理少量 ECS 实例,还是编排全球微服务网格,CloudMonitor 和 SLS 都能为你提供云上从容运维所需的可见性。
本文由 6.chengzicloud.cloud 提供,点击访问首页了解更多