OpenTelemetry 协议 (OTLP) 导出器
配置追踪的 OpenTelemetry 协议导出器
启用和配置OpenTelemetry 协议 (OTLP)导出 GraphOS Router或 Apollo Router Core的数据
OTLP 是 OpenTelemetry 的原生协议。它可以用于将跟踪数据导出到各种后端,包括
有关跟踪配置的一般信息,请参阅路由跟踪配置。
OTLP 配置
路由器可配置为使用 OTLP 通过 HTTP 或 gRPC 导出跟踪数据:
router.yaml
telemetry:exporters:tracing:otlp:enabled: true# Optional endpoint, either 'default' or a URL (Defaults to http://127.0.0.1:4317 for gRPC and http://127.0.0.1:4318 for HTTP)endpoint: default# Optional protocol (Defaults to grpc)protocol: grpc# Optional Grpc configurationgrpc:metadata:"my-header": "value1"# Optional Http configurationhttp:headers:"my-header": "value1"
enabled
设置为 true 以启用 OTLP 导出器。默认为 false。
endpoint
OTLP 端点。
默认为
- http://127.0.0.1:4317适用于 gRPC
- http://127.0.0.1:4318适用于 HTTP
ⓘ 注意
在端点参数中仅指定基本URL。路由器会自动添加 /v1/traces
部分的URL以匹配 OpenTelemetry 规范.
grpc
用于设置自定义SSL证书、域名和元数据的特定于gRPC协议的设置。
telemetry:exporters:tracing:otlp:grpc:domain_name: "<my-domain>"key: "<key>"ca: "<certificate-authority>"cert: "<certificate>"metadata:key1: value1key2: value2
💡 提示
使用 变量扩展功能 在YAML配置文件中引用环境变量和文件路径。使用 env.
和 file.
�前缀,例如 ${file.ca.txt}
。
gRPC配置参考
属性 | 描述 |
---|---|
domain_name | 一个可选的域名。 |
key | 一个可选的密钥。 |
ca | 一个可选的证书权威机构。 |
cert | 一个可选的证书。 |
metadata | 发送请求时要发送的头部的映射 |
http
用于设置自定义头的特定于HTTP协议的设置。
http:headers:key1: value1key2: value2
HTTP配置参考
属性 | 描述 |
---|---|
headers | 发送请求时要发送的头部的映射 |
batch_processor
所有导出器都支持使用 batch_processor
配置批量操作范围处理器。
如果你的日志中出现了以下任何消息,你必须调整你的 batch_processor
配置:
OpenTelemetry跟踪错误:无法将范围发送到批量范围处理器,因为通道已满
OpenTelemetry度量错误:无法将范围发送到批量范围处理器,因为通道已满
具体的设置取决于你可以发送数据到你的应用程序性能监控器(APM)的可用的带宽和你的APM的带宽配置。预期这些设置会随着你应用程序的变化而在时间上进行调整。
以下是一个使用OTLP和 batch_processor
的示例配置:
telemetry:exporters:tracing:otlp:batch_processor:max_export_batch_size: 512max_concurrent_exports: 1max_export_timeout: 30smax_queue_size: 2048scheduled_delay: 5s
batch_processor
配置参考
属性 | 默认: | 描述 |
---|---|---|
scheduled_delay | 5s | 从收到第一个范围到发送批次的秒数延迟。 |
max_concurrent_exports | 1 | 重叠导出请求的最大数量。 |
max_export_batch_size | 512 | 批次中包括的范围的数量。可能受到最大消息大小限制的限制。 |
max_export_timeout | 30s | 在丢弃数据之前发送范围的超时时间(秒)。 |
max_queue_size | 2048 | 在丢弃范围数据之前缓冲的范围的最大数量。 |
OTLP配置参考
属性 | 值 | 默认: | 描述 |
---|---|---|---|
enabled | false | 启用OTLP导出器。 | |
protocol | grpc |http | grpc | 要使用的协议。 |
endpoint | http://127.0.0.1:4317 用于gRPC和http://127.0.0.1:4318 用于HTTP | 要发送范围的端点。 | |
grpc | 特定于gRPC协议的配置。 | ||
http | 特定于HTTP协议的配置。 | ||
temporality | 此配置选项对于跟踪来说是未使用的。 | ||
batch_processor | 批量处理器设置。 |