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.
Open source
Tempo is a multitenant distributed tracing backend. It supports multitenancy through the use
of a header: X-Scope-OrgID
. This guide details how to setup multitenancy.
Multitenancy
If you’re interested in setting up multitenancy, please consult the multitenant example in the repo. This example uses the following settings to achieve multitenancy in Tempo:
- Configure the OTEL Collector to attach the X-Scope-OrgID header on push:
exporters:
otlp:
headers:
x-scope-orgid: foo-bar-baz
Grafana 7.5.x and higher
- Configure the Tempo datasource in Grafana to pass the tenant with the same header.
- name: Tempo-Multitenant
jsonData:
httpHeaderName1: 'X-Scope-OrgID'
secureJsonData:
httpHeaderValue1: 'foo-bar-baz'
Grafana 7.4.x
- Configure the Tempo datasource in Grafana to pass the tenant as a bearer token. This is necessary because it is the only header that Jaeger can be configured to pass to its GRPC plugin.
- name: Tempo-Multitenant
jsonData:
httpHeaderName1: 'Authorization'
secureJsonData:
httpHeaderValue1: 'Bearer foo-bar-baz'
- Configure Jaeger Query to pass the bearer token to its backend.
--query.bearer-token-propagation=true
Important Notes
- Multitenancy on ingestion is currently only working with GPRC and this may never change. It is strongly recommended to use the OpenTelemetry Collector to support multitenancy as described above.
- The way the read path is configured is temporary and should be much more straightforward once the tempo-query dependency is removed.
Enabling Multitenancy
To enable multitenancy on Tempo backend, simply set the following config value on all Tempo components:
multitenancy_enabled: true
or from the command line:
--multitenancy.enabled=true
This option will force all Tempo components to require the X-Scope-OrgID
header.
Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
60 min
Getting started with tracing and Grafana Tempo
In this webinar, we'll show you how to get started setting up Grafana Tempo, our open source, easy-to-use and high-volume distributed tracing backend.
Video
Scaling your distributed tracing with Grafana Tempo
In this demo, we’ll show how Grafana Tempo allows you to scale tracing as far as possible with less operational cost and complexity than ever before.
How Grafana and Tempo 2.0 make it easier to explore distributed traces
Learn best practices for operating Grafana Tempo and tips and tricks to find and visualize "needle in the haystack" traces with TraceQL.