Tout au long de son fonctionnement, un serveur sous Linux enregistre un très grand nombre de paramètres, d'informations et d'évènements, qui sont retranscrits dans des fichiers : ce sont les logs de votre serveur.
Sous la vaste majorité des OS Linux, ces fichiers de logs sont stockés dans le dossier /var/log :
total 2564
-rw-r--r-- 1 root root 15071 Aug 8 17:24 alternatives.log
drwxr-xr-x 2 root root 4096 Aug 9 08:55 apt
-rw-r----- 1 root adm 876834 Aug 9 09:54 auth.log
-rw------- 1 root utmp 1175040 Aug 9 09:54 btmp
-rw-r----- 1 root adm 68367 Aug 9 09:13 daemon.log
-rw-r--r-- 1 root root 320780 Aug 9 08:55 dpkg.log
-rw-r----- 1 root adm 19690 Aug 9 09:54 fail2ban.log
-rw-r--r-- 1 root root 3456 Dec 12 2017 faillog
-rw-r----- 1 root adm 2907 Jan 24 2018 kern.log
-rw-r--r-- 1 root root 292 Aug 9 08:48 lastlog
-rw-r----- 1 root adm 1100 Aug 8 17:23 mail.info
-rw-r----- 1 root adm 1100 Aug 8 17:23 mail.log
-rw-r----- 1 root adm 3334 May 26 15:58 messages
-rw-r--r-- 1 root root 75153 Aug 9 09:39 syslog
-rw-rw-r-- 1 root utmp 14976 Aug 9 08:48 wtmpChaque fichier correspond à un type de service différent. Certains sont très explicites (mail.log correspond aux logs des mails gérés par votre serveur), et d'autres le sont un peu moins.
Les principaux fichiers de logs#
Voici une liste des quelques fichiers de logs que vous pouvez trouver sur un serveur Linux :
- auth.log : correspond aux logs d'authentification sur votre serveur (le plus souvent SSH). Vous y trouverez des informations sur les tentatives de connexion à votre VPS, les raisons de leur refus et l'historique des connexions effectuées.
- kern.log : correspond aux logs de votre kernel. Il contient les derniers évènements que le noyau a enregistrés. Il peut s'agir d'informations diverses sur son fonctionnement habituel (démarrage des cartes réseau, boot du système), ainsi que des erreurs rencontrées.
- mail.log : comme son nom l'indique, il correspond aux logs des mails traités par votre VPS. Il est très utile de le vérifier, notamment si le support vous signale un problème de spam d'email.
- apt/history.log : contient l'historique des modifications via APT (installation/désinstallation de logiciel par exemple).
- fail2ban.log : si vous avez installé et configuré Fail2ban (par ici), il contient l'historique des détections et bannissements d'IP sur votre VPS.
- syslog : il s'agit d'un fichier un peu « fourre-tout ». Vous allez y trouver les logs généraux de votre système. Il contient beaucoup d'informations essentielles, comme les opérations réalisées sur les différents services, les erreurs d'exécution rencontrées, les défauts constatés par le système, etc.
Bon à savoir#
Chaque fichier de log est différent, et il n'existe donc pas de méthodologie universelle pour les traiter. Cependant, plusieurs éléments sont bons à connaître :
- Les logs les plus récents sont toujours ajoutés à la fin du fichier. Les plus anciens sont donc en haut du fichier.
- Le système de journalisation passe régulièrement faire du « ménage » dans les logs : il crée de nouveaux fichiers vides, et sauvegarde les anciens au format compressé (
.gz) pour consommer moins d'espace disque. Ces derniers sont conservés pendant plusieurs jours. - Les fichiers de logs ne sont pas indispensables à votre système (il sait fonctionner sans). Si vous venez à manquer d'espace disque sur votre serveur, un petit nettoyage dans les logs peut vous aider à retrouver de la place.
Consulter les logs avec systemd-journald#
Sur les distributions récentes telles que Debian 13 et Ubuntu 26.04, une partie des journaux est également gérée par systemd via l'outil journalctl. Celui-ci permet de consulter les évènements du système sans passer directement par les fichiers du dossier /var/log :
root@HelpDesk:~# journalctl -f
root@HelpDesk:~# journalctl -u sshLa première commande affiche les journaux en temps réel, tandis que la seconde restreint l'affichage au service SSH.
Commandes utiles#
Voir en direct le contenu d'un fichier de logs (temps réel)#
root@HelpDesk:/var/log# tail -f monfichier.logFaire une recherche dans un fichier de logs#
root@HelpDesk:/var/log# grep "mot-clef" monfichier.logLister les dernières connexions SSH#
root@HelpDesk:/var/log# grep "Accepted" auth.log