Menu

This is documentation for the next version of Tempo. For the latest stable release, go to the latest version.

Open source

Enable multi-tenancy

Tempo is a multi-tenant distributed tracing backend. It supports multi-tenancy through the use of a header: X-Scope-OrgID.

If you’re interested in setting up multi-tenancy, consult the multi-tenant example in the repository. This example uses the following settings to achieve multi-tenancy in Tempo.

Note

Multi-tenancy on ingestion is currently only working with GPRC and this may never change. It’s strongly recommended to use the OpenTelemetry Collector to support multi-tenancy.

Configure multi-tenancy

  1. Configure the OTEL Collector to attach the X-Scope-OrgID header on push:

    exporters:
      otlp:
        headers:
          x-scope-orgid: foo-bar-baz
  2. Configure the Tempo data source in Grafana to pass the tenant with the same header:

    - name: Tempo-Multitenant
      jsonData:
        httpHeaderName1: 'X-Scope-OrgID'
      secureJsonData:
        httpHeaderValue1: 'foo-bar-baz'
  3. Enable multi-tenancy on the Tempo backend by setting the following configuration value on all Tempo components:

    multitenancy_enabled: true

    or from the command line:

    --multitenancy.enabled=true

    This option forces all Tempo components to require the X-Scope-OrgID header.