通用 SDK 配置

配置 OpenTelemetry SDK 的通用环境变量。

OTEL_SERVICE_NAME

设置 service.name 资源属性的值。

默认值:"unknown_service"

OTEL_RESOURCE_ATTRIBUTES 中也提供了 service.name,则 OTEL_SERVICE_NAME 会优先使用。

示例:

export OTEL_SERVICE_NAME="your-service-name"

OTEL_RESOURCE_ATTRIBUTES

用于定义资源属性的键值对。更多细节请参考 Resource SDK

**默认值:**空。

查看资源语义约定, 以了解常见资源类型的语义约定。

示例:

export OTEL_RESOURCE_ATTRIBUTES="key1=value1,key2=value2"

OTEL_TRACES_SAMPLER

指定 SDK 用于采样跟踪的采样器。

默认值:"parentbased_always_on"

示例:

export OTEL_TRACES_SAMPLER="traceidratio"

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)
  • "jaeger_remote": JaegerRemoteSampler
  • "xray": AWS X-Ray Centralized Sampling (第三方)

OTEL_TRACES_SAMPLER_ARG

如果适用的话,指定由 OTEL_TRACES_SAMPLER 定义的采样器的参数。仅当设置了 OTEL_TRACES_SAMPLER 时, 才会使用指定的值。每种采样器类型都有其自己的预期输入(如果有)。无效或无法识别的输入会记录为错误。

**默认值:**空。

示例:

export OTEL_TRACES_SAMPLER="traceidratio"
export OTEL_TRACES_SAMPLER_ARG="0.5"

根据 OTEL_TRACES_SAMPLER 的值,OTEL_TRACES_SAMPLER_ARG 可以设置如下:

  • 对于 traceidratioparentbased_traceidratio 采样器:采样概率,范围为[0..1]的数值,例如 “0.25”。若未设置,默认为 1.0。
  • 对于 jaeger_remoteparentbased_jaeger_remote 采样器:值为逗号分隔的列表:
    • 示例: "endpoint=http://localhost:14250,pollingIntervalMs=5000,initialSamplingRate=0.25"
    • endpoint: 作为 gRPC 服务器的终端,采样策略的服务端点(sampling.proto)的格式为 scheme://host:port
    • pollingIntervalMs:以毫秒为单位,指示采样器多久轮询一次后端以更新采样策略。
    • initialSamplingRate:[0..1] 的范围内,当无法访问后端以检索采样策略时使用作为采样概率。一旦成功检索到采样策略,此值将不再起作用,因为会继续使用远程策略直到获取新的更新。

OTEL_PROPAGATORS

以逗号分隔的列表指定要使用的传播器。

默认值:"tracecontext,baggage"

示例:

export OTEL_PROPAGATORS="b3"

OTEL_PROPAGATORS 的可接受值包括:

OTEL_TRACES_EXPORTER

指定用于导出跟踪的导出器。

默认值:"otlp"

示例:

export OTEL_TRACES_EXPORTER="jaeger"

可接受的值为:

  • "otlp": OTLP
  • "jaeger": 导出到 Jaeger 数据模型
  • "zipkin": Zipkin
  • "none": 不自动配置跟踪导出器。

OTEL_METRICS_EXPORTER

指定用于导出度量的导出器。

默认值:"otlp"

示例:

export OTEL_METRICS_EXPORTER="prometheus"

OTEL_METRICS_EXPORTER 的可接受值为:

  • "otlp": OTLP
  • "prometheus": Prometheus
  • "none": 不自动配置度量导出器。

OTEL_LOGS_EXPORTER

指定用于导出日志的导出器。

默认值:"otlp"

示例:

export OTEL_LOGS_EXPORTER="otlp"

OTEL_LOGS_EXPORTER 的可接受值为:

  • "otlp": OTLP
  • "none": 不自动配置日志导出器。
最后修改 December 10, 2023: translate (a4350d6e)