第九章 构建可观测的微服务:跟踪、指标与日志实践

📅 发布时间:2026/7/15 3:06:28 👁️ 浏览次数:
第九章 构建可观测的微服务:跟踪、指标与日志实践
在单体应用时代,排查问题通常意味着登录服务器查看日志文件。但在微服务架构中,一个用户请求可能跨越数十个服务、数百个实例,传统的日志方式已力不从心。可观测性(Observability)应运而生,它通过跟踪、指标和日志三大支柱,帮助我们理解系统内部状态,快速定位故障根源。本文将深入介绍可观测性的核心概念,并结合 OpenTelemetry、Jaeger、Prometheus 和 EFK 栈(Elasticsearch + Fluent Bit + Kibana),展示如何在 Go 微服务中构建完整的可观测体系。1. 可观测性的三大支柱可观测性通常由三个相互补充的数据维度组成:跟踪(Traces):记录请求在分布式系统中的完整路径,包括跨服务的调用链和每个操作的耗时。指标(Metrics):对系统行为的数值化度量,如请求速率、延迟分布、错误率、CPU 使用率等。日志(Logs):带有时间戳的离散事件记录,描述应用程序在特定时刻发生了什么。三者结合,我们可以回答关于系统的三类关键问题:发生了什么?(日志)发生的频率和趋势如何?(指标)为什么会发生?(跟踪)2. 服务级别目标(SLO