文档首页/
应用性能管理 APM/
用户指南(2.0)/
接入APM/
增强型、OpenTelemetry以及Skywalking方式接入APM实现性能指标监控/
OpenTelemetry方式接入APM实现指标监控/
Go语言接入APM
更新时间:2026-03-20 GMT+08:00
Go语言接入APM
操作步骤
- 登录APM控制台。
- 单击左侧
,选择“管理与监管 > 应用性能管理 APM”,进入APM服务页面。 - 在左侧导航栏中选择“应用监控 > 应用列表”。
- 单击“接入应用”,进入接入应用页面。
- 选择“区域”和“应用”。单击“创建应用”,弹出“创建应用”弹窗,可以具体操作参见创建应用。
- “接入方式”选择OpenTelemetry。
- “服务端语言”选择Go。
- 数据接入。
侵入式接入,相关参数与操作步骤如下。
- 添加 OpenTelemetry 依赖,命令如下:
import ( "context" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" "go.opentelemetry.io/otel/sdk/resource" sdktrace "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin"
- 对接 OpenTelemetry,命令如下:
const ( SERVICE_NAME="应用名称.组件名称.环境名称 APM_ENDPOINT="100.79.29.106:4317" APM_TOKEN=" ****** " ) func main() { cleanup := initTracer() defer cleanup(context.Background()) r := gin.Default() r.Use(otelgin.Middleware(SERVICE_NAME)) ..业务代码 } func initTracer() func(context.Context) error { headers := map[string]string{"Authentication": APM_TOKEN} exporter, err := otlptracegrpc.New( context.Background(), otlptracegrpc.WithInsecure(), otlptracegrpc.WithEndpoint(APM_ENDPOINT), otlptracegrpc.WithHeaders(headers), ) if err != nil { log.Fatalf("Failed to create exporter: %v", err) } resources, err := resource.New( context.Background(), resource.WithAttributes( attribute.String("service.name", SERVICE_NAME), attribute.String("library.language", "go"), ), ) if err != nil { log.Fatalf("Could not set resources: %v", err) } otel.SetTracerProvider( sdktrace.NewTracerProvider( sdktrace.WithSampler(sdktrace.AlwaysSample()), sdktrace.WithBatcher(exporter), sdktrace.WithResource(resources), ), ) return exporter.Shutdown }
- 添加 OpenTelemetry 依赖,命令如下: