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.jsona una ubicación local no versionada y define los endpoints que deben comprobarse. HEALTH_ENDPOINTSpermite pasar endpoints directamente;HEALTH_EXPECTED_CODESajusta los códigos aceptados.TARGET_CONTAINERSlimita los contenedores incluidos en el resumen de logs.SINCEfija la ventana temporal, por ejemplo24 hours ago.CERT_EXCLUDE_DOMAINSomite 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 parasummary,logs,healthyallscripts/server-summary.sh: wrapper compatible para estado de host + docker + certs + errores topscripts/log-digest.sh: wrapper compatible para digest de logs (journal + docker) para alertas/informesscripts/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 legibleconfig/services.example.json: lista base de endpoints para health checks en n8nworkflows/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
- En n8n, crea credencial SSH al host.
- Workflow diario:
Schedule Trigger->SSH (log-digest.sh)->SSH (server-summary.sh)->SSH (health-results.sh)->AI->Email/Telegram. - Workflow de logs:
Schedule Trigger->SSH (log-digest.sh)->AI->Email/Telegram. - Workflow de caida real:
Schedule Trigger cada 2 min->HTTP Requestpor 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.