cmd/remote-storage/README.md
The jaeger-remote-storage binary allows sharing single-node storage implementations like memory or Badger over gRPC. It implements the Jaeger Remote Storage gRPC API, enabling Jaeger components to use these storage backends remotely.
Configure remote-storage using a YAML configuration file with the --config-file flag:
./jaeger-remote-storage --config-file config.yaml
# Server configuration
grpc:
endpoint: :17271 # gRPC endpoint for remote storage API
# Storage configuration
storage:
backends:
default-storage:
memory:
max_traces: 100000
# Multi-tenancy configuration (optional)
multi_tenancy:
enabled: false
The storage configuration follows the same format as the jaeger_storage extension in Jaeger v2. All official backends are supported.
storage:
backends:
memory-storage:
memory:
max_traces: 100000
storage:
backends:
badger-storage:
badger:
directories:
keys: /tmp/jaeger/badger/keys
values: /tmp/jaeger/badger/values
ephemeral: false
ttl:
spans: 168h # 7 days
storage:
backends:
grpc-storage:
grpc:
endpoint: remote-server:17271
tls:
insecure: true
See example configuration files:
config.yaml - Memory storage exampleconfig-badger.yaml - Badger storage example./jaeger-remote-storage --config-file config.yaml
./jaeger-remote-storage --config-file config-badger.yaml
To enable multi-tenancy:
grpc:
host-port: :17271
multi_tenancy:
enabled: true
header: x-tenant
tenants:
- tenant1
- tenant2
storage:
backends:
default-storage:
memory:
max_traces: 100000
To use remote-storage with Jaeger components, configure them to use the gRPC storage backend:
extensions:
jaeger_storage:
backends:
some-storage:
grpc:
endpoint: localhost:17271
tls:
insecure: true
For more details, see the gRPC storage documentation.