Files

n8n Observability Toolkit

Carpeta dedicada para automatizar en n8n:

  • Resumen diario de estado del servidor
  • Alertas de caida real de servicios
  • Informes automaticos de logs y errores
  • Resumen IA (texto ejecutivo)

No despliega un contenedor propio. Los scripts se ejecutan en el host porque necesitan consultar systemd, Docker, certificados y endpoints locales; n8n los invoca mediante una credencial SSH con permisos limitados.

Configuración

  • Copia config/services.example.json a una ubicación local no versionada y define los endpoints que deben comprobarse.
  • HEALTH_ENDPOINTS permite pasar endpoints directamente; HEALTH_EXPECTED_CODES ajusta los códigos aceptados.
  • TARGET_CONTAINERS limita los contenedores incluidos en el resumen de logs.
  • SINCE fija la ventana temporal, por ejemplo 24 hours ago.
  • CERT_EXCLUDE_DOMAINS omite dominios que no deban auditarse.
  • Las variables OPENCLAW_* configuran únicamente la comprobación/renovación OAuth del proveedor indicado; no deben imprimirse tokens.

Se recomienda un usuario SSH dedicado que pueda ejecutar estos scripts y los comandos de lectura necesarios, sin shell administrativa general. Si requiere sudo, limita comandos y argumentos en sudoers.

Integración con LiteLLM y Codex

El nodo de IA de n8n debe consumir LiteLLM mediante su API compatible con OpenAI, usando una clave de LiteLLM y un alias de modelo. n8n no necesita acceso al archivo auth.json de Codex. LiteLLM mantiene y renueva esa sesión, mientras n8n sólo envía el digest ya filtrado.

n8n -> http://litellm:4000/v1 -> alias de modelo -> proveedor Codex

Esta separación permite revocar el acceso de n8n sin cerrar la sesión de Codex y evita distribuir el refresh token. El chequeo openclaw_codex_oauth de este toolkit es independiente del montaje usado por LiteLLM; no asumas que validar uno valida automáticamente el otro.

Instalación

No se usa Docker Compose. Conserva el directorio en el host, da permisos de ejecución a los scripts y configura en n8n la conexión SSH:

chmod +x n8n-observability/scripts/*.sh n8n-observability/scripts/ops-report

Estructura

  • scripts/ops-report: motor Python unificado para summary, logs, health y all
  • scripts/server-summary.sh: wrapper compatible para estado de host + docker + certs + errores top
  • scripts/log-digest.sh: wrapper compatible para digest de logs (journal + docker) para alertas/informes
  • scripts/health-results.sh: wrapper compatible para chequeo HTTP de endpoints y salida JSON (up/down, latencia, codigo)
  • templates/ai-daily-report-prompt.md: prompt para convertir datos tecnicos en informe legible
  • config/services.example.json: lista base de endpoints para health checks en n8n
  • workflows/workflow-design.md: diseno de 3 workflows recomendados

Uso rapido (en el host)

chmod +x n8n-observability/scripts/*.sh n8n-observability/scripts/ops-report
./n8n-observability/scripts/server-summary.sh
SINCE="24 hours ago" ./n8n-observability/scripts/log-digest.sh
./n8n-observability/scripts/health-results.sh | jq
./n8n-observability/scripts/ops-report all

Integracion recomendada con n8n

  1. En n8n, crea credencial SSH al host.
  2. Workflow diario: Schedule Trigger -> SSH (log-digest.sh) -> SSH (server-summary.sh) -> SSH (health-results.sh) -> AI -> Email/Telegram.
  3. Workflow de logs: Schedule Trigger -> SSH (log-digest.sh) -> AI -> Email/Telegram.
  4. Workflow de caida real: Schedule Trigger cada 2 min -> HTTP Request por endpoint -> logica de reintentos -> alerta.

Seguridad

  • No envies logs completos a IA; envia solo digest/errores relevantes.
  • Enmascara secretos (tokens, API keys, passwords) antes de mandar datos fuera.
  • Mantener este toolkit separado facilita auditoria y versionado.