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
- Ve a tu Dashboard y selecciona un deployment
- En la sección "Herramientas Avanzadas", haz clic en "Logs"
- 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ón | Descripción |
|---|---|
| Todos | Logs combinados de todos los contenedores |
| n8n_app | Logs de la aplicación principal |
| n8n_db | Logs de PostgreSQL |
| redis | Logs 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ón | Función |
|---|---|
| ▶️ Reanudar / ⏸️ Pausar | Controlar actualización automática |
| 🔄 Refrescar | Obtener los logs más recientes |
| 📋 Copiar | Copiar logs al portapapeles |
| 📥 Descargar | Descargar 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
| Parte | Significado |
|---|---|
2024-11-26T10:30:45.123Z | Fecha y hora UTC |
[INFO] | Nivel del log |
Servidor iniciado... | Mensaje |
Niveles de Log
| Nivel | Color | Significado |
|---|---|---|
| DEBUG | Gris | Información detallada para depuración |
| INFO | Azul | Operaciones normales |
| WARN | Amarillo | Algo inesperado pero no crítico |
| ERROR | Rojo | Algo falló |
| FATAL | Rojo oscuro | Error 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 responde401 Unauthorized→ Credenciales incorrectasRate 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á corriendoOut of memory→ Necesitas más RAMToo 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→ Aumentarmemory_limiten php.iniTable doesn't exist→ Ejecutar reparación de BDMaximum 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:
- Errores de conexión a base de datos
- Variables de entorno faltantes
- 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:
- Identifica el patrón - ¿Cada cuánto ocurre?
- Busca la causa raíz - Generalmente está en los primeros logs del error
- Verifica dependencias - ¿La BD está corriendo? ¿Las APIs externas responden?
App lenta
Busca en logs:
slow query- Consultas lentas a BDtimeout- Conexiones que tardan demasiadomemory- 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
- Haz clic en "Descargar"
- 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
- Empieza por el final - Los errores más recientes suelen ser los más relevantes
- Busca "ERROR" primero - Filtra por errores antes de leer todo
- Correlaciona tiempos - Si algo falló a las 10:30, busca logs de esa hora
- Lee el stack trace - Los errores con trace muestran exactamente dónde falló
- Compara con logs de éxito - A veces ayuda ver qué pasó cuando sí funcionó