Go可观测性三支柱Logs-Metrics-Traces集成实战文章导语可观测性的三大支柱——日志(Logs)、指标(Metrics)、链路追踪(Traces)——为微服务系统提供了全方位的运行状态洞察。本文基于ZapPrometheusOpenTelemetry实现Go服务的完整可观测性。一、结构化日志(Zap)funcInitLogger()*zap.Logger{config:zap.NewProductionConfig()config.OutputPaths[]string{stdout}config.EncoderConfig.TimeKeytimestampconfig.EncoderConfig.EncodeTimezapcore.ISO8601TimeEncoder logger,_:config.Build()returnlogger}// 使用logger.Info(user created,zap.String(user_id,userID),zap.String(trace_id,traceID),)二、三支柱统一关联// 通过trace_id关联日志和链路funcLoggingMiddleware(logger*zap.Logger)gin.HandlerFunc{returnfunc(c*gin.Context){traceID:c.GetHeader(X-Trace-Id)iftraceID{traceIDuuid.New().String()c.Header(X-Trace-Id,traceID)}// 注入到loggerctxLogger:logger.With(zap.String(trace_id,traceID))c.Set(logger,ctxLogger)c.Next()}}三、全文总结Zap高性能结构化日志Prometheus指标暴露与Alert告警OpenTelemetry统一Trace标准trace_id关联三支柱数据参考文献zap: https://github.com/uber-go/zapOpenTelemetry Go SDKCNCF可观测性白皮书