Documentation/Administration/Lire et analyser les logs système
Administration10 min2026-05-0632Populaire

Lire et analyser les logs système

Utiliser journalctl, syslog et les logs de services pour diagnostiquer un problème sur Debian ou Ubuntu.

Lire et analyser les logs système

Objectif

Les logs permettent de comprendre ce qui se passe sur un VPS : erreurs de service, connexions SSH, redémarrages, problèmes disque, crashs d'applications ou blocages réseau.

Ce guide couvre :

  • journalctl.
  • Les logs dans /var/log.
  • Les logs d'un service précis.
  • La recherche d'erreurs.
  • Les commandes utiles en diagnostic.

Lire les logs systemd

Sur Debian et Ubuntu récents, journalctl est l'outil principal pour consulter les logs système.

Afficher les logs :

bash
journalctl

Afficher les dernières lignes :

bash
journalctl -n 100

Lire les logs sans pagination :

bash
journalctl --no-pager -n 100

Suivre les logs en direct :

bash
journalctl -f

Filtrer par service

Pour afficher les logs d'un service précis :

bash
journalctl -u nginx

Pour les dernières lignes :

bash
journalctl -u nginx --no-pager -n 100

Pour suivre en direct :

bash
journalctl -u nginx -f

Exemples :

bash
journalctl -u ssh
journalctl -u mysql
journalctl -u docker

Selon la distribution, SSH peut être nommé ssh ou sshd.


Filtrer par période

Afficher les logs depuis aujourd'hui :

bash
journalctl --since today

Depuis une heure :

bash
journalctl --since "1 hour ago"

Entre deux dates :

bash
journalctl --since "2026-05-06 10:00" --until "2026-05-06 12:00"

Pour un service sur une période :

bash
journalctl -u nginx --since "30 minutes ago"

Afficher les erreurs

Afficher uniquement les erreurs du démarrage actuel :

bash
journalctl -p err -b

Afficher les avertissements et erreurs :

bash
journalctl -p warning -b

Afficher les logs du précédent démarrage :

bash
journalctl -b -1

Liste des niveaux utiles :

text
emerg
alert
crit
err
warning
notice
info
debug

Lire les fichiers dans /var/log

Certains services écrivent encore dans /var/log.

Lister les logs :

bash
ls -lah /var/log

Lire les dernières lignes de syslog :

bash
tail -n 100 /var/log/syslog

Suivre syslog en direct :

bash
tail -f /var/log/syslog

Lire les logs d'authentification :

bash
tail -n 100 /var/log/auth.log

Sur certaines distributions, le fichier peut être :

bash
tail -n 100 /var/log/secure

Rechercher une erreur

Rechercher le mot error :

bash
grep -i "error" /var/log/syslog

Rechercher dans tous les logs :

bash
grep -Ri "failed" /var/log

Afficher le contexte autour d'une erreur :

bash
grep -i -C 3 "error" /var/log/syslog

Rechercher dans les logs journalctl :

bash
journalctl --no-pager | grep -i "failed"

Diagnostiquer un service qui ne démarre pas

Vérifiez l'état du service :

bash
systemctl status nginx

Affichez les logs :

bash
journalctl -u nginx --no-pager -n 100

Testez la configuration si le service le permet :

bash
nginx -t

Redémarrez après correction :

bash
systemctl restart nginx

Contrôler la taille des logs

Afficher l'espace utilisé par journalctl :

bash
journalctl --disk-usage

Nettoyer les logs plus anciens que 7 jours :

bash
journalctl --vacuum-time=7d

Limiter les logs à 500 Mo :

bash
journalctl --vacuum-size=500M

Erreurs fréquentes

Aucun log n'apparaît

Vérifiez le nom exact du service :

bash
systemctl list-units --type=service

Permission denied

Exécutez la commande avec sudo ou connectez-vous avec un compte administrateur.

Les logs sont trop longs

Utilisez -n, --since ou --no-pager pour réduire la sortie.


Conclusion

Les logs sont le premier réflexe en cas de problème. Avec journalctl, /var/log, grep et systemctl status, vous pouvez identifier rapidement la source d'une erreur sur un VPS Debian ou Ubuntu.

Ce guide vous a aidé ?

Votre retour permet de repérer les guides à améliorer en priorité.