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/06/29 10:09] 92.154.112.189sysadmin: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>
  
-Le démarrage courant à l'index 0. Les précédents démarrages sont indexés négativement. Pour lister les index existants avec leurs horodatages:+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>
Ligne 77: Ligne 93:
 <code bash> <code bash>
 journalctl -k -b -17 journalctl -k -b -17
 +</code>
 +
 +
 +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> </code>
  
Ligne 89: Ligne 113:
 </code>  </code> 
  
-==== Supprimer les journaux ====+==== Suppression/nettoyage des journaux ====
  
-Deux options permettent de facilement supprimer les journaux en spécifiant: +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 avec %%--vacuum-size%%+  * Une ''taille limite d'occupation disque'' avec **%%--vacuum-size%%**
   * Une date limite avec %%--vacuum-time%%    * Une date limite avec %%--vacuum-time%% 
  
Ligne 101: Ligne 125:
  
 # Pour ne conserver que les journaux de moins d'un mois # Pour ne conserver que les journaux de moins d'un mois
-journalctl --vacuum-time="months"+journalctl --vacuum-time="month"
 </code> </code>
  
-===== Configuration =====+==== 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: 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/''   * ''/etc/systemd/journald.conf.d/''
-  * ''/rul/systemd/journald.conf.d/''+  * ''/run/systemd/journald.conf.d/''
   * ''/usr/lib/systemd/journald.conf.d/''   * ''/usr/lib/systemd/journald.conf.d/''
  
-Les variables commentées dans le fichier présentent les valeurs par défaut. Pour modifier le paramétrage il suffit de dé-commenter la variable et de spécifier la valeur souhaitée.+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]
  
-<file> 
 # Limite d' occupation disque des journaux # Limite d' occupation disque des journaux
 SystemMaxUse=500M SystemMaxUse=500M
Ligne 125: Ligne 167:
  
 Après modification des paramétrages, redémarrer le service: Après modification des paramétrages, redémarrer le service:
 +
 <code bash> <code bash>
 sudo systemctl restart systemd-journald sudo systemctl restart systemd-journald
 </code> </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 =====
Ligne 134: Ligne 201:
   * https://www.freedesktop.org/software/systemd/man/journald.conf.html   * 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/linux-logging-with-systemd/#journald-configuration
   * https://www.loggly.com/ultimate-guide/managing-journal-size/   * 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.1624961342.txt.gz · Dernière modification : 2021/06/29 10:09 de 92.154.112.189