You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go/EKS微服务通过OpenTelemetry对接ADOT:配置X-Ray服务名称

解决X-Ray服务地图中服务显示为“client”的配置方案

1. 在Go应用中显式设置OpenTelemetry服务名称

初始化OpenTelemetry TracerProvider时,必须通过资源属性指定服务名称,这是X-Ray识别服务的核心依据:

import (
    "context"
    "log"
    "go.opentelemetry.io/otel"
    "go.opentelemetry.io/otel/sdk/resource"
    "go.opentelemetry.io/otel/sdk/trace"
    semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
)

func initTracer() {
    res, err := resource.New(
        context.Background(),
        resource.WithAttributes(
            semconv.ServiceNameKey.String("order-service"), // 替换为你的实际服务名称
            semconv.ServiceVersionKey.String("v1.0.0"),
        ),
    )
    if err != nil {
        log.Fatalf("failed to create resource: %v", err)
    }

    tp := trace.NewTracerProvider(
        trace.WithResource(res),
        // 其他TracerProvider配置(如采样器、导出器)
    )
    otel.SetTracerProvider(tp)
}

这个service.name属性会被ADOT Collector捕获,并传递给X-Ray作为服务地图中的服务标识。

2. 确保ADOT Collector配置不覆盖服务名称

检查Collector的配置文件(如config.yaml),避免X-Ray Exporter或Resource处理器修改服务名称:

  • X-Ray Exporter无需额外配置服务名称,默认会读取OTel链路的资源属性:
exporters:
  xray:
    region: "us-east-1" # 替换为你的AWS区域
  • 若使用了resource处理器,确保没有重写service.name:
processors:
  resource:
    attributes:
      # 不要添加类似以下的配置,除非是补充其他属性
      # - action: upsert
      #   key: service.name
      #   value: "generic-client"

3. EKS部署时的配置检查

如果使用ADOT Operator自动注入OpenTelemetry代理,需在Deployment注解中指定服务名称:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: order-service
  annotations:
    instrumentation.opentelemetry.io/inject-go: "true"
    instrumentation.opentelemetry.io/otel-service-name: "order-service" # 显式指定服务名
spec:
  # 其他部署配置(如容器镜像、资源限制)

若手动设置环境变量,确保OTEL_SERVICE_NAME的值为实际服务名,而非通用的"client"。

4. 验证链路数据的资源属性

可以通过开启ADOT Collector的Debug Exporter,确认链路数据中是否包含正确的service.name:

exporters:
  debug:
    verbosity: detailed

查看Collector日志,若能找到类似resource.attributes["service.name"] = "order-service"的记录,说明配置生效,X-Ray服务地图会自动识别该服务名称。

内容的提问来源于stack exchange,提问作者ethrbunny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 14:25:14