Informe SRE diario - 2026-08-16

Resumen operativo de almasrv.thehomelesssherlock.com para las últimas 24 horas, generado el 16 de agosto de 2026 a las 06:00 UTC. El servidor ejecuta el kernel 5.14.0-570.58.1.el9_6.x86_64.

Estado general

DEGRADED. Los 13 endpoints supervisados están disponibles y no hay contenedores en estado no saludable o reiniciándose. Sin embargo, OpenClaw presenta un fallo operativo confirmado: la credencial OAuth de OpenAI Codex está vencida y los intentos de renovación reciben respuestas HTTP 401, impidiendo ejecutar las tareas que dependen de esos modelos.

Indicadores principales

Indicador Valor Evaluación
Disponibilidad HTTP 13 de 13 endpoints disponibles OK
Uptime 5 semanas, 3 días y 5 horas Estable
Carga 2.38 / 2.60 / 2.50 Sin impacto observado
Memoria 15 GiB usados de 22 GiB; 6,7 GiB disponibles Vigilar
Swap 4,0 GiB usados de 4,0 GiB Riesgo preventivo
Disco raíz 128 GiB usados de 199 GiB, 65% OK
Disco /opt 19 GiB usados de 50 GiB, 37% OK
Docker 76 activos, 0 no saludables, 0 reiniciándose y 14 detenidos Operación activa estable
Protección SSH Fail2ban activo; 10 bloqueos actuales y 739 acumulados Activo
Certificados TLS 47 dominios activos verificados 2 próximos al umbral de renovación

Incidentes críticos

No se detecta una indisponibilidad crítica general. Todos los endpoints comprobados respondieron con HTTP 200 y Docker no registra contenedores no saludables ni ciclos de reinicio.

La alerta marcada como crítica por OpenClaw está acotada a su integración con OpenAI Codex. La credencial expiró el 4 de agosto de 2026; la renovación falla con HTTP 401 y también fallaron los candidatos de respaldo configurados dentro del mismo proveedor. Esto constituye un fallo operativo confirmado, pero no una caída del servidor ni de los servicios web supervisados.

Servicios degradados e impacto

  • OpenClaw / OpenAI Codex: las tareas programadas que solicitan los modelos configurados no pueden completarse por fallo de autenticación. Se requiere una nueva autorización mediante codex-reauth.
  • Memos: respondió correctamente, pero necesitó dos intentos y acumuló aproximadamente 8,7 segundos hasta el resultado exitoso. El contenedor principal y su proxy aparecían detenidos poco antes de la comprobación; no hay evidencia de caída persistente.
  • One-Time Secret: el endpoint respondió correctamente tras dos intentos, con aproximadamente 8,9 segundos hasta el éxito. Al estar gestionado bajo demanda por Sablier, su estado detenido no se considera una caída por sí solo.

Los demás endpoints, incluidos Traefik, Authentik, n8n, Nextcloud, Paperless, OnlyOffice, Vikunja, Karakeep, RSS, Dozzle y Beszel, respondieron correctamente en el primer intento.

Riesgos preventivos

  • Swap saturada: los 4,0 GiB están ocupados. Aunque quedan 6,7 GiB de memoria disponible y no se observó impacto activo, la ausencia de margen de swap aumenta el riesgo de latencia u OOM ante picos. Los principales consumidores incluyen procesos MySQL, Python, MariaDB, Next.js, Chromium y Celery.
  • Renovación TLS próxima: www.thehomelesssherlock.com vence en 29 días y thehomelesssherlock.com en 30 días. No hay expiración actual, pero debe verificarse la automatización de renovación.
  • Presión SSH persistente: se acumulan 11.978 autenticaciones fallidas. Fail2ban está activo, por lo que estos registros representan principalmente sondeos bloqueados, no evidencia de acceso exitoso.
  • Configuración PAM/MFA: aparecen rechazos para usuarios inexistentes y advertencias de MFA sin configuración para intentos dirigidos a root. No se confirma acceso indebido, pero conviene validar que la política aplicada coincide con el diseño esperado.
  • Eventos SELinux repetidos: SELinux bloqueó a mandb al solicitar capacidades administrativas y de recursos. No se observó impacto en servicios publicados, aunque la repetición genera ruido y puede ocultar alertas más relevantes.
  • Paradas forzadas de contenedores: varios contenedores no finalizaron dentro de los 10 segundos posteriores a SIGTERM y Docker aplicó terminación forzada. Los estados 137 y 143 pueden corresponder a este comportamiento; deben correlacionarse antes de atribuirlos a falta de memoria.
  • DNS y reloj: se registraron dos fallos puntuales al consultar un DNS externo y un reintento exitoso de kvm-clock. No existe evidencia de impacto sostenido.

Acciones recomendadas

  1. Reautorizar inmediatamente OpenAI Codex mediante codex-reauth y ejecutar una tarea controlada de OpenClaw para confirmar la recuperación de los modelos principal y de respaldo.
  2. Analizar la ocupación de swap y la memoria residente de MySQL, MariaDB, Python, Next.js, Chromium y Celery; evitar reinicios indiscriminados hasta identificar si la ocupación es histórica o existe presión activa.
  3. Verificar la renovación automática de los certificados de www.thehomelesssherlock.com y thehomelesssherlock.com antes de que entren en una ventana inferior a 14 días.
  4. Repetir las comprobaciones de Memos y One-Time Secret para distinguir latencia esperada de arranque bajo demanda frente a fallos intermitentes.
  5. Revisar los contenedores detenidos recientemente, especialmente los terminados con códigos 137, 143 o 1, y correlacionarlos con eventos de Sablier, despliegues y paradas forzadas.
  6. Validar la cadena PAM, el control de claves públicas y la política MFA para cuentas privilegiadas, manteniendo Fail2ban activo y confirmando que el acceso directo de root cumple la política prevista.
  7. Examinar las denegaciones de SELinux asociadas a mandb y corregir la unidad, contexto o tarea causante sin desactivar SELinux ni conceder capacidades generales.

Contexto operativo

Los 14 contenedores no activos no implican por sí mismos 14 servicios caídos. Diez están identificados como gestionados por Sablier y pueden permanecer detenidos hasta recibir tráfico. Además, las pruebas posteriores confirmaron disponibilidad para Memos, Karakeep y One-Time Secret. Los contenedores antiguos detenidos desde hace tres semanas deben tratarse como inventario pendiente de limpieza o servicios deliberadamente inactivos, salvo que exista una expectativa explícita de disponibilidad continua.

Traefik registró un intento aislado de inspeccionar un contenedor que ya no existía, compatible con una transición del ciclo de vida de Docker. No hay evidencia de impacto en el proxy: su endpoint respondió correctamente y redirigió al flujo de autenticación esperado.

El volumen elevado del journal está dominado por mensajes repetidos de SELinux y sondeos SSH. Este ruido histórico no cambia el estado general, pero conviene reducirlo para mejorar la relación señal-ruido de la observabilidad.