Cuando trabajamos con servidores Linux que utilizan systemd, una de las tareas más comunes (y críticas) es revisar los logs de los servicios para diagnosticar errores, analizar comportamientos o simplemente monitorizar la actividad.
Para ello, journalctl es nuestra herramienta principal.
En esta entrada te explico cómo ver los logs de un servicio específico, cómo filtrarlos por fecha, seguirlos en tiempo real y otras variantes muy útiles.
🔍 Ver el log completo de un servicio
Para consultar el log completo de un servicio concreto:
journalctl -u nombre-del-servicio.service
Por ejemplo:
journalctl -u nginx.service
🚀 Ver logs desde el último arranque
Si solo quieres los registros desde que el sistema se inició:
journalctl -u nombre-del-servicio.service -b
📡 Seguir logs en tiempo real (como tail -f)
journalctl permite seguir los logs en vivo:
journalctl -u nombre-del-servicio.service -f
📅 Ver logs desde una fecha específica
Aquí es donde journalctl destaca. Puedes filtrar desde una fecha concreta:
journalctl -u nombre-del-servicio.service --since "YYYY-MM-DD"
Por ejemplo:
journalctl -u php8.2-fpm.service --since "2025-01-15"
Si además quieres incluir la hora:
journalctl -u nombre-del-servicio.service --since "2025-01-15 14:30"
🕰️ Ver logs en un rango de fechas
También puedes ver un intervalo completo:
journalctl -u nombre-del-servicio.service --since "2025-01-15 00:00" --until "2025-01-16 23:59"
Esto es ideal para investigar incidentes en un periodo concreto.
💡 Formatos válidos para fechas
Systemd acepta varios formatos muy útiles:
"2025-01-15""2025-01-15 14:00""yesterday""2 hours ago""10 minutes ago"
Esto te da mucha flexibilidad a la hora de consultar registros.
📏 Limitar la cantidad de líneas
Si solo quieres ver, por ejemplo, las últimas 100 entradas:
journalctl -u nombre-del-servicio.service -n 100
📁 Cuando el servicio usa sus propios logs
Algunos servicios no solo dependen de journalctl, sino que escriben sus archivos en /var/log.
Ejemplos comunes:
tail -f /var/log/nginx/error.log
tail -f /var/log/mysql/error.log
📝 Conclusión
journalctl es una herramienta potentísima para gestionar logs en sistemas con systemd.
Permite revisar, filtrar, seguir y analizar el comportamiento de cualquier servicio de forma sencilla y flexible.
Con los comandos anteriores, ya tienes una guía completa para trabajar con logs de forma eficiente en tus sistemas Linux.