基于 AWS Lambda 的无服务器可观测性
在分布式系统和无服务器计算的世界中,实现可观测性是确保应用程序可靠性和性能的关键。它不仅仅是传统监控。通过利用 Amazon CloudWatch 和 AWS X-Ray 等 AWS 可观测性工具,您可以深入了解无服务器应用程序、排查问题并优化应用程序性能。在本指南中,我们将学习为基于 Lambda 的无服务器应用程序实施可观测性的基本概念、工具和最佳实践。
实施基础设施或应用程序可观测性之前的第一步是确定您的关键目标。这可能是增强用户体验、提高开发者生产力、满足服务级别目标 (SLOs)、增加业务收入或任 何其他取决于应用程序类型的特定目标。因此,明确定义这些关键目标并确定如何衡量它们。然后从这些目标倒推来设计您的可观测性策略。参考"监控重要的事项"了解更多信息。
可观测性的三大支柱
可观测性有三个主要支柱:
- Logs:在应用程序或系统中发生的离散事件的时间戳记录,如故障、错误或状态转换
- Metrics:在不同时间间隔测量的数字数据(时间序列数据);SLIs(请求率、错误率、持续时间、CPU% 等)
- Traces:Trace 代表单个用户跨多个应用程序和系统(通常是微服务)的旅程
AWS 提供原生和开源工具来促进日志记录、metrics 监控和追踪,以获取 AWS Lambda 应用程序的可操作洞察。
Logs
在可观测性最佳实践指南的这一部分中,我们将深入探讨以下主题:
- 非结构化与结构化日志
- CloudWatch Logs Insights
- 记录关联 ID
- 使用 Lambda Powertools 的代码示例
- 使用 CloudWatch Dashboards 进行日志可视化
- CloudWatch Logs 保留策略
Logs 是应用程序中发生的离散事件。这些可以包括故障、错误、执行路径或其他事件。Logs 可以以非结构化、半结构化或结构化格式记录。