ObjectOS
Operar

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ñalPor qué
Conteo de solicitudes por ruta/estadoDetectar picos de errores
Duración de la solicitudDetectar regresiones de latencia
Errores 5xxAlertar sobre fallos del runtime
Fallos de autenticaciónDetectar patrones de configuración o de ataque
Fallos de caché de artefactos/kernelEntender 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.

On this page