Capítulo 8 · 8.4
Leer logs con journalctl y docker logs
Cuando algo no funciona, la causa casi siempre aparece en un log. En Debian y Ubuntu, la mayoría de los mensajes se encuentran en el journal de systemd.
journalctl: los comandos más importantes
| Comando | ¿Qué muestra? |
|---|---|
journalctl -u caddy | Todo lo de un servicio, en este caso Caddy |
journalctl -u ssh --since today | Todos los inicios de sesión SSH de hoy |
journalctl -p err -b | Todos los errores desde el último reinicio |
journalctl -b -1 | Lo que ocurrió antes del reinicio anterior |
journalctl -f | Seguirlo en directo (detener con Ctrl+C) |
journalctl -e | Saltar directamente al final |
Anteponga sudo o añádase al grupo adm (sudo usermod -aG adm anna) para ver todos los mensajes.
Una búsqueda típica cuando su sitio web no funciona:
anna@web1:~$ systemctl status nginx
anna@web1:~$ sudo journalctl -u nginx -p err --since "1 hour ago"
anna@web1:~$ sudo tail -n 50 /var/log/nginx/error.log
Logs de los contenedores
anna@web1:/srv/diensten$ sudo docker compose logs --tail 100 vaultwarden
anna@web1:/srv/diensten$ sudo docker compose logs -f caddy
Otros logs que necesitará a menudo
/var/log/nginx/: visitantes y errores de nginx./var/log/fail2ban.log: a quién ha bloqueado fail2ban./var/log/unattended-upgrades/: qué se ha actualizado automáticamente./var/log/apt/history.log: qué paquetes se han instalado y cuándo.
Logs que ocupan demasiado espacio
anna@web1:~$ journalctl --disk-usage
anna@web1:~$ sudo journalctl --vacuum-size=500M
El journal se limpia solo, pero de forma predeterminada ocupa hasta el 10 por ciento de su disco (como máximo 4 GB). Los logs de los contenedores se limitan como se explica en Actualizar contenedores, hacer limpieza y limitar los logs.
