Outils pour utilisateurs

Outils du site


sysadmin:linux:systemd:consulter-journaux

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
sysadmin:linux:systemd:consulter-journaux [2021/02/01 21:51] – modification externe 127.0.0.1sysadmin:linux:systemd:consulter-journaux [2025/07/01 13:21] (Version actuelle) yoann
Ligne 1: Ligne 1:
-{{tag>sysadmin linux systemd log}}+{{tag>sysadmin linux systemd log journaux journalisation}}
  
 ====== journalctl: Consulter la journalisation d'événements de systemd ====== ====== journalctl: Consulter la journalisation d'événements de systemd ======
  
-**journalctl** permet d'afficher les journaux générés par systemd qui possède à présent son propre système de journalisationrsyslog n'est plus requis par défaut.+**systemd** intègre son propre système de journalisation indépendant des services syslog/rsyslog, il repose sur le daemon **journald**. 
 + 
 +Si besoin, il reste tout à fait possible d'installer rsyslog et de transférer les messages vers celui-ci. 
 + 
 +<note> 
 +Pour que la journalisation soit pertinente, vérifier que le temps local est correctement définit, voir wiki [[sysadmin:linux:systemd:synchronisation-du-temps#modifier_le_temps_local_time_zone]] 
 +</note> 
 + 
 +Essentiellement pour des raisons de performances, les journaux sont stockés par **journald** sous forme binaire. **journalctl** est le CLI standard permettant d'accéder et de visualiser les journaux produits par **journald**. Il permet également de reconfigurer le service de journalisation.
  
  
 Invoqué sans arguments, journactl affiche l'ensemble des messages. On utilise alors la syntaxe less/vim pour rechercher les chaînes de caractères au sein de la sortie. Invoqué sans arguments, journactl affiche l'ensemble des messages. On utilise alors la syntaxe less/vim pour rechercher les chaînes de caractères au sein de la sortie.
 +
 <code bash> <code bash>
 journalctl journalctl
Ligne 27: Ligne 36:
 ===== Filtrage par criticité ===== ===== Filtrage par criticité =====
  
-Pour filtrer par niveau de criticité (priority) utiliser l'argument -p:+Pour filtrer par niveau de criticité (priority) utiliser l'argument **-p** ou **%%--priority%%**:
 <code bash> <code bash>
 journalctl -p warning journalctl -p warning
Ligne 46: Ligne 55:
 <code bash> <code bash>
 journalct -p warning --since "2020-01-01 00:00:00" --until "2020-01-31 23:59:59" journalct -p warning --since "2020-01-01 00:00:00" --until "2020-01-31 23:59:59"
 +</code>
 +
 +===== Filtrage par utilisateur =====
 +
 +L'option **_UID** permet de spécifier un ID utilisateur à cibler:
 +<code bash>
 +journalctl --since "1 hours ago" _UID=1000
 </code> </code>
  
Ligne 67: Ligne 83:
 </code> </code>
  
-De façon plus générale on peut lister les journaux existants retraçant les précédents démarrages:+La mise en service courante à l'index 0. Les précédents démarrages sont indexés négativement. Pour lister les index existants avec leurs horodatages: 
 <code bash> <code bash>
 journalctl --list-boots journalctl --list-boots
 </code> </code>
  
-Cette commande retourne la liste de journaux correspondants aux précédents démarrage avec des index négatifs. L'index 0 est le journal courant. On pourra fournir l'index choisit à la commande:+On pourra préciser l'index souhaité via la commande:
  
 <code bash> <code bash>
Ligne 78: Ligne 95:
 </code> </code>
  
-===== Configuration des journaux =====+ 
 +Si l'on souhaite afficher les messages les plus récents, on peut utiliser l'option %%--%%reverse (-r) et l'option %%--%%lines (-n) 
 + 
 +<code bash> 
 +# Afficher les 100 enregistrements les plus récents: 
 +journalctl -r -n 100 
 +</code> 
 + 
 +===== Gestion des journaux ===== 
 + 
 +Par défaut, le service **systemd-journald** en charge de la journalisation s'assure que les anciens enregistrements ou les fichiers journaux sont supprimés afin de garantir un espace disque minimum pour le système. On peut utiliser **journalctl** pour gérer la taille des journaux. 
 + 
 +Les fichiers journaux sont enregistrés dans ''/var/log/journal''. Pour évaluer l'espace occupé par les journaux sur le système de fichier: 
 + 
 +<code bash> 
 +journalctl --disk-usage 
 +</code>  
 + 
 +==== Suppression/nettoyage des journaux ==== 
 + 
 +Pour libérer l'espace disque occupé par les journaux système, deux options sont disponibles supprimer les journaux en spécifiant: 
 +  * Une ''taille limite d'occupation disque'' avec **%%--vacuum-size%%** 
 +  * Une date limite avec %%--vacuum-time%%  
 + 
 + 
 +<code bash> 
 +# Pour faire chuter l'occupation disque des journaux à 500Mo 
 +journalctl --vacuum-size=500M 
 + 
 +# Pour ne conserver que les journaux de moins d'un mois 
 +journalctl --vacuum-time="1 month" 
 +</code> 
 + 
 +==== Test d'intégrité ==== 
 + 
 +Pour vérifier l'intégrité des fichiers de log : 
 + 
 +<code bash> 
 +journalctl --verify 
 +</code> 
 + 
 +===== Paramétrer la rétention des journaux ===== 
 + 
 +Le fichier de configuration principal de systemd-journald est ''/etc/systemd/journald.conf''. Les autres packages peuvent créer leurs fichiers de configuration et les stocker dans l'un des dossiers: 
 +  * ''/etc/systemd/journald.conf.d/'' 
 +  * ''/run/systemd/journald.conf.d/'' 
 +  * ''/usr/lib/systemd/journald.conf.d/'' 
 + 
 +Les variables commentées dans le fichier présentent les valeurs par défaut.  La méthode recommandée est de créer un fichier personnalisé dans le dossier ''/etc/systemd/journald.conf.d/''
 + 
 +<code bash> 
 +# Créer le dossier s'il n'existe pas 
 +mkdir /etc/systemd/journald.conf.d 
 + 
 +# Créer un fichier pour vos paramétrages personnalisés 
 +touch /etc/systemd/journald.conf.d/local.conf 
 +</code> 
 + 
 +<file txt local.conf> 
 +[Journal] 
 + 
 +# Limite d' occupation disque des journaux 
 +SystemMaxUse=500M 
 + 
 +# Période de rétention maximale des journaux à 1 mois (3600*24*30) 
 +#MaxRetentionSec=2592000 
 + 
 +# équivalent 
 +MaxRetentionSec=1month 
 +</file> 
 + 
 +Après modification des paramétrages, redémarrer le service: 
 + 
 +<code bash> 
 +sudo systemctl restart systemd-journald 
 +</code> 
 + 
 +Pour afficher la configuration utilisée par le service, comme elle peut être répartie dans plusieurs fichiers, utiliser la commande : 
 + 
 +<code bash> 
 +systemd-analyze cat-config systemd/journald.conf 
 +</code> 
 + 
 +Pour que les journaux ne soient pas enregistrés sur le disque ( deviennent volatiles) : 
 + 
 +<code> 
 +[Journal] 
 +Storage=volatile 
 +</code> 
 + 
 +===== Enregistrement avec syslog ===== 
 + 
 +Les journaux peuvent être transmis à syslog/rsyslog. Installer rsyslog et démarrer le service. 
 + 
 +Editer le fichier ''/etc/systemd/journald.conf'' et modifier cette option : 
 + 
 +<code> 
 +ForwardToSyslog=yes 
 +</code>
  
  
 ===== Références ===== ===== Références =====
  
 +  * %%man journald.conf%%
 +  * https://www.freedesktop.org/software/systemd/man/journald.conf.html
   * https://www.golinuxcloud.com/view-logs-using-journalctl-filter-journald/   * https://www.golinuxcloud.com/view-logs-using-journalctl-filter-journald/
 +  * https://linuxhandbook.com/journalctl-command/
   * https://www.linuxtricks.fr/wiki/systemd-utiliser-journalctl-les-logs-de-systemd   * https://www.linuxtricks.fr/wiki/systemd-utiliser-journalctl-les-logs-de-systemd
 +  * https://www.loggly.com/ultimate-guide/using-journalctl/
 +  * https://www.loggly.com/ultimate-guide/linux-logging-with-systemd/#journald-configuration
 +  * https://www.loggly.com/ultimate-guide/managing-journal-size/
 +  * https://blog.selectel.com/managing-logging-systemd/
 +  * https://www.linuxtricks.fr/wiki/systemd-utiliser-journalctl-les-logs-de-systemd
 +
 +
sysadmin/linux/systemd/consulter-journaux.1612216289.txt.gz · Dernière modification : 2021/02/01 21:51 de 127.0.0.1