Aller au contenu principal

Utilisation basique de journald

· 3 minutes de lecture
Customer Care Engineer

read-journald-logs-and-learn-how-to-clear-it

Journald est un système de journalisation utilisé dans les systèmes d'exploitation modernes basés sur Linux pour enregistrer les événements système. Il collecte des informations sur le fonctionnement de divers services, applications et processus système pour aider les administrateurs à surveiller l'état du système et à diagnostiquer les erreurs.

Contrairement aux journaux texte standards, journald stocke les données dans un format binaire. Cela permet de stocker les journaux de manière plus compacte et de les gérer plus efficacement, mais en même temps, vous ne pouvez pas simplement ouvrir ces journaux dans un éditeur de texte. Des outils spéciaux sont nécessaires pour les visualiser et les analyser.

Dans cet article, nous verrons comment visualiser les enregistrements maintenus par journald et comment les effacer pour économiser de l'espace disque.


Comment visualiser les journaux de journald

Pour lire les journaux, utilisez la commande journalctl :

  • Tous les journaux :
sudo journalctl
  • Journaux depuis le dernier redémarrage :
sudo journalctl -b
  • Journaux pour un service spécifique :
sudo journalctl -u nginx
  • Journaux pour une date spécifique :
sudo journalctl --since "2024-11-01" --until "2024-11-02"
  • Afficher les n dernières entrées (par exemple, les 100 dernières) :
sudo journalctl -n 100
  • Filtrer par niveau de priorité (par exemple, pour les erreurs) :
sudo journalctl -p err
  • Afficher les entrées du journal dans l'ordre inverse, en commençant par les plus récentes (utile lorsque vous avez besoin de voir rapidement les dernières entrées de journal) :
sudo journalctl -r
  • Afficher les entrées du journal en temps réel (similaire à tail -f) :
sudo journalctl -f

Vous pouvez combiner ces options. Par exemple, pour afficher toutes les erreurs du service nginx le 10 novembre 2024, en ne montrant que les 10 dernières entrées :

sudo journalctl -u nginx --since "2024-11-10" --until "2024-11-10 23:59:59" -n 10

Comment effacer le journal

Si les journaux occupent trop d'espace, vous pouvez utiliser les commandes suivantes pour les effacer :

  • Effacer les anciens journaux (par exemple, plus anciens que 7 jours) :
sudo journalctl --vacuum-time=7d
  • Effacer les journaux qui dépassent une taille spécifiée (par exemple, 1 Go) :
sudo journalctl --vacuum-size=1G
  • Effacer complètement tous les journaux :
sudo journalctl --vacuum-files=0

Comment réduire la taille du journal

Par défaut, journald peut occuper beaucoup d'espace disque si les journaux ne sont pas limités. Pour définir une taille maximale pour les journaux, ouvrez le fichier de configuration journald.conf :

sudo nano /etc/systemd/journald.conf

Dans ce fichier, vous pouvez configurer les paramètres suivants :

  • SystemMaxUse — la taille maximale pour tous les journaux :
SystemMaxUse=1G
  • RuntimeMaxUse — la taille maximale pour les journaux temporaires :
RuntimeMaxUse=500M
  • MaxRetentionSec — le temps maximum de conservation des journaux :
MaxRetentionSec=1month

Définissez des valeurs adaptées à votre système et à vos besoins, puis enregistrez le fichier en utilisant Ctrl + O et quittez l'éditeur en utilisant Ctrl + X.

Pour appliquer les modifications, redémarrez le service journald :

sudo systemctl restart systemd-journald

Vous pouvez également activer la journalisation en RAM, voire la désactiver complètement. Aucune de ces options n'est recommandée dans un environnement de production, car le journal contient des informations de diagnostic importantes. Son exactitude et sa pertinence sont cruciales pour un diagnostic correct des processus sur votre serveur.

Si vous souhaitez tout de même activer le stockage du journal en RAM, définissez la valeur suivante dans /etc/systemd/journald.conf :

Storage=volatile

Pour désactiver complètement la journalisation, spécifiez :

Storage=none