mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-21 14:20:56 +00:00
The collector exits at startup whenever the Grafana Cloud stack is brought up: cannot start pipelines: failed to start "otlphttp/grafanacloud" exporter: failed to resolve authenticator "basicauth/grafanacloud": authenticator not found The developer stack passes otel-collector-filestorage.yaml as a second --config to persist filelog read offsets. The collector replaces lists on merge rather than appending them, which that file notes, and it repeats the BASE config's service.extensions -- [health_check, file_storage/filelog]. Layer the cloud overlay on top and the base config is swapped for the cloud one, whose list also carries basicauth/grafanacloud; the storage overlay still comes last, so the authenticator is dropped and the exporter that needs it cannot start. Nothing degrades: the collector refuses to start at all, so a host brought up this way exports no telemetry anywhere, local or cloud. Adds a cloud variant of the overlay naming all three extensions, mounted by docker-compose.grafanacloud.yaml over the base one so the command line is unchanged. The base variant stays as it is for stacks that do not use the cloud exporter.
33 lines
1.6 KiB
YAML
33 lines
1.6 KiB
YAML
# Compose override — enable Grafana Cloud export at runtime.
|
|
#
|
|
# Layer this on top of the base stack to swap the collector onto the
|
|
# Grafana Cloud dual-export config and inject the OTLP credentials. The
|
|
# base docker-compose.yml is unchanged, so plain `up` stays local-only.
|
|
#
|
|
# Usage:
|
|
# 1. Put your three Grafana Cloud values in docker/telemetry/.env.grafanacloud
|
|
# (template: .env.grafanacloud.example). That file is gitignored.
|
|
# 2. Bring the stack up with BOTH compose files:
|
|
# docker compose -f docker/telemetry/docker-compose.yml \
|
|
# -f docker/telemetry/docker-compose.grafanacloud.yaml up -d
|
|
# 3. To go back to local-only, bring the stack up with just the base file.
|
|
#
|
|
# Log mount: inherited from the base compose (./data/logs -> /var/log/xrpld).
|
|
# Both nodes' xrpld cfgs write to docker/telemetry/data/logs/<net>/debug.log,
|
|
# so no per-box remap is needed here.
|
|
|
|
services:
|
|
otel-collector:
|
|
volumes:
|
|
# Mount the Grafana Cloud collector config over the default path
|
|
# (replaces local-only config for this run; file on disk untouched).
|
|
- ./otel-collector-config.grafanacloud.yaml:/etc/otel-collector-config.yaml:ro
|
|
# Override the base filelog-storage overlay with the cloud variant. The
|
|
# collector replaces service.extensions on merge, and the base variant
|
|
# omits basicauth/grafanacloud, which stops the cloud exporter starting.
|
|
- ./otel-collector-filestorage.grafanacloud.yaml:/etc/otel-collector-filestorage.yaml:ro
|
|
# Secrets from the env file, injected as container env and
|
|
# resolved by the collector via ${env:...}.
|
|
env_file:
|
|
- .env.grafanacloud
|