Storage Backends
See also:
Introduction
Jaeger requires a persistent storage backend. Cassandra, Elasticsearch, and OpenSearch are the primary supported distributed storage backends. Additional backends are discussed here .
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/grpc .
Example config for remote storage can be found here .
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 thejaeger_storage
extension.