Observabilidad
Logs, identificadores de solicitud, métricas, errores, sesiones y registros de auditoría.
Observabilidad
Las operaciones de ObjectOS necesitan tanto señales de infraestructura como señales de aplicación. El framework proporciona primitivas de request-id, métricas, reportador de errores y auditoría; el despliegue decide dónde exportarlas.
Identidad de la solicitud
Cada despliegue de producción debería propagar o generar un identificador de solicitud:
X-Request-IdÚsalo para correlacionar:
- logs de ingress;
- logs de ObjectOS;
- consultas lentas de la base de datos;
- reportes de errores;
- tickets de soporte al cliente.
Métricas y errores
El runtime expone interfaces conectables de métricas y reportador de errores. Conéctalas al sistema elegido por el cliente, como Prometheus, OpenTelemetry, Datadog, Sentry u otro backend aprobado.
Registra al menos:
| Señal | Por qué |
|---|---|
| Conteo de solicitudes por ruta/estado | Detectar picos de errores |
| Duración de la solicitud | Detectar regresiones de latencia |
| Errores 5xx | Alertar sobre fallos del runtime |
| Fallos de autenticación | Detectar patrones de configuración o de ataque |
| Fallos de caché de artefactos/kernel | Entender el comportamiento de arranque en frío |
Ejemplo mínimo con Prometheus
ObjectOS expone un endpoint de métricas compatible con Prometheus cuando el servicio de métricas está habilitado:
# prometheus.yml
scrape_configs:
- job_name: objectos
metrics_path: /metrics
static_configs:
- targets: ['objectos:3000']Alertas iniciales útiles:
groups:
- name: objectos
rules:
- alert: ObjectOS5xxSpike
expr: |
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) > 0.02
for: 5m
annotations:
summary: "ObjectOS 5xx rate above 2% for 5 minutes"
- alert: ObjectOSAuthFailureSpike
expr: rate(auth_failures_total[5m]) > 5
for: 10m
annotations:
summary: "Sustained auth failure rate — check for misconfiguration or attack"
- alert: ObjectOSKernelColdStartHigh
expr: rate(kernel_cache_misses_total[15m]) > 1
for: 15m
annotations:
summary: "Frequent project kernel cold starts — consider raising OS_KERNEL_CACHE_SIZE"Para OpenTelemetry, establece OS_OBS_EXPORTER=otlp y OS_OTLP_ENDPOINT
(p. ej. https://<collector>/otlp) y ObjectOS emitirá trazas y métricas en
formato OTLP. El exportador es noop por defecto (coste cero en tiempo de
ejecución), por lo que la exportación OTLP es opcional: establecer un endpoint
sin OS_OBS_EXPORTER=otlp no emite nada. Usa OS_OBS_EXPORTER=console o json
para depuración local, y OS_OBS_DEPLOYMENT_ENV para etiquetar el despliegue
(por defecto production). La forma de los spans coincide con el
flujo de la solicitud.
Registros de auditoría
Cuando la capacidad de auditoría está habilitada, ObjectOS escribe registros de
auditoría en sys_audit_log.
Usa los registros de auditoría para:
- cambios sensibles a permisos;
- cambios de configuración;
- investigación de usuarios/sesiones;
- actividad de integraciones;
- análisis de accesos denegados.
Para entornos regulados, haz que la tabla de auditoría sea de solo anexado en la capa de base de datos o almacenamiento y define una política de retención.
Diagnósticos de Console
Console expone superficies operativas como:
- Sesiones;
- Registros de auditoría;
- Notificaciones;
- Entregas de webhooks cuando los webhooks están habilitados;
- Paneles de resumen de sistema y seguridad.
Están pensados para operadores e ingenieros de soporte, no solo para desarrolladores.