Last reviewed 2023-08-21 UTC
Google Cloud 架构框架中的本文档提供了在服务中添加可观测性的最佳实践,以便您可以更好地了解服务性能并快速识别问题。可观测性包括监控、日志记录、跟踪、性能剖析、调试和类似系统。
监控是 Google SRE 手册中的服务可靠性层次结构的基础。如果没有适当的监控,您无法判断应用是否正常运行。
对代码进行插桩以最大限度地提高可观测性
精心设计的系统的目标是从开发阶段开始就具有适当的可观测性。不要等到应用进入生产阶段才开始观测。对代码进行插桩并考虑以下指导:
- 为了高效地进行调试和问题排查,请考虑要写入哪些日志和跟踪记录条目,以及要监控和导出哪些指标。对系统中最可能或最频繁出现的故障模式进行排序。
- 定期审核和删减监控。删除未使用或无用的信息中心、图形、提醒、跟踪和日志记录,以免杂乱无章。
Google Cloud Observability 提供实时监控、混合多云监控和日志记录(例如针对 AWS 和 Azure)以及跟踪、性能分析和调试。Google Cloud Observability 还可以自动发现和监控在 App Engine 上或 Istio 等服务网格中运行的微服务。
如果您要生成大量应用数据,可以使用 BigQuery 优化分析事件日志的大规模注入。BigQuery 还适用于保存和分析来自监控框架的高基数时序数据。这种方法非常有用,因为它可让您以较低的费用运行任意查询,而无需尝试从头开始设计完美的监控,并将报告与监控分离开来。您可以使用 Looker Studio 或 Looker 根据数据创建报告。
建议
如需将架构框架中的指导运用到您自己的环境,请遵循以下建议:
- 尽早实现监控,例如在启动迁移之前或将新应用部署到生产环境之前。
- 区别应用问题与底层云问题。使用 Monitoring API 或其他 Cloud Monitoring 产品和 Google Cloud 状态信息中心。
- 定义除监控之外的可观测性策略,包括跟踪、性能剖析和调试。
- 定期清理您未使用或未提供值的可观测性工件,例如不可执行的提醒。
- 如果您生成了大量可观测性数据,请将应用事件发送到 BigQuery 等数据仓库系统。
后续步骤
- 在设计时确保可扩缩性和高可用性(本系列的下一个文档)
探索架构框架中的其他类别,例如系统设计、卓越运营以及安全性、隐私权和合规性。