Les journaux consignent les événements émis par le noyau, les services, les applications et les composants de sécurité. Ils facilitent le dépannage et l'audit, mais seulement si la collecte fonctionne, si les horodatages sont compris et si la source concernée est incluse.
Journalisation · Leçon 1
Journalisation du système
Découvrez comment les sources, collecteurs, stockages et outils de consultation des journaux Linux s'articulent.
Suivre un message de journal
Le parcours de journalisation comprend plusieurs parties distinctes :
- Une source émet un événement.
- Un collecteur l'accepte et l'enrichit.
- Les règles de routage et de conservation choisissent les destinations de stockage ou de transfert.
- Un outil de consultation interroge les enregistrements conservés.
Sur un hôte systemd, systemd-journald collecte couramment la sortie standard des services, les messages du noyau et les messages natifs du journal ou de syslog. Un démon syslog comme rsyslog peut également recevoir les messages, les écrire dans des fichiers texte traditionnels ou les transférer. Les applications peuvent plutôt entretenir leurs propres fichiers ou une télémétrie externe.
Quel composant décide où les messages acceptés sont stockés ou transférés ?
Découvrir les journaux disponibles
Ne supposez pas que chaque hôte possède les mêmes fichiers. Examinez les services de journalisation actifs et la configuration locale :
$ systemctl --type=service --state=running | grep -E 'journal|syslog'
$ ls -la /var/log
$ journalctl --disk-usage
/var/log/syslog est courant dans la famille Debian avec un routage compatible, tandis que /var/log/messages l'est ailleurs. Les deux peuvent être absents sur un hôte qui emploie uniquement le journal. La documentation des applications et la configuration des unités peuvent révéler d'autres destinations.
Que signifie nécessairement l'absence du fichier /var/log/syslog ?
Interroger le journal
Commencez par une requête limitée plutôt que d'afficher tout le journal :
$ journalctl -b -p warning
$ journalctl -u ssh.service --since '1 hour ago'
-b sélectionne le démarrage actuel, -p filtre selon la priorité et -u selon une unité. Les noms d'unités et les démarrages conservés diffèrent selon l'hôte. Employez journalctl --list-boots pour afficher les démarrages disponibles et journalctl -f pour suivre les nouveaux enregistrements pendant la reproduction d'un problème.
Quelle option limite une requête journalctl au démarrage actuel ?
Lire les enregistrements dans leur contexte
Une ligne traditionnelle de style syslog peut ressembler à ceci :
Jan 27 07:41:32 icebox anacron[4650]: Job `cron.weekly' started
Elle contient un horodatage, un hôte, un programme et un PID, puis un message. Considérez le texte du message comme la sortie d'une application, pas comme un fait structuré garanti. Vérifiez le fuseau horaire, la synchronisation de l'horloge, l'identifiant de démarrage, la réutilisation des PID et les enregistrements qui précèdent et suivent immédiatement l'événement. Les champs du journal peuvent offrir des identifiants plus solides que le seul texte affiché.
Les journaux peuvent contenir des noms d'utilisateurs, adresses, chemins, jetons ou d'autres données sensibles. Appliquez le moindre privilège, expurgez les exportations et préservez les originaux et horodatages pendant une enquête.
Que faut-il faire avant de partager un extrait de journal à l'extérieur ?
Leçon terminée
Vous avez terminé Journalisation du système
Vous savez maintenant trouver et interroger les journaux Linux sans supposer un chemin de stockage universel.
Distinguer sources d'événements, collecteurs, routage, stockage et outils de consultation.
Découvrir la configuration de journalisation active de l'hôte.
Employer des requêtes limitées selon l'unité, le démarrage, l'heure ou la priorité.
Corréler les enregistrements dans leur contexte et protéger les données sensibles.
Conservez votre progression
Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.
Créer un compte gratuit