SuperAPI AI 工具集

golang-observability-opentelemetry

部署与运维

查看项目

更新于 10-15 18:46

技能介绍

用途:为 Go 应用建立可观测性,将追踪、指标、日志三类数据关联起来,便于生产环境排障与性能分析。

主要能力:OpenTelemetry 分布式追踪与上下文传播;Prometheus 指标采集与 /metrics 端点,含 Counter、Gauge、Histogram、Summary;slog(Go 1.21+)JSON 结构化日志,使用 trace_id、span_id 关联日志与追踪;HTTP/gRPC 中间件自动埋点;Kubernetes 就绪/存活探针;信号处理与导出器优雅关闭。

用法:安装依赖 go get go.opentelemetry.io/otel、go.opentelemetry.io/otel/sdk、go.opentelemetry.io/otel/exporters/jaeger、go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp;指标依赖 go get github.com/prometheus/client_golang/prometheus 及 prometheus/promhttp。示例中 Jaeger 收集端点使用 http://localhost:14268/api/traces,指标通过 promhttp.Handler() 挂在 /metrics。生产环境建议将 AlwaysSample 替换为概率采样。

适用场景:微服务全链路追踪、跨服务边界观测、Grafana 看板与 SLO/SLI 监控、生产性能瓶颈排查、为既有 Go 服务补充可观测性。

限制:OpenTelemetry 导出器、采样策略、后端部署方式及版本兼容性未在资料中说明;性能开销、安全与合规要求暂未提供。