Skip to content
E3 CreaTIC

Technical documentation

Observabilidad interna

14.1 Métricas Prometheus

El backend expone métricas en GET /metrics (formato Prometheus):

MétricaTipoDescripción
evaiops_http_requests_totalCounterRequests por endpoint y status code
evaiops_http_request_duration_secondsHistogramLatencia por endpoint
evaiops_active_incidents_totalGaugeIncidentes abiertos por tenant
evaiops_correlation_events_processedCounterEventos procesados por el motor de correlación
evaiops_kafka_consumer_lagGaugeLag por topic y consumer group
evaiops_anomaly_detections_totalCounterAnomalías detectadas por algoritmo
evaiops_celery_task_duration_secondsHistogramDuración de tareas Celery
evaiops_llm_tokens_used_totalCounterTokens LLM consumidos por proveedor

14.2 Distributed tracing

Cada request HTTP recibe un X-Request-ID generado por el TracingMiddleware. Este ID se propaga a:

  • Logs estructurados JSON (campo request_id)
  • Headers de respuesta
  • Tareas Celery disparadas por el request
  • Eventos Kafka producidos por el request

14.3 Logging estructurado

El backend usa JSON structured logging (SIEM-ready). Campos estándar:

{
  "timestamp": "ISO8601",
  "level": "INFO|WARNING|ERROR",
  "request_id": "uuid",
  "tenant_id": "uuid",
  "user_id": "uuid",
  "module": "backend.api.incident_routes",
  "message": "...",
  "duration_ms": 42
}

14.4 Platform Health

GET /api/v1/platform/health retorna el estado de todos los subsistemas:

{
  "status": "ok",
  "components": {
    "database": "ok",
    "redis": "ok",
    "kafka": "ok",
    "opensearch": "ok",
    "neo4j": "ok",
    "minio": "ok"
  }
}

14.5 Docker health checks

Todos los servicios críticos tienen health checks configurados en docker-compose.yml:

ServicioEndpoint/Comando de health checkIntervalo
backendGET /health30s
ingestion-gatewayGET /health30s
collector_coreGET :9090/health30s
postgrespg_isready10s
redisredis-cli ping10s
kafkakafka-broker-api-versions30s
opensearchGET /_cluster/health30s

14.6 Audit Trail

Todas las acciones sensibles de usuarios quedan registradas en la tabla audit_log:

  • Login / logout
  • Cambio de estado de incidente
  • Acknowledge de alertas
  • Cambios en configuración
  • Operaciones IAM (creación de usuarios, cambio de roles)