Skip to content
返回云服务

AWS CloudWatch 可观测性

指标、日志、追踪和告警 — 所有 AWS 服务和自定义应用的统一可观测性。

AWS进阶

为什么

CloudWatch 自动从每 AWS 服务收集指标/日志/追踪。告警触发 SNS/Lambda、仪表盘可视化、Logs Insights 用类 SQL 查询。10 自定义指标免费。

何时使用

所有 AWS 监控时用 — 指标告警、日志分析、X-Ray 追踪。避免跨云(用 Datadog)或长期存储(用 S3 导出)。

如何做

1. 指标 — aws cloudwatch put-metric-data,或日志中 EMF(自动提取) 2. 日志 — CloudWatch Logs、日志组、保留、Insights 查询 3. 告警 — 指标阈值、SNS 动作、异常检测 4. 仪表盘 — 小部件、自动刷新、团队共享 5. Logs Insights — fields @timestamp, @message | filter level="error" | stats count() 6. X-Ray — 跨服务追踪、服务图、采样规则 7. 指标过滤器 — 从日志文本提取指标 8. Synthetics — 金丝雀测试、多区域监控正常运行时间

示例

# Logs Insights 查询 — 上小时顶部错误 fields @timestamp, @message, requestId | filter level = "error" | sort @timestamp desc | limit 50 # Lambda 错误告警 aws cloudwatch put-metric-alarm \ --alarm-name lambda-errors \ --metric-name Errors \ --namespace AWS/Lambda \ --statistic Sum --period 60 \ --threshold 5 --comparison-operator GreaterThanThreshold \ --evaluation-periods 3 \ --alarm-actions arn:aws:sns:...:alerts # EMF — 结构化日志自动提取指标 console.log(JSON.stringify({ _aws: { Timestamp: Date.now(), CloudWatchMetrics: [{ Namespace: "MyApp", Dimensions: [["service"]], Metrics: [{ Name: "latency", Unit: "Milliseconds" }] }]}, service: "api", latency: 42 }));

常见问题

  • ⚠日志成本爆炸 — 设保留、用 Insights 非导出、高量采样
  • ⚠告警抖动 — 设足够评估期、用异常检测
  • ⚠跨账户可见性 — 用 CloudWatch 跨账户共享或 Log Insights

最佳实践

  • ✓用 EMF 非 put-metric-data — 结构化日志自动提取指标、更便宜
  • ✓设日志保留 — 开发 7 天、生产 30 天、更长归档 S3
  • ✓用 Logs Insights 非导出 — 原地查询、无 S3 导出成本

常见问题解答

什么是AWS CloudWatch 可观测性?它解决什么问题?

指标、日志、追踪和告警 — 所有 AWS 服务和自定义应用的统一可观测性。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手AWS CloudWatch 可观测性?

两步即可跑通:① 指标 — aws cloudwatch put-metric-data,或日志中 EMF(自动提取);② 日志 — CloudWatch Logs、日志组、保留、Insights 查询。建议先用免费套餐验证流程,再接入生产环境。

AWS CloudWatch 可观测性 最容易踩的坑是什么?

最高频的问题是:日志成本爆炸 — 设保留、用 Insights 非导出、高量采样。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

AWS CloudWatch 可观测性 的最佳实践有哪些?

AWS CloudWatch 可观测性 的最佳实践包括:用 EMF 非 put-metric-data — 结构化日志自动提取指标、更便宜;设日志保留 — 开发 7 天、生产 30 天、更长归档 S3;用 Logs Insights 非导出 — 原地查询、无 S3 导出成本。其中首条「用 EMF 非 put-metric-data — 结构化日志自动提取指标、更便宜」应作为团队默认规范写入 IaC 模板。

AWS CloudWatch 可观测性 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。AWS CloudWatch 可观测性 多数提供免费套餐,先在免费额度内验证再放量。