Passa al contenuto principale

Observability architecture

ADR-0013 definisce lo stack base Prometheus, Grafana, Loki e Alertmanager. TASK-203 aggiunge il pilot di distributed tracing con Tempo e OpenTelemetry, senza cambiare il modello di esposizione: i servizi observability restano privati e Caddy e' l'unico ingresso HTTP pubblico controllato.

Tempo placement pilot

  • Tempo gira come container nel management docker-compose stack sul nodo mgmt-01.
  • Le porte host sono bindate solo su loopback: 127.0.0.1:3200, 127.0.0.1:4317 e 127.0.0.1:4318.
  • Il backend esporta trace OTLP gRPC via Docker network interno verso http://tempo:4317.
  • Grafana legge Tempo dal datasource locale http://127.0.0.1:3200.
  • Il browser invia trace OTLP HTTP a mgmt.{app_domain}/otlp/v1/traces; Caddy rimuove il prefisso /otlp e inoltra a 127.0.0.1:4318.

Future post-GA

  • TD-observability-consolidate: introdurre un role observability dedicato con compose separato per Prometheus, Loki, Grafana, Tempo e Alertmanager, quando lo stack cresce o serve separare app tier e observability tier.
  • TD-api-public-domain: aggiungere api.{app_domain}/otlp/* per tracing customer-facing, con autenticazione, rate limit e scope filter dedicati.