文档首页/ 应用性能管理 APM/ 用户指南(2.0)/ 接入APM/ 增强型、OpenTelemetry以及SkyWalking方式接入APM实现性能指标监控/ OpenTelemetry方式接入APM实现指标监控/ Go应用接入APM
更新时间:2026-08-13 GMT+08:00
Go应用接入APM
Go应用接入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依赖,命令如下: