Informe SRE diario - 2026-08-10

Resumen operativo de almasrv.thehomelesssherlock.com para las últimas 24 horas, generado el 10 de agosto de 2026 a las 06:00 UTC. Las comprobaciones de salud finalizaron a las 06:01 UTC.

Estado general

CRITICAL. El host y los 13 endpoints monitorizados están disponibles, pero la autenticación OAuth de OpenClaw para OpenAI Codex está expirada desde el 4 de agosto. La renovación devuelve HTTP 401 y las tareas programadas afectadas terminan en error incluso después de intentar el modelo alternativo. Existe, por tanto, un fallo operativo activo y confirmado en ese flujo.

Indicadores principales

Indicador Estado Valor
Disponibilidad HTTP OK 13 de 13 endpoints disponibles
OpenClaw Codex OAuth CRITICAL Expirado; renovación HTTP 401
Contenedores Docker OK 75 en ejecución, 0 no saludables, 0 reiniciándose
Memoria Atención 15 GiB usados de 22 GiB; 7,6 GiB disponibles
Swap Riesgo 4,0 GiB usados de 4,0 GiB
Disco raíz OK 128 GiB de 199 GiB, 65 % utilizado
Volumen /opt OK 18 GiB de 50 GiB, 35 % utilizado
Carga Estable 2,64 / 2,89 / 2,79
Fail2ban SSH Activo 15 bloqueos actuales; 672 bloqueos acumulados
Certificado más próximo Riesgo preventivo auth.spintools.pro, 30 días restantes

Incidentes criticos

OAuth de OpenClaw para Codex expirado

La credencial OAuth expiró el 4 de agosto de 2026 a las 10:06 UTC. A las 06:00 UTC del periodo analizado, OpenClaw registró fallos HTTP 401 al renovar el token. El modelo solicitado y el candidato alternativo fallaron por autenticación, dejando sin alternativa la tarea programada.

Impacto activo: las tareas de OpenClaw que dependen de OpenAI Codex no pueden completarse. Los datos no demuestran una caída del gateway completo ni de los servicios web públicos.

Servicios degradados e impacto

  • OpenClaw: degradación confirmada de los trabajos programados que utilizan Codex debido al fallo de autenticación.
  • Memos, Vikunja y One-Time Secret: respondieron HTTP 200, pero necesitaron un segundo intento. El tiempo total observado fue de aproximadamente 8,8 a 9,0 segundos, incluyendo el intervalo de reintento de 8 segundos. Es una señal de intermitencia, no una caída confirmada.
  • Proceso Node.js: se registró un volcado de memoria de un proceso el 9 de agosto a las 18:29 UTC. No hay evidencia suficiente para asociarlo con una indisponibilidad concreta.
  • Traefik: registró un aviso al intentar inspeccionar un contenedor que ya no existía. El endpoint de Traefik respondió correctamente, por lo que no se observa impacto activo.

Riesgos preventivos

  • Swap agotada: los 4,0 GiB están ocupados. Aunque quedan 7,6 GiB de memoria disponible y no se confirma presión activa, esta condición aumenta el riesgo de latencia y terminaciones por falta de memoria. Entre los principales consumidores de swap aparecen procesos de MySQL/MariaDB, Python, OpenCode, Celery, Chromium y Next.js.
  • Certificados TLS: auth.spintools.pro vence en 30 días. oproject.spintools.pro y preambular.spintools.pro vencen en 31 días. Los demás certificados activos informados conservan al menos 35 días.
  • Contenedores detenidos: hay 15 contenedores fuera de ejecución. La mayoría están gestionados bajo demanda por Sablier y no deben interpretarse como caídos sin evidencia adicional. No obstante, los estados 137, 143, 1 y 2 justifican revisar si la detención fue esperada.
  • Terminaciones forzadas: un contenedor no identificado por nombre excedió repetidamente los 10 segundos de apagado y Docker aplicó terminación forzada. Conviene correlacionar su identificador con el servicio correspondiente.
  • DNS externo: se registró un fallo aislado al consultar el servidor DNS externo. No hay evidencia de impacto sostenido.
  • Exposición SSH: continúan los sondeos, reinicios de negociación y un intento contra el usuario inexistente admin. Fail2ban permanece activo; estos registros son ruido hostil esperado y no demuestran una intrusión.

Acciones recomendadas

  1. Reautenticar OpenClaw Codex de inmediato mediante el procedimiento codex-reauth y comprobar que una tarea programada completa su ejecución sin HTTP 401 ni fallo del modelo alternativo.
  2. Analizar la ocupación de swap y la presión de memoria por servicio. Priorizar los procesos MySQL/MariaDB y Python, y evitar liberar swap de forma indiscriminada sin validar memoria disponible y carga.
  3. Investigar el volcado de Node.js para identificar el servicio, revisar su traza y confirmar si está relacionado con contenedores terminados con código 137.
  4. Correlacionar los contenedores detenidos con las políticas de Sablier y verificar específicamente los que finalizaron con códigos 1, 2, 137 o 143.
  5. Revisar la intermitencia de Memos, Vikunja y One-Time Secret mediante métricas de arranque bajo demanda, logs de Sablier y tiempos separados de activación y respuesta.
  6. Validar la renovación automática de TLS para auth.spintools.pro, oproject.spintools.pro y preambular.spintools.pro antes de alcanzar el umbral operativo de vencimiento.
  7. Identificar el contenedor con apagados forzados y ajustar su manejo de señales o su periodo de gracia si las terminaciones no son intencionadas.

Contexto operativo

El servidor lleva 4 semanas, 4 días, 5 horas y 28 minutos en funcionamiento y utiliza el kernel 5.14.0-570.58.1.el9_6.x86_64. El almacenamiento mantiene margen suficiente: 35 % libre en la raíz y 65 % libre en /opt.

Las solicitudes observadas contra archivos de configuración y rutas administrativas de Nextcloud fueron rechazadas por la configuración del servidor o respondieron con 404. No se aprecia exposición confirmada. Las tareas registradas de Paperless finalizaron correctamente.

Los 13 endpoints supervisados devolvieron HTTP 200. Los contenedores detenidos gestionados por Sablier no se consideran incidentes por sí mismos, especialmente cuando el endpoint correspondiente continúa disponible o puede activarse bajo demanda.