Ir al contenido
DocuGraph

ecommerce-angular-spring

BE-10 Observabilidad base

  • Depende de: BE-01, ARCH-01.
  • Módulo: shared (infraestructura).
  • Capacidad: ARCH-06.

Dejar salud, métricas básicas y logging estructurado, sin montar OpenTelemetry (post-MVP).

  • Actuator expuesto: health, info, metrics. No se expone env.
  • GET /actuator/health es público. info y metrics exigen rol ADMIN.
  • management.endpoint.health.show-details: when_authorized en local; never en application-prod.yml.
  • Cada request lleva X-Request-Id saneado en el MDC (logging.pattern.level) y lo repite en la respuesta. Un valor inseguro se sustituye por un UUID. El header de entrada no se reescribe (firma del webhook).
  • Métricas JVM y http.server.requests las registra Actuator. Sin Prometheus ni OpenTelemetry.
  • Health en verde con dependencias arriba.
  • Cada request tiene un id de correlación en logs.
  • No se registran secretos ni tokens.
  • Fuera de local, /actuator/health no revela componentes internos.
  • RequestCorrelationFilterTest: reutiliza un id seguro, descarta un header con salto de línea y limpia el MDC.
  • ActuatorHealthIntegrationTest: health anónimo y de admin en UP sin components cuando show-details=never; info y metrics sin token responden 401; un CUSTOMER recibe 403; un ADMIN lee jvm.memory.used y http.server.requests.