Saltar al contenido principal

Logs de Docker

Monitorea los logs de tus contenedores en tiempo real para depurar problemas y entender el comportamiento de tu aplicación.

Abrir el Visor de Logs

  1. Ve a tu Dashboard y selecciona un deployment
  2. En la sección "Herramientas Avanzadas", haz clic en "Logs"
  3. Se abrirá el visor de logs
Botón de Ayuda

En la esquina superior del modal verás un botón de ayuda (?) que te trae directamente a esta documentación.

Interfaz del Visor

Indicador de Estado

En la parte superior verás un badge que indica el estado:

  • 🟢 En vivo - Logs actualizándose automáticamente
  • ⚪ Pausado - Actualización detenida

Selector de Contenedor

Dropdown para seleccionar qué contenedor ver:

OpciónDescripción
TodosLogs combinados de todos los contenedores
n8n_appLogs de la aplicación principal
n8n_dbLogs de PostgreSQL
redisLogs del cache
Contenedores Disponibles

Los contenedores que ves dependen de tu aplicación. WordPress tendrá wordpress_app y wordpress_db, etc.

Barra de Herramientas

BotónFunción
▶️ Reanudar / ⏸️ PausarControlar actualización automática
🔄 RefrescarObtener los logs más recientes
📋 CopiarCopiar logs al portapapeles
📥 DescargarDescargar logs como archivo .txt

Entendiendo los Logs

Formato Típico

2024-11-26T10:30:45.123Z [INFO] Servidor iniciado en puerto 5678
2024-11-26T10:30:46.456Z [WARN] Conexión lenta a la base de datos
2024-11-26T10:30:47.789Z [ERROR] No se pudo conectar a API externa
ParteSignificado
2024-11-26T10:30:45.123ZFecha y hora UTC
[INFO]Nivel del log
Servidor iniciado...Mensaje

Niveles de Log

NivelColorSignificado
DEBUGGrisInformación detallada para depuración
INFOAzulOperaciones normales
WARNAmarilloAlgo inesperado pero no crítico
ERRORRojoAlgo falló
FATALRojo oscuroError crítico, app puede cerrarse

Logs por Aplicación

n8n

# Ejecución de workflow exitosa
Workflow "Mi Workflow" (ID: abc123) finished successfully

# Error de credenciales
Error in node "HTTP Request": 401 Unauthorized

# Webhook recibido
Webhook received for workflow "Notificaciones"

Problemas comunes:

  • ECONNREFUSED → La API externa no responde
  • 401 Unauthorized → Credenciales incorrectas
  • Rate limit exceeded → Demasiadas solicitudes

NocoDB

# Inicio exitoso
NocoDB is running on port 8080

# Error de conexión a BD
Unable to connect to database: Connection refused

# API request
GET /api/v1/db/data/noco/proyecto/tabla

Problemas comunes:

  • Connection refused → PostgreSQL no está corriendo
  • Out of memory → Necesitas más RAM
  • Too many connections → Aumentar pool de conexiones

WordPress

# Error PHP
PHP Fatal error: Allowed memory size exhausted

# Error de BD
WordPress database error: Table doesn't exist

# Plugin activado
Plugin activated: WooCommerce

Problemas comunes:

  • memory exhausted → Aumentar memory_limit en php.ini
  • Table doesn't exist → Ejecutar reparación de BD
  • Maximum execution time → Script tarda demasiado

Comandos Útiles desde Terminal

Ver logs en tiempo real

# Todos los contenedores
docker compose logs -f

# Solo la app principal
docker compose logs -f app

# Últimas 100 líneas
docker compose logs -f --tail=100

Buscar en logs

# Buscar errores
docker compose logs | grep -i error

# Buscar por fecha
docker compose logs | grep "2024-11-26"

# Buscar texto específico
docker compose logs | grep "workflow"

Logs históricos

# Últimas 500 líneas
docker compose logs --tail=500

# Desde cierta fecha (si Docker lo soporta)
docker compose logs --since="2024-11-26T00:00:00"

Solución de Problemas

La app no inicia

Busca en los logs:

  1. Errores de conexión a base de datos
  2. Variables de entorno faltantes
  3. Puertos en uso
# Verificar que los servicios están corriendo
docker compose ps

# Ver logs de inicio
docker compose logs app | head -50

Errores repetitivos

Si ves el mismo error una y otra vez:

  1. Identifica el patrón - ¿Cada cuánto ocurre?
  2. Busca la causa raíz - Generalmente está en los primeros logs del error
  3. Verifica dependencias - ¿La BD está corriendo? ¿Las APIs externas responden?

App lenta

Busca en logs:

  • slow query - Consultas lentas a BD
  • timeout - Conexiones que tardan demasiado
  • memory - Problemas de memoria

Contenedor reiniciando

# Ver por qué se reinicia
docker compose logs app | grep -i "exit\|killed\|oom"

# OOM = Out Of Memory, necesitas más RAM

Exportar Logs

Desde el visor

  1. Haz clic en "Descargar"
  2. Se descargará un archivo .log

Desde terminal

# Guardar a archivo
docker compose logs > /tmp/logs.txt

# Descargar con scp
scp root@tu-app.deployalo.com:/tmp/logs.txt ./logs-local.txt

Rotación de Logs

Los logs se rotan automáticamente para no llenar el disco:

  • Tamaño máximo: 100MB por contenedor
  • Archivos guardados: 3 rotaciones
  • Ubicación: /var/lib/docker/containers/

Para cambiar la configuración, edita /app/docker-compose.yml:

services:
app:
logging:
options:
max-size: "200m"
max-file: "5"

Tips de Depuración

  1. Empieza por el final - Los errores más recientes suelen ser los más relevantes
  2. Busca "ERROR" primero - Filtra por errores antes de leer todo
  3. Correlaciona tiempos - Si algo falló a las 10:30, busca logs de esa hora
  4. Lee el stack trace - Los errores con trace muestran exactamente dónde falló
  5. Compara con logs de éxito - A veces ayuda ver qué pasó cuando sí funcionó