From e89a90ff668402ff9734b5eb6aa237b32088c0cd Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 20 May 2026 08:16:00 +0200 Subject: [PATCH] fix(deploy): wire SENTRY_DSN and enable ECS JSON logging for prod (#641) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pass SENTRY_DSN env var through to the backend container so the Sentry SDK actually ships exceptions to GlitchTip — the variable was written to .env.staging by nightly.yml but never forwarded into the container. Enable Spring Boot 4.0 ECS structured logging (LOGGING_STRUCTURED_FORMAT_CONSOLE=ecs) so Loki receives single-entry JSON log lines with parsed log.level, enabling detected_level filtering in Grafana instead of 50-line unlinked stack trace blobs. Update Grafana Loki dashboard query from | logfmt to | json to match the new format. Co-Authored-By: Claude Sonnet 4.6 --- docker-compose.prod.yml | 2 ++ .../grafana/provisioning/dashboards/loki-logs.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 53e3c1a6..46504417 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -252,6 +252,8 @@ services: OTEL_METRICS_EXPORTER: none MANAGEMENT_METRICS_TAGS_APPLICATION: Familienarchiv MANAGEMENT_TRACING_SAMPLING_PROBABILITY: ${MANAGEMENT_TRACING_SAMPLING_PROBABILITY:-0.1} + SENTRY_DSN: ${SENTRY_DSN:-} + LOGGING_STRUCTURED_FORMAT_CONSOLE: ecs networks: - archiv-net healthcheck: diff --git a/infra/observability/grafana/provisioning/dashboards/loki-logs.json b/infra/observability/grafana/provisioning/dashboards/loki-logs.json index 12c1a616..01a44dcd 100644 --- a/infra/observability/grafana/provisioning/dashboards/loki-logs.json +++ b/infra/observability/grafana/provisioning/dashboards/loki-logs.json @@ -196,7 +196,7 @@ }, "targets": [ { - "expr": "{job=\"$app\"} |= \"$search\" | logfmt", + "expr": "{job=\"$app\"} |= \"$search\" | json", "hide": false, "legendFormat": "", "refId": "A"