From 844248339d9ad9dc3687e4f0614e6c4a5fbe5363 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Thu, 6 Aug 2026 14:20:53 +0100 Subject: [PATCH 1/3] chore(telemetry): update collector, Tempo and Grafana to current releases Bumps the three images this branch pins: otel-collector-contrib 0.121.0 -> 0.158.0 tempo 2.7.2 -> 2.9.4 grafana 11.5.2 -> 13.1.2 Verified locally against the new images: the collector config passes `validate` under 0.158.0 and tempo.yaml passes `-config.verify=true` under 2.9.4, both unchanged. The collector's log path uses the generic otlphttp exporter (otlphttp/loki), not the dedicated loki exporter removed upstream in v0.147.0, so the pipeline is unaffected by that removal. Grafana crosses two majors. Operator-visible consequences are handled on the branches that own the affected files: Grafana 13 enables the renderAuthJWT feature toggle by default, so the image renderer now requires a matching renderer_token on both the server and the renderer container. --- docker/telemetry/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/telemetry/docker-compose.yml b/docker/telemetry/docker-compose.yml index bf74dad9be..a910e1a940 100644 --- a/docker/telemetry/docker-compose.yml +++ b/docker/telemetry/docker-compose.yml @@ -21,7 +21,7 @@ services: # OpenTelemetry Collector: receives spans from xrpld via OTLP protocol, # batches them for efficiency, and forwards to Tempo for storage. otel-collector: - image: otel/opentelemetry-collector-contrib:0.121.0 + image: otel/opentelemetry-collector-contrib:0.158.0 command: ["--config=/etc/otel-collector-config.yaml"] ports: - "4317:4317" # OTLP gRPC receiver @@ -38,7 +38,7 @@ services: # Grafana Tempo: distributed tracing backend that stores and indexes # spans. Queryable via TraceQL in Grafana Explore. tempo: - image: grafana/tempo:2.7.2 + image: grafana/tempo:2.9.4 command: ["-config.file=/etc/tempo.yaml"] ports: - "3200:3200" # Tempo HTTP API (health check, query) @@ -53,7 +53,7 @@ services: # Grafana: visualization UI with Tempo pre-configured as a datasource. # Anonymous admin access enabled for local development convenience. grafana: - image: grafana/grafana:11.5.2 + image: grafana/grafana:13.1.2 environment: - GF_AUTH_ANONYMOUS_ENABLED=true # No login required for local dev - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin # Full access without auth From bf5aae2f24c550cc46708292d8ed0582432db8fa Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Thu, 6 Aug 2026 14:23:13 +0100 Subject: [PATCH 2/3] chore(telemetry): update Prometheus to v3.13.2 Moves off the v2.53 LTS line, which this branch pinned, onto the current v3 release, and corrects the accompanying comment that named the old line. Verified against the new image rather than assumed, since this crosses a major version: - prometheus.yml passes `promtool check config` under v3.13.2 - all 391 unique dashboard PromQL queries parse under the v3 parser - all 13 alert-rule expressions parse under the v3 parser The config uses none of the surfaces v3 changed: no remote_write, no holt_winters, no offset modifiers. --- docker/telemetry/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/telemetry/docker-compose.yml b/docker/telemetry/docker-compose.yml index bbfb0c9db9..03c951cad5 100644 --- a/docker/telemetry/docker-compose.yml +++ b/docker/telemetry/docker-compose.yml @@ -56,8 +56,8 @@ services: - xrpld-telemetry prometheus: - # Pinned to the v2.53 LTS line for reproducible, config-stable runs. - image: prom/prometheus:v2.53.3 + # Pinned to an exact patch release for reproducible, config-stable runs. + image: prom/prometheus:v3.13.2 ports: - "9090:9090" volumes: From 81915498d75a14f4bd7cc0c22f246b707cb5bc0f Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Thu, 6 Aug 2026 14:24:22 +0100 Subject: [PATCH 3/3] chore(telemetry): update Loki to 3.7.6 and refresh version references Bumps the Loki pin this branch introduced, and updates the two docs that name the version so they do not drift from the compose file: - OpenTelemetryPlan/09-data-collection-reference.md (log backend section) - OpenTelemetryPlan/Phase8_taskList.md (compose snippet) The service runs the config bundled in the image rather than one from this repo; `-verify-config` reports "config is valid" under 3.7.6, and native OTLP ingestion at /otlp is unchanged across 3.4 -> 3.7. --- OpenTelemetryPlan/09-data-collection-reference.md | 2 +- OpenTelemetryPlan/Phase8_taskList.md | 2 +- docker/telemetry/docker-compose.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenTelemetryPlan/09-data-collection-reference.md b/OpenTelemetryPlan/09-data-collection-reference.md index 03c32fb428..f2b3d336a9 100644 --- a/OpenTelemetryPlan/09-data-collection-reference.md +++ b/OpenTelemetryPlan/09-data-collection-reference.md @@ -967,7 +967,7 @@ Bidirectional linking between logs and traces is configured via Grafana datasour ### Loki Backend -Grafana Loki (v3.4.2) serves as the log storage backend. It receives log entries from the OTel Collector's `otlphttp/loki` exporter via the native OTLP endpoint at `http://loki:3100/otlp`. +Grafana Loki (v3.7.6) serves as the log storage backend. It receives log entries from the OTel Collector's `otlphttp/loki` exporter via the native OTLP endpoint at `http://loki:3100/otlp`. ### LogQL Query Examples diff --git a/OpenTelemetryPlan/Phase8_taskList.md b/OpenTelemetryPlan/Phase8_taskList.md index 7849990858..8c4d80e80b 100644 --- a/OpenTelemetryPlan/Phase8_taskList.md +++ b/OpenTelemetryPlan/Phase8_taskList.md @@ -76,7 +76,7 @@ - Add Loki service: ```yaml loki: - image: grafana/loki:3.4.2 + image: grafana/loki:3.7.6 ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml diff --git a/docker/telemetry/docker-compose.yml b/docker/telemetry/docker-compose.yml index 39ca0e34dd..612be4321b 100644 --- a/docker/telemetry/docker-compose.yml +++ b/docker/telemetry/docker-compose.yml @@ -69,7 +69,7 @@ services: # Collector exports via otlphttp to Loki's /otlp endpoint. # Query logs via Grafana Explore -> Loki at http://localhost:3000. loki: - image: grafana/loki:3.4.2 + image: grafana/loki:3.7.6 ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml