Analyser les logs d'un serveur

l'équipe PulseHeberg Dernière mise à jour par l'équipe PulseHeberg

Cet article a été rédigé et testé sous un serveur installé sous Debian 9 & Ubuntu 18.04. Ce contenu devrait sans problème pouvoir s'appliquer à d'autres OS sur la base Linux, mais certains paramètres peuvent être amenés à changer.

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

root@HelpDesk:/var/log# ls -l
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 wtmp

Chaque 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. Voici donc une liste des quelques fichiers 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 connexions à 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 à enregistrer. Il peut s'agir d'informations diverses sur son fonctionnement habituel (démarrage des cartes réseaux, boot du système), ainsi que que les erreurs rencontrés. 

mail.log : Comme son nom l'indique, il correspond aux logs de 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és sur les différents services, les erreurs d'exécution rencontrées, les défauts constatés par le système, etc.

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 bon à savoir : 

  • 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éé des 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 .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.

Voici également quelques commandes qui peuvent vous être utiles pour surveiller vos fichiers de logs : 

Voir en direct le contenu d'un fichier de logs (temps réel)

root@HelpDesk:/var/log# tail -f monfichier.log
Faire une recherche dans un fichier de logs 
root@HelpDesk:/var/log# grep "mot-clef" monfichier.log

Lister les dernières connexions SSH

root@HelpDesk:/var/log# grep "Accepted" auth.log

Notez cet article

Comment activer la connexion RDP sur Ubuntu Desktop

Contact