Ukraine flag We stand with our friends and colleagues in Ukraine. To support Ukraine in their time of need visit this page.

Storage Backends

Version  2.1 Latest Go to the latest 1.x version

See also:


Introduction

Jaeger requires a persistent storage backend. Cassandra, Elasticsearch, and OpenSearch are the primary supported distributed storage backends. Additional backends are discussed hereexternal link.

Please refer to Configuration page for details on configuring storage backends for Jaeger.

For large scale production deployment the Jaeger team recommends OpenSearch backend over Cassandra.

Remote Storage

Jaeger supports a gRPC-based [Remote Storage API][storage.proto] that allows extending the Jaeger ecosystem with custom storage backends, not directly supported by the project. These storage backends can be deployed as a remote gRPC server.

To use a remote storage as Jaeger storage backend, use grpc as the storage type and specify the remote gRPC server address. For more information, please refer to jaeger/plugin/storage/grpcexternal link.

Example config for remote storage can be found hereexternal link.

Known remote storage backends:

Archive Storage

Jaeger supports two kinds of trace storage: primary and archive. The primary storage is used as the main storage for all ingested traces, so it requires a highly scalable backend and is typically used with short TTL on trace data (e.g. two weeks) to save storage costs. However, occasionally it may be useful to save certain traces for a longer period of time, e.g. when linked to an incident or a future performance improvement task. The archive storage is used for this purpose. It can be configured with much longer retention period (even infinite) because no traces are automatically saved into archive storage, a save operation must be manually initiated by the user from Jaeger UI. In Jaeger v2 it is possible to mix and match different backends for primary and archive storage roles.

To configure an archive storage:

  • define a storage backend configuration as you see fit
  • reference the backend name in the traces_archive: property of the jaeger_storage extension.