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.
| Method | Path | What it proves today |
|---|---|---|
GET | /analytics/{slug}?days=7 | The 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=100 | Stored 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:
- usa un monitor HTTP externo para uptime;
- recoge logs de aplicación con un mecanismo gestionado por el operador;
- usa libvirt o telemetría del host para utilización real; y
- 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.