Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Documentationbreadcrumb arrow Grafana Tempobreadcrumb arrow Managebreadcrumb arrow Enable multi-tenancy
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.