Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| sysadmin:linux:systemd:consulter-journaux [2020/05/20 17:46] – yoann | sysadmin:linux:systemd:consulter-journaux [2025/07/01 13:21] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| - | ====== | + | ====== |
| - | **journalctl** | + | **systemd** intègre son propre système de journalisation indépendant des services syslog/ |
| + | |||
| + | Si besoin, il reste tout à fait possible d' | ||
| + | |||
| + | < | ||
| + | Pour que la journalisation soit pertinente, vérifier que le temps local est correctement définit, voir wiki [[sysadmin: | ||
| + | </ | ||
| + | |||
| + | Essentiellement pour des raisons de performances, | ||
| + | |||
| + | |||
| + | Invoqué sans arguments, journactl affiche l' | ||
| - | Invoqué sans arguments, affiche l' | ||
| <code bash> | <code bash> | ||
| journalctl | journalctl | ||
| </ | </ | ||
| + | |||
| + | ===== Suivi temps réel ===== | ||
| L' | L' | ||
| Ligne 15: | Ligne 27: | ||
| </ | </ | ||
| - | Utiliser l' | + | ===== Filtrage par service ===== |
| + | |||
| + | Utiliser l' | ||
| <code bash> | <code bash> | ||
| journalctl -u cron | journalctl -u cron | ||
| </ | </ | ||
| - | Pour filtrer par niveau de criticité (proirity) utiliser l' | + | ===== Filtrage par criticité ===== |
| + | |||
| + | Pour filtrer par niveau de criticité (priority) utiliser l' | ||
| <code bash> | <code bash> | ||
| journalctl -p warning | journalctl -p warning | ||
| Ligne 26: | Ligne 42: | ||
| La commande affiche les message dont la criticité est au minimum warning. | La commande affiche les message dont la criticité est au minimum warning. | ||
| - | Lister les événements en spécifiant des dates | + | |
| + | ===== Filtrage par repères temporels ===== | ||
| + | |||
| + | Lister les événements | ||
| <code bash> | <code bash> | ||
| journalctl --since yesterday | journalctl --since yesterday | ||
| + | journalctl --since "10 minutes ago" | ||
| + | journalctl --since "2 hours ago" | ||
| </ | </ | ||
| Ligne 35: | Ligne 56: | ||
| journalct -p warning --since " | journalct -p warning --since " | ||
| </ | </ | ||
| + | |||
| + | ===== Filtrage par utilisateur ===== | ||
| + | |||
| + | L' | ||
| + | <code bash> | ||
| + | journalctl --since "1 hours ago" _UID=1000 | ||
| + | </ | ||
| + | |||
| + | ===== Filtrage des messages du noyau ===== | ||
| Lister les messages du noyau, affichage complet: | Lister les messages du noyau, affichage complet: | ||
| Ligne 40: | Ligne 70: | ||
| journalctl -k --output=verbose | journalctl -k --output=verbose | ||
| </ | </ | ||
| + | |||
| + | Pour lister les messages émis depuis le démarrage: | ||
| + | <code bash> | ||
| + | journalctl -k -b | ||
| + | </ | ||
| + | |||
| + | ===== Historique ===== | ||
| + | |||
| + | Pour afficher les messages émis lors du précédent démarrage: | ||
| + | <code bash> | ||
| + | journalctl -k -b -1 | ||
| + | </ | ||
| + | |||
| + | La mise en service courante à l' | ||
| + | |||
| + | <code bash> | ||
| + | journalctl --list-boots | ||
| + | </ | ||
| + | |||
| + | On pourra préciser l' | ||
| + | |||
| + | <code bash> | ||
| + | journalctl -k -b -17 | ||
| + | </ | ||
| + | |||
| + | |||
| + | Si l'on souhaite afficher les messages les plus récents, on peut utiliser l' | ||
| + | |||
| + | <code bash> | ||
| + | # Afficher les 100 enregistrements les plus récents: | ||
| + | journalctl -r -n 100 | ||
| + | </ | ||
| + | |||
| + | ===== Gestion des journaux ===== | ||
| + | |||
| + | Par défaut, le service **systemd-journald** en charge de la journalisation s' | ||
| + | |||
| + | Les fichiers journaux sont enregistrés dans ''/ | ||
| + | |||
| + | <code bash> | ||
| + | journalctl --disk-usage | ||
| + | </ | ||
| + | |||
| + | ==== Suppression/ | ||
| + | |||
| + | Pour libérer l' | ||
| + | * Une '' | ||
| + | * Une date limite avec %%--vacuum-time%% | ||
| + | |||
| + | |||
| + | <code bash> | ||
| + | # Pour faire chuter l' | ||
| + | journalctl --vacuum-size=500M | ||
| + | |||
| + | # Pour ne conserver que les journaux de moins d'un mois | ||
| + | journalctl --vacuum-time=" | ||
| + | </ | ||
| + | |||
| + | ==== Test d' | ||
| + | |||
| + | Pour vérifier l' | ||
| + | |||
| + | <code bash> | ||
| + | journalctl --verify | ||
| + | </ | ||
| + | |||
| + | ===== Paramétrer la rétention des journaux ===== | ||
| + | |||
| + | Le fichier de configuration principal de systemd-journald est ''/ | ||
| + | * ''/ | ||
| + | * ''/ | ||
| + | * ''/ | ||
| + | |||
| + | Les variables commentées dans le fichier présentent les valeurs par défaut. | ||
| + | |||
| + | <code bash> | ||
| + | # Créer le dossier s'il n' | ||
| + | mkdir / | ||
| + | |||
| + | # Créer un fichier pour vos paramétrages personnalisés | ||
| + | touch / | ||
| + | </ | ||
| + | |||
| + | <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) | ||
| + | # | ||
| + | |||
| + | # équivalent | ||
| + | MaxRetentionSec=1month | ||
| + | </ | ||
| + | |||
| + | Après modification des paramétrages, | ||
| + | |||
| + | <code bash> | ||
| + | sudo systemctl restart systemd-journald | ||
| + | </ | ||
| + | |||
| + | 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/ | ||
| + | </ | ||
| + | |||
| + | Pour que les journaux ne soient pas enregistrés sur le disque ( deviennent volatiles) : | ||
| + | |||
| + | < | ||
| + | [Journal] | ||
| + | Storage=volatile | ||
| + | </ | ||
| + | |||
| + | ===== Enregistrement avec syslog ===== | ||
| + | |||
| + | Les journaux peuvent être transmis à syslog/ | ||
| + | |||
| + | Editer le fichier ''/ | ||
| + | |||
| + | < | ||
| + | ForwardToSyslog=yes | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Références ===== | ||
| + | |||
| + | * %%man journald.conf%% | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | |||