使用OpenTelemetry SDK接入Trace数据时,可以通过直接发送或通过OpenTelemetry Collector转发两种方式上报数据到链路追踪服务端。
前提条件
直接上报
如果您的应用使用了OpenTelemetry SDK,可以通过OpenTelemetry gRPC协议直接向链路追踪服务端发送数据,您只需要配置接入点信息以及鉴权信息。
- 接入点信息:将前提条件中获取的接入点记为<endpoint>。
- 鉴权信息:将前提条件中
Authentication: <token>
添加为gRPC的Header。
以Java语言为例:
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
.addSpanProcessor(BatchSpanProcessor.builder(OtlpGrpcSpanExporter.builder()
.setEndpoint("<endpoint>")
.addHeader("Authentication", "<token>")
.build()).build())
.build();
说明
- 将
<endpoint>
替换为您上报区域对应的Endpoint,例如:http://tracing-analysis-dc-bj.aliyuncs.com:8090
。 - 将
<token>
替换为前提条件中获取的Token,例如:b590lhguqs@3a7xxxxxxx9b_b590lhguqs@53dxxxxx8301
。
通过开源OpenTelemetry Collector转发
如果您的应用使用了OpenTelemetry SDK和OpenTelemetry Collector,将Endpoint配置为本地部署的OpenTelemetry Collector地址后,无需配置鉴权信息,只需在OpenTelemetry Collector配置OTLP Exporter(包含Endpoint以及鉴权信息)向链路追踪服务端上报数据。