Thanos supports different tracing backends that implements
All clients are configured using
--tracing.config-file to reference to the configuration file or
--tracing.config to put yaml config directly.
You can either pass YAML file defined below in
--tracing.config-file or pass the YAML content directly using
--tracing.config. We recommend the latter as it gives an explicit static view of configuration for each component. It also saves you the fuss of creating and managing additional file.
Don’t be afraid of multiline flags!
In Kubernetes it is as easy as (on Thanos sidecar example):
- args: - sidecar - | --objstore.config=type: GCS config: bucket: <bucket> - --prometheus.url=http://localhost:9090 - | --tracing.config=type: STACKDRIVER config: service_name: "" project_id: <project> sample_factor: 16 - --tsdb.path=/prometheus-data
At that point, anyone can use your provider by spec.
Current tracing supported backends:
Client for https://github.com/jaegertracing/jaeger tracing.
type: JAEGER config: service_name: "" disabled: false rpc_metrics: false tags: "" sampler_type: "" sampler_param: 0 sampler_manager_host_port: "" sampler_max_operations: 0 sampler_refresh_interval: 0s reporter_max_queue_size: 0 reporter_flush_interval: 0s reporter_log_spans: false endpoint: "" user: "" password: "" agent_host: "" agent_port: 0
Client for https://cloud.google.com/trace/ tracing.
type: STACKDRIVER config: service_name: "" project_id: "" sample_factor: 0
Client for https://www.elastic.co/products/apm tracing.
type: ELASTIC_APM config: service_name: "" service_version: "" service_environment: "" sample_rate: 0
Client for Lightstep.
In order to configure Thanos to interact with Lightstep you need to provide at least an access token in the configuration file. The
collector key is optional and used when you have on-premise satellites.
type: LIGHTSTEP config: access_token: "" collector: scheme: "" host: "" port: 0 plaintext: false custom_ca_cert_file: "" tags: ""