Chapitre 8 · 8.4
Lire les journaux avec journalctl et docker logs
Lorsque quelque chose ne fonctionne pas, la cause se trouve presque toujours dans un journal. Sous Debian et Ubuntu, la plupart des messages sont enregistrés dans le journal de systemd.
journalctl : les commandes essentielles
| Commande | Que voyez-vous ? |
|---|---|
journalctl -u caddy | Tout ce qui concerne un service, ici Caddy |
journalctl -u ssh --since today | Toutes les connexions SSH du jour |
journalctl -p err -b | Toutes les erreurs depuis le dernier redémarrage |
journalctl -b -1 | Ce qui s'est passé avant le redémarrage précédent |
journalctl -f | Suivre en direct (arrêter avec Ctrl+C) |
journalctl -e | Aller directement à la fin |
Ajoutez sudo devant la commande, ou ajoutez-vous au groupe adm (sudo usermod -aG adm anna) : vous verrez alors tous les messages.
Une recherche typique lorsque votre site web ne fonctionne pas :
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
Journaux des conteneurs
anna@web1:/srv/diensten$ sudo docker compose logs --tail 100 vaultwarden
anna@web1:/srv/diensten$ sudo docker compose logs -f caddy
Autres journaux souvent utiles
/var/log/nginx/: les visiteurs et les erreurs de nginx./var/log/fail2ban.log: les adresses bloquées par fail2ban./var/log/unattended-upgrades/: ce qui a été mis à jour automatiquement./var/log/apt/history.log: quels paquets ont été installés, et quand.
Journaux qui occupent trop d'espace
anna@web1:~$ journalctl --disk-usage
anna@web1:~$ sudo journalctl --vacuum-size=500M
Le journal se nettoie de lui-même, mais occupe par défaut jusqu'à 10 % de votre disque (4 Go au maximum). Vous pouvez limiter les journaux des conteneurs comme indiqué dans Mettre à jour les conteneurs, faire le ménage et limiter les journaux.
