AWS 日志体系入门:CloudWatch、CloudTrail 与服务日志全景

AWS 日志中文入门:CloudWatch Logs(日志组/日志流/保留期/Insights 查询/告警)、RDS 等服务日志类型、CloudTrail 审计日志、S3 归档导出、日志最佳实践清单,以及观测云统一接入告警的落地方案。

最佳实践
AWS 日志体系入门:CloudWatch、CloudTrail 与服务日志全景技术指南封面

AWS 日志生态以 CloudWatch Logs 为中枢,CloudTrail 管审计、各服务(RDS/ELB/VPC)产出专属日志、S3 承担归档。本文梳理这套体系的全貌与最佳实践,帮助你在 AWS 上建立完整的日志治理框架。

核心要点速览

  • CloudWatch Logs 是枢纽:日志组(Log Group)→ 日志流(Log Stream)两级组织,保留期按组设置。
  • CloudTrail ≠ CloudWatch:CloudTrail 记"谁调了什么 API"(审计),CloudWatch 记"系统运行产生什么"(运行)。
  • 保留期必须主动设置:CloudWatch 默认永久保留——不设置就是成本黑洞。
  • 最佳实践闭环:集中收集 → Insights 查询 → 告警(Alarms+SNS)→ S3 归档 → 定期审视策略。

1. AWS 服务都产生什么日志?

服务 主要日志
RDS 错误日志、慢查询日志、审计日志、通用日志(引擎相关)
Lambda 每次调用的系统日志(START/END/REPORT)+ 应用输出
CloudTrail 账号内全部 API 调用与控制台登录事件
ELB/ALB 访问日志(写 S3)
VPC Flow Logs(网络流记录)
ECS/EKS 容器 stdout(经 awslogs/FireLens 驱动)

RDS 的日志可在控制台查看下载,或发布到 CloudWatch Logs 流式分析;ALB/VPC 日志默认写 S3。

2. CloudWatch Logs 核心概念

  • 日志组:一个应用/服务一个组(如 /aws/lambda/order-api);
  • 日志流:组内按实例/时间分流的日志序列;
  • 保留期:按组设置(1 天到 10 年),默认"永不过期"必须改
  • CloudWatch Logs Insights:专用查询语言,按字段过滤、统计、出图:
    fields @timestamp, @message
    | filter @message like /ERROR/
    | stats count() by bin(5m)
    

3. 告警与可视化

  • Metric Filter:把日志模式转成指标(如 ERROR 计数);
  • CloudWatch Alarms:指标超阈值触发,经 SNS 发邮件/短信或调 Lambda 自动处置;
  • Dashboards:指标、告警、日志查询结果同屏呈现。

4. 归档与外送

  • 导出 S3:日志组创建导出任务,配合 S3 生命周期策略转 Glacier 降本;
  • 订阅过滤器(Subscription Filter):日志组实时流向 Lambda/Kinesis/Firehose,再转发第三方平台——这是外送的标准机制;
  • Kinesis Firehose:批量缓冲后写 S3/HTTP 端点,适合大流量。

5. AWS 日志最佳实践清单

  1. 所有服务日志集中收集,不留死角(包括 CloudTrail);
  2. 用 Insights 实时查询代替翻控制台;
  3. 关键模式配 Metric Filter + Alarm 告警;
  4. 保留期按日志组差异化设置,历史转 S3 归档;
  5. 日志加密与访问控制(IAM/KMS)到位;
  6. 定期审视日志策略,删无用日志源控成本。

观测云落地:AWS 日志统一接入

  1. 外送通道:CloudWatch 日志组配订阅过滤器 → Lambda/Firehose → 推送到观测云 HTTP 日志接收端;EC2 主机直接装 DataKit;EKS 以 DaemonSet 部署 DataKit。
  2. 解析标准化:JSON 日志自动解析;Pipeline 映射级别为标准 status、时间戳为 time;按日志组/服务打标 service
  3. 统一告警:监控器对 AWS 各服务日志的错误模式设规则,告警策略路由钉钉/企业微信/飞书——多云告警收敛到一个通知体系。
  4. 成本优化:高价值日志在观测云标准索引;海量访问日志在 AWS 侧只留短保留 + 观测云低频索引/归档,避免双端重复长留。

常见问题(FAQ)

CloudTrail 和 CloudWatch 到底怎么分工?

CloudTrail 回答"谁动了我的 AWS 资源"(API 审计、合规);CloudWatch 回答"我的系统运行得怎么样"(运行日志、指标、告警)。两者都要,缺一不可。

CloudWatch 费用为什么超预期?

两大头:摄入量(按 GB)与长期保留。对策:设置保留期、裁剪低价值日志源、冷数据转 S3(便宜得多)、或外送观测云用多索引策略精细控本。

多云(AWS + 阿里云 + IDC)日志怎么统一看?

各云用各自外送机制(AWS 订阅过滤器、阿里 SLS 投递、IDC 用 DataKit 直采)汇入观测云,一个工作空间统一检索告警——避免在 N 个控制台之间跳来跳去。

RDS 日志直接查还是发 CloudWatch?

短期排障控制台直接看;需要告警、跨实例聚合、长期分析时发布到 CloudWatch Logs(或经订阅外送观测云),文件下载只适合一次性取数。

系列阅读


获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台