OpenTelemetry 环境变量规范
通用 SDK 配置
名称 | 描述 | 默认值 | 备注 |
---|---|---|---|
OTEL_SDK_DISABLED | 禁用所有信号的 SDK | false | 如果为 "true",将使用无操作 SDK 实现来处理所有遥测信号。任何其他值或变量的缺失将没有效果,SDK 将保持启用状态。此设置对通过 OTEL_PROPAGATORS 变量配置的传播器没有影响。 |
OTEL_RESOURCE_ATTRIBUTES | 用作资源属性的键值对 | ||
OTEL_SERVICE_NAME | 设置 service.name 资源属性的值 | 如果在 OTEL_RESOURCE_ATTRIBUTES 中也提供了 service.name ,则 OTEL_SERVICE_NAME 优先。 | |
OTEL_LOG_LEVEL | SDK 内部日志记录器 使用的日志级别 | "info" | |
OTEL_PROPAGATORS | 以逗号分隔的列表形式使用的传播器 | "tracecontext,baggage" | 值必须去重,以便只注册一次 Propagator 。 |
OTEL_TRACES_SAMPLER | 用于跟踪的采样器 | "parentbased_always_on" | 参见 采样 |
OTEL_TRACES_SAMPLER_ARG | 用作采样器参数的值 | 只有在设置了 OTEL_TRACES_SAMPLER 时,才会使用指定的值。每种采样器类型定义其自己的预期输入(如果有)。无效或无法识别的输入必须被记录,并且必须 被忽略,即实现必须表现得好像 OTEL_TRACES_SAMPLER_ARG 未设置。 |
OTEL_PROPAGATORS
的已知值为:
"tracecontext"
: W3C Trace Context"baggage"
: W3C Baggage"b3"
: B3 Single"b3multi"
: B3 Multi"none"
: 没有自动配置的传播器。
OTEL_TRACES_SAMPLER
的已知值为:
"always_on"
:AlwaysOnSampler
"always_off"
:AlwaysOffSampler
"traceidratio"
:TraceIdRatioBased
"parentbased_always_on"
:ParentBased(root=AlwaysOnSampler)
"parentbased_always_off"
:ParentBased(root=AlwaysOffSampler)
"parentbased_traceidratio"
:ParentBased(root=TraceIdRatioBased)
"parentbased_jaeger_remote"
:ParentBased(root=JaegerRemoteSampler)
根据 OTEL_TRACES_SAMPLER
的值,OTEL_TRACES_SAMPLER_ARG
可以设置如下:
- 对于
traceidratio
和parentbased_traceidratio
采样器:采样概率,范围为 [0..1] 的数字,例如 "0.25"。如果未设置,默认值为 1.0。
批量 Span 处理器
名称 | 描述 | 默认值 | 备注 |
---|---|---|---|
OTEL_BSP_SCHEDULE_DELAY | 两次连续导出之间的延迟间隔(以毫秒为单位) | 5000 | |
OTEL_BSP_EXPORT_TIMEOUT | 导出数据的最大允许时间(以毫秒为单位) | 30000 | |
OTEL_BSP_MAX_QUEUE_SIZE | 最大队列大小 | 2048 | 有效值为正数。 |
OTEL_BSP_MAX_EXPORT_BATCH_SIZE | 最大批量大小 | 512 | 必须小于或等于 OTEL_BSP_MAX_QUEUE_SIZE。有效值为正数。 |
批量 LogRecord 处理器
名称 | 描述 | 默认值 | 备注 |
---|---|---|---|
OTEL_BLRP_SCHEDULE_DELAY | 两次连续导出之间的延迟间隔(以毫秒为单位) | 1000 | |
OTEL_BLRP_EXPORT_TIMEOUT | 导出数据的最大允许时间(以毫秒为单位) | 30000 | |
OTEL_BLRP_MAX_QUEUE_SIZE | 最大队列大小 | 2048 | 有效值为正数。 |
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE | 最大批量大小 | 512 | 必须小于或等于 OTEL_BLRP_MAX_QUEUE_SIZE。有效值为正数。 |
属性限制
实现应仅为 SDK 实现截断机制的属性类型提供环境变量。
名称 | 描述 | 默认值 | 备注 |
---|---|---|---|
OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT | 最大允许属性值大小 | 无限制 | 有效值为非负数。 |
OTEL_ATTRIBUTE_COUNT_LIMIT | 最大允许属性数量 | 128 | 有效值为非负数。 |
导出器
导出器选择
我们定义了用于为每个信号设置一个或多个导出器的环境变量。
名称 | 描述 | 默认值 |
---|---|---|
OTEL_TRACES_EXPORTER | 要使用的跟踪导出器 | "otlp" |
OTEL_METRICS_EXPORTER | 要使用的指标导出器 | "otlp" |
OTEL_LOGS_EXPORTER | 要使用的日志导出器 | "otlp" |
实现可以接受逗号分隔的列表以启用设置多个导出器。
OTEL_TRACES_EXPORTER
的已知值为:
"otlp"
: OTLP"console"
: 标准输出"logging"
: 标准输出。这是一个为向后兼容而保留的弃用值。新实现不应支持。"none"
: 没有自动配置的跟踪导出器。
OTEL_METRICS_EXPORTER
的已知值为:
"otlp"
: OTLP"prometheus"
: Prometheus"console"
: 标准输出"logging"
: 标准输出"none"
: 没有自动配置的指标导出器。
OTEL_LOGS_EXPORTER
的已知值为:
"otlp"
: OTLP"console"
: 标准输出"logging"
: 标准输出"none"
: 没有自动配置的日志导出器。
指标 SDK 配置
Exemplar 示例
名称 | 描述 | 默认值 |
---|---|---|
OTEL_METRICS_EXEMPLAR_FILTER | 哪些测量可以成为示例的过滤器。 | "trace_based" |
OTEL_METRICS_EXEMPLAR_FILTER
的已知值为:
"always_on"
: 始终开启"always_off"
: 始终关闭"trace_based"
: 基于跟踪
定期导出 MetricReader
特定于使用 定期导出 MetricReader 的推送指标导出器(OTLP、stdout、内存中)的环境变量。
名称 | 描述 | 默认值 |
---|---|---|
OTEL_METRIC_EXPORT_INTERVAL | 两次导出尝试开始之间的时间间隔(以毫秒为单位)。 | 60000 |
OTEL_METRIC_EXPORT_TIMEOUT | 导出数据的最大允许时间(以毫秒为单位)。 | 30000 |
声明式配置
涉及声明式配置的环境变量。
名称 | 描述 |
---|