traefik/docs/content/observability/tracing/jaeger.md
2022-04-15 15:44:08 +02:00

5.5 KiB

title description
Traefik Jaeger Documentation Traefik supports several tracing backends, including Jaeger. Learn how to implement it for observability in Traefik Proxy. Read the technical documentation.

Jaeger

To enable the Jaeger tracer:

tracing:
  jaeger: {}
[tracing]
  [tracing.jaeger]
--tracing.jaeger=true

!!! warning Traefik is able to send data over the compact thrift protocol to the Jaeger agent or a Jaeger collector.

!!! info All Jaeger configuration can be overridden by environment variables

samplingServerURL

Required, Default="http://localhost:5778/sampling"

Address of the Jaeger Agent HTTP sampling server.

tracing:
  jaeger:
    samplingServerURL: http://localhost:5778/sampling
[tracing]
  [tracing.jaeger]
    samplingServerURL = "http://localhost:5778/sampling"
--tracing.jaeger.samplingServerURL=http://localhost:5778/sampling

samplingType

Required, Default="const"

Type of the sampler.

Valid values are:

  • const
  • probabilistic
  • rateLimiting
tracing:
  jaeger:
    samplingType: const
[tracing]
  [tracing.jaeger]
    samplingType = "const"
--tracing.jaeger.samplingType=const

samplingParam

Required, Default=1.0

Value passed to the sampler.

Valid values are:

  • for const sampler, 0 or 1 for always false/true respectively
  • for probabilistic sampler, a probability between 0 and 1
  • for rateLimiting sampler, the number of spans per second
tracing:
  jaeger:
    samplingParam: 1.0
[tracing]
  [tracing.jaeger]
    samplingParam = 1.0
--tracing.jaeger.samplingParam=1.0

localAgentHostPort

Required, Default="127.0.0.1:6831"

Local Agent Host Port instructs the reporter to send spans to the Jaeger Agent at this address (host:port).

tracing:
  jaeger:
    localAgentHostPort: 127.0.0.1:6831
[tracing]
  [tracing.jaeger]
    localAgentHostPort = "127.0.0.1:6831"
--tracing.jaeger.localAgentHostPort=127.0.0.1:6831

gen128Bit

Optional, Default=false

Generates 128 bits trace IDs, compatible with OpenCensus.

tracing:
  jaeger:
    gen128Bit: true
[tracing]
  [tracing.jaeger]
    gen128Bit = true
--tracing.jaeger.gen128Bit

propagation

Required, Default="jaeger"

Sets the propagation header type.

Valid values are:

  • jaeger, jaeger's default trace header.
  • b3, compatible with OpenZipkin
tracing:
  jaeger:
    propagation: jaeger
[tracing]
  [tracing.jaeger]
    propagation = "jaeger"
--tracing.jaeger.propagation=jaeger

traceContextHeaderName

Required, Default="uber-trace-id"

HTTP header name used to propagate tracing context. This must be in lower-case to avoid mismatches when decoding incoming headers.

tracing:
  jaeger:
    traceContextHeaderName: uber-trace-id
[tracing]
  [tracing.jaeger]
    traceContextHeaderName = "uber-trace-id"
--tracing.jaeger.traceContextHeaderName=uber-trace-id

disableAttemptReconnecting

Optional, Default=true

Disables the UDP connection helper that periodically re-resolves the agent's hostname and reconnects if there was a change. Enabling the re-resolving of UDP address make the client more robust in Kubernetes deployments.

tracing:
  jaeger:
    disableAttemptReconnecting: false
[tracing]
  [tracing.jaeger]
    disableAttemptReconnecting = false
--tracing.jaeger.disableAttemptReconnecting=false

collector

endpoint

Optional, Default=""

Collector Endpoint instructs the reporter to send spans to the Jaeger Collector at this URL.

tracing:
  jaeger:
    collector:
        endpoint: http://127.0.0.1:14268/api/traces?format=jaeger.thrift
[tracing]
  [tracing.jaeger.collector]
    endpoint = "http://127.0.0.1:14268/api/traces?format=jaeger.thrift"
--tracing.jaeger.collector.endpoint=http://127.0.0.1:14268/api/traces?format=jaeger.thrift

user

Optional, Default=""

User instructs the reporter to include a user for basic HTTP authentication when sending spans to the Jaeger Collector.

tracing:
  jaeger:
    collector:
        user: my-user
[tracing]
  [tracing.jaeger.collector]
    user = "my-user"
--tracing.jaeger.collector.user=my-user

password

Optional, Default=""

Password instructs the reporter to include a password for basic HTTP authentication when sending spans to the Jaeger Collector.

tracing:
  jaeger:
    collector:
        password: my-password
[tracing]
  [tracing.jaeger.collector]
    password = "my-password"
--tracing.jaeger.collector.password=my-password