Premiers pas avec la journalisation système sous Linux
Les journaux système sous Linux vous offrent un excellent aperçu des activités principales de votre ordinateur ou de votre infrastructure de serveur. Ils sont essentiels pour maintenir la stabilité et la sécurité de votre système. Les journaux système vous offrent également la possibilité de vérifier diverses activités qui ont eu lieu dans le passé.
Ce guide vous présente le système de journalisation sous Linux. Toutes les activités majeures réalisées par les applications et services système de base sont enregistrées sous forme de logs et au cœur de tout cela se trouve un système connu sous le nom de Syslog .
Pourquoi les journaux système sont-ils importants?
Imaginez que votre PC Linux a récemment rencontré des erreurs de démarrage ou que vous soupçonnez que quelqu'un a essayé de se connecter à votre système. Ces événements peuvent être facilement retracés car votre système assure le suivi de ces activités sous la forme de journaux.
Sous Linux, les journaux système sont des enregistrements lisibles par l'homme des principales activités du système effectuées par les services, les démons et les applications système. Certaines des activités importantes enregistrées sur une machine Linux incluent les connexions utilisateur et les échecs de connexion, le démarrage du système d'exploitation, les pannes système, etc.
Linux dispose d'un service dédié appelé Syslog qui est spécifiquement responsable de la création de journaux via le journal système. Syslog comprend plusieurs composants tels que le format de message Syslog, le protocole Syslog et le démon Syslog: communément appelé syslogd ou rsyslogd dans les nouvelles versions de Linux.
Le répertoire / var / log stocke la plupart des journaux sur un système Linux. Le répertoire / var contient principalement des fichiers et des répertoires variables, c'est-à-dire des données qui sont amenées à changer souvent. Il n'y a pas de format standard pour les journaux, mais au minimum, les journaux doivent contenir un horodatage et les détails de l'activité en cours de journalisation.
Liste des fichiers gérés par syslog
Tous les journaux généraux de votre système sont stockés dans le fichier / var / log / syslog sur les distributions Linux basées sur Debian . D'autres distributions utilisent le fichier / var / log / messages pour stocker les journaux.
Remarque : différentes distributions Linux peuvent utiliser des fichiers différents pour consigner des messages spécifiques. Par exemple, sur les distributions Linux basées sur Debian, le fichier /var/log/auth.log contient des journaux d'authentification, tandis que les systèmes RedHat utilisent le fichier / var / log / secure pour stocker ces journaux.
Pour en savoir plus sur tous les fichiers responsables du stockage des journaux, vous pouvez consulter le répertoire /etc/rsyslog.d , qui contient des fichiers de configuration Syslog importants. Par exemple, pour répertorier les fichiers journaux standard, vous pouvez consulter le fichier /etc/rsyslog.d/50-default.conf .
cat /etc/rsyslog.d/50-default.conf
Le fichier vous montre les noms des applications système et les fichiers journaux correspondants qui leur sont associés.
Comment inspecter les fichiers journaux
La plupart des fichiers journaux sont assez longs. En tant que telle, l'une des commandes les plus importantes pour inspecter les fichiers journaux sous Linux est la commande less , qui génère le contenu du fichier dans des sections facilement navigables.
Par exemple, pour afficher le contenu du fichier / var / log / syslog , utilisez la commande less comme suit.
less /var/log/syslog
Utilisez la touche du clavier F pour faire défiler vers l'avant et la touche B pour faire défiler vers l'arrière.
Le fichier syslog contient des journaux de certaines des activités les plus critiques telles que les erreurs système et les activités de service sur votre système.
Si vous ne souhaitez inspecter que les journaux les plus récents, vous pouvez utiliser la commande tail , qui répertorie uniquement les 10 derniers messages du journal par défaut.
tail /var/log/syslog
Vous pouvez également spécifier le nombre de messages de journal que vous souhaitez afficher avec l'utilitaire de queue. La commande prend le format suivant tail -n file-to-inspect, où n est le nombre de lignes que vous souhaitez afficher. Par exemple, pour afficher les 7 derniers messages du journal dans le fichier syslog, vous pouvez utiliser la commande suivante.
tail -7 /var/log/syslog
Pour afficher les journaux les plus récents en temps réel, vous pouvez utiliser la commande tail avec l'option -f comme suit.
tail -f /var/log/syslog
Une autre commande importante pour l'inspection des messages de journal est la commande head . Contrairement à la commande tail qui affiche les derniers messages du journal dans un fichier, la commande head vous montre les premières lignes d'un fichier. Par défaut, la commande affichera uniquement les 10 premières lignes.
head /var/log/syslog
Journaux d'authentification
Si vous souhaitez trouver des informations sur les connexions des utilisateurs sur votre système, vous pouvez consulter le fichier /var/log/auth.log . Les informations relatives aux connexions utilisateur, aux échecs de connexion et à la méthode d'authentification utilisée peuvent être trouvées ici.
Journaux du noyau
Lorsque votre système Linux démarre, des données importantes sur le tampon en anneau du noyau sont enregistrées dans le fichier / var / log / dmesg . D'autres informations sur les pilotes matériels, le noyau et l'état de démarrage sont toutes enregistrées dans ce fichier.
Au lieu d'inspecter les messages du journal de démarrage avec la commande less ou cat, vous pouvez utiliser dmesg pour afficher ces fichiers journaux.
dmesg
Remarque : les messages du journal dans le fichier / var / log / dmesg sont réinitialisés à chaque démarrage du système.
Un autre fichier journal important lié aux problèmes du noyau est le /var/log/kern.log .
Journalisation des messages avec la commande logger
Outre la simple visualisation des messages de journal enregistrés par les applications ou services système, le système de journalisation sous Linux vous permet également de journaliser les messages manuellement à l'aide de la commande logger . Un utilisateur peut consigner des messages dans le fichier / var / log / syslog par défaut. Par exemple, pour consigner un message simple, vous pouvez exécuter la commande suivante.
logger hello world!
Vous pouvez maintenant utiliser la commande tail pour afficher le message récemment enregistré.
tail -3 /var/log/syslog
Vous pouvez même consigner la sortie d'autres commandes avec la commande logger en plaçant la commande dans le caractère de coche arrière ( ` ).
logger `whoami`
Vous pouvez également utiliser la commande logger dans vos scripts pour consigner les événements importants. Utilisez les pages de manuel pour en savoir plus sur la commande logger et ses options.
man logger
Gestion des fichiers journaux
Comme vous l'avez peut-être remarqué, de nombreuses données sont enregistrées sur une machine Linux. Par conséquent, vous devez disposer d'un système approprié pour gérer l'espace disque utilisé par les fichiers journaux. En plus de cela, disposer d'un système de journalisation garantit que vous trouverez facilement les messages de journal que vous recherchez. La solution Linux à ce problème est l'utilitaire logrotate .
Utilisez l'utilitaire logrotate pour configurer le fichier journal à conserver, la durée pendant laquelle vous souhaitez le conserver, gérer l'envoi des journaux et comment compresser les anciens fichiers journaux, etc.
Vous pouvez configurer l'utilitaire logrotate avec n'importe quel éditeur de texte de votre choix. Le fichier de configuration de logrotate se trouve dans /etc/logrotate.conf .
Maintenir la robustesse de votre système grâce aux journaux
Les journaux système sous Linux sont un excellent moyen d'avoir un aperçu des principales activités qui se déroulent sur votre système et qui peuvent comprendre la sécurité et la stabilité globale du système. Savoir comment afficher et analyser les messages de journal sur un serveur ou un PC vous aidera grandement à maintenir la robustesse de votre système.
Parfois, les utilisateurs ont du mal à utiliser certaines applications sur leur système en raison de la faible disponibilité des ressources système. Dans de telles situations, la suppression des programmes qui ne répondent pas peut libérer de l'espace sur la mémoire principale de votre système.