« Systemd: rendre persistant journalctl » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
La commande <code>journalctl</code> de systemd permet d'afficher les logs kernel du dernier boot. Cependant, en cas de crash/freeze du serveur, il peut être intéressant d'avoir accès aux logs kernel du plantage. Pour cela, il faut rendre journalctl persistant.
[[category:systemd]]
La commande <code>journalctl</code> de systemd permet d'afficher les logs complet du dernier boot. Cependant, en cas de crash/freeze du serveur, il peut être intéressant d'avoir accès aux logs (en particulier ceux du kernel) juste avant et lors du plantage. Pour cela, il faut rendre journalctl persistant.


Éditez <code>/etc/systemd/journald.conf</code> et modifiez la ligne <code>Storage</code> comme suit :
Éditez <code>/etc/systemd/journald.conf</code> et modifiez la ligne <code>Storage</code> comme suit :
Ligne 14 : Ligne 15 :
</pre>
</pre>


Vous pourrez ensuite afficher la liste des boots :
Note : si l'option <code>Storage=auto</code> est passée dans <code>/etc/systemd/journald.conf</code> le journal sera écrit :
<pre>journalctl --list-boots</pre>
* dans <code>/var/log/journal/</code> si le dossier existe et est accessible en écriture
* dans <code>/run/log/journal/</code> (tmpfs) sinon


Pour afficher les logs du boot précédent :
Pour afficher les logs du boot précédent :
<pre>journalctl --boot=-1</pre>
<pre>journalctl --boot=-1</pre>
0 correspondant au boot actuel, -1 au boot précédent
Vous pouvez aussi afficher les logs d'un boot spécifique, dont vous pouvez récupérer l'id avec la commande suivante :
<pre>journalctl --list-boots</pre>


0 correspondant au boot actuel
Vous pouvez réduire la période de temps affiché avec les commandes <code>--since</code> et <code>--until</code> :
<pre>
journalctl --since "2019-01-10" --until "2019-01-15 03:00"
journalctl --since yesterday
journalctl --since "1 hour ago"
</pre>
 
Pour afficher uniquement les logs kernel :
<pre>journalctl -k</pre>
 
Pour voir les logs les plus récents (10 par défaut) :
<pre>
journalctl -n
journalctl -n 50
</pre>
 
Pour suivre les logs en temps réel :
<pre>journalctl -f</pre>
 
Réduire la taille du journal :
<pre>
journalctl --vacuum-time=14d
journalctl --vacuum-size=100M
</pre>

Dernière version du 15 août 2022 à 11:04

La commande journalctl de systemd permet d'afficher les logs complet du dernier boot. Cependant, en cas de crash/freeze du serveur, il peut être intéressant d'avoir accès aux logs (en particulier ceux du kernel) juste avant et lors du plantage. Pour cela, il faut rendre journalctl persistant.

Éditez /etc/systemd/journald.conf et modifiez la ligne Storage comme suit :

[Journal]
Storage=persistent

Puis :

mkdir /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald

Note : si l'option Storage=auto est passée dans /etc/systemd/journald.conf le journal sera écrit :

  • dans /var/log/journal/ si le dossier existe et est accessible en écriture
  • dans /run/log/journal/ (tmpfs) sinon

Pour afficher les logs du boot précédent :

journalctl --boot=-1

0 correspondant au boot actuel, -1 au boot précédent

Vous pouvez aussi afficher les logs d'un boot spécifique, dont vous pouvez récupérer l'id avec la commande suivante :

journalctl --list-boots

Vous pouvez réduire la période de temps affiché avec les commandes --since et --until :

journalctl --since "2019-01-10" --until "2019-01-15 03:00"
journalctl --since yesterday
journalctl --since "1 hour ago"

Pour afficher uniquement les logs kernel :

journalctl -k

Pour voir les logs les plus récents (10 par défaut) :

journalctl -n
journalctl -n 50

Pour suivre les logs en temps réel :

journalctl -f

Réduire la taille du journal :

journalctl --vacuum-time=14d
journalctl --vacuum-size=100M