Skip to Content
TestingObservabilidad de app

Observabilidad de app

Disponibilidad

La API de observabilidad está parcialmente implementada. Dos fuentes de datos son útiles hoy:

  • una línea de tiempo de eventos append-only poblada manualmente; y
  • asignación actual de recursos VM reportada por libvirt.

Lo siguiente son solo vistas previas de contrato:

  • analytics de solicitudes devuelve una lista de rollups vacía porque la ingestión de access log no está en ejecución;
  • la configuración de sondas de uptime persiste, pero ningún programador ejecuta las comprobaciones HTTP;
  • las muestras de recursos están vacías porque el sampler no está en ejecución; y
  • el streaming de logs de app no está implementado.

No hay dashboard de observabilidad completado. Una configuración de sonda almacenada no prueba que se comprobó un endpoint.

Superficie REST actual

Las rutas están bajo /api/app-gateway.

MethodPathWhat it proves today
GET/analytics/{slug}?days=7The contract is reachable; rollups is expected to be empty.
PUT/probes/{slug}The probe configuration was validated and stored.
GET/probes/{slug}The stored configuration can be read. Runtime status remains unset.
DELETE/probes/{slug}The stored configuration was removed.
POST/events/{slug}A caller-supplied event was appended.
GET/events/{slug}?limit=100Stored events can be read newest-first.
GET/metrics/{slug}?vm_name={name}Current allocation may be returned; samples is empty.

Configuración de sondas

PUT /api/app-gateway/probes/my-app Content-Type: application/json { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }

Una lectura actual se parece a esto:

{ "config": { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }, "last_run_at": null, "last_status": null, "last_http_status": null, "consecutive_failures": 0 }

Los campos runtime null son la señal importante: ninguna comprobación se ejecutó. Usa un monitor externo para alertas de disponibilidad hasta que exista el programador.

Eventos

Los eventos son registros duraderos escritos mediante la API, no una pista de auditoría automáticamente completa. Los hooks de despliegue, checkpoint, dominio y walker siguen pendientes, así que los llamadores no deben asumir que esas actividades aparecerán sin un append explícito.

Trata los metadatos de evento como datos suministrados por el llamador. No coloques secretos en ellos.

Asignación de recursos

La ruta de métricas puede reportar vCPUs, memoria y discos asignados cuando hay una VM coincidente disponible desde libvirt. Aún no reporta una serie temporal ni salud a nivel de aplicación. La asignación es configuración de capacidad, no evidencia de que la aplicación usó o sobrevivió a esa capacidad.

Orientación operativa

Hasta que existan ingest y bucles worker desplegados:

  1. usa un monitor HTTP externo para uptime;
  2. recoge logs de aplicación con un mecanismo gestionado por el operador;
  3. usa libvirt o telemetría del host para utilización real; y
  4. adjunta marcas de tiempo y evidencia de origen a registros de incidente en lugar de confiar solo en la lista de eventos preview.

La feature puede presentarse como lista solo después de que ingest, sondas, muestreo y workers de log stream hayan pasado pruebas end-to-end de fallo y recuperación.