FAQ Instructions simples pour travailler avec le service Profitserver
Entrée FAQ Comment lire les journaux Linux et où les trouver

Comment lire les journaux Linux et où les trouver


En cas de problème de performance de votre serveur, la première chose à faire est de consulter les journaux Linux . Le journal système contient des messages de diagnostic utiles provenant de différents composants du système d'exploitation, comme le noyau ou divers services ; vous y trouverez donc très probablement la cause de la panne.

Chaque message du journal est généré suite à certains événements du système d'exploitation : utilisateur, autorisation, arrêt de service ou défaillance d'application. Ces événements ont des priorités différentes selon leur criticité. Voici les types d'événements sous Linux :

  1. emerg - échec, priorité la plus élevée ;
  2. alert - avertissement urgent ;
  3. crit - événement critique ;
  4. err - erreur ordinaire ;
  5. warn - avertissement ordinaire ;
  6. notice - notification;
  7. info - message d'information;
  8. debug - informations de débogage ;

Actuellement, les principaux services de collecte de journaux sous Linux sont rsyslog et systemd-journald . Ils sont inclus dans la plupart des distributions modernes et fonctionnent indépendamment.

rsyslog

Les journaux de ce service se trouvent dans le dossier « /var/log/ » sous forme de fichiers texte. Les messages de journalisation sont placés dans différents fichiers selon le type d'événement. Par exemple, « /var/log/auth.log » contient des informations sur l'authentification des utilisateurs au système, et « /var/log/kern.log » contient les messages du noyau. Les noms de fichiers peuvent varier selon les paquets de distribution ; examinons donc le fichier de configuration « /etc/rsyslog.d/50-default.conf » pour comprendre leur organisation.

Pour les logos Linux de l'utilitaire rsyslog

Ces règles indiquent le fichier contenant chaque type de message de journalisation. La partie gauche affiche le type de message sous la forme « [Source].[Priorité] » et la partie droite affiche le nom du fichier de journalisation. Lors de la saisie du type de message, le caractère « * » peut être ajouté. Il signifie « aucune valeur » et exclut le message de la liste. Examinons de plus près les deux premières règles.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

La première règle stipule que tous les messages reçus du mécanisme d'autorisation seront enregistrés dans le fichier « /var/log/auth.log ». Toutes les tentatives d'autorisation (réussies ou non) y seront consignées. La seconde règle indique que tous les messages, à l'exception de ceux relatifs à l'autorisation, seront enregistrés dans le fichier « /var/log/syslog ». Ces deux fichiers sont généralement les plus fréquemment utilisés. Les règles suivantes définissent le chemin d'accès aux journaux du noyau (« kern.* ») et aux journaux du service de messagerie (« mail.* ») .

Les fichiers journaux peuvent être ouverts à l'aide de n'importe quel éditeur de texte, comme less , cat ou tail . Ouvrons le fichier « /var/log/auth.log ».

less /var/log/auth.log
Ouvrez la page de journalisation des nouveaux autorisateurs SSH de Linux.

Chaque ligne du fichier correspond à un message distinct reçu de l'application ou du service. Tous les messages, quelle que soit leur source, ont un format unique et sont composés de cinq parties. Prenons l'exemple du message mis en évidence dans la capture d'écran.

  1. Horodatage du message : « 12 févr. 06:18:33 »
  2. Nom de l'ordinateur qui a envoyé le message - « vds »
  3. Nom de l'application ou du service qui a envoyé le message - « sshd »
  4. ID de processus - [653]
  5. Texte du message : « Mot de passe accepté pour mihail depuis 188.19.42.165 port 2849 ssh2 »

Il s’agit d’un exemple de connexion réussie à SSH.

Et voici à quoi ressemble une tentative de connexion infructueuse :

Comment fonctionne Linux

Ce fichier enregistre également les commandes avec des autorisations avancées

Comment sauvegarder le journal Linux

Ouvrons le fichier /var/log/syslog

Un message mis en évidence sur la capture d'écran est le message concernant l'arrêt de l'interface réseau.

Utile logorotate

Pour rechercher des informations dans de longs fichiers texte, utilisez l'utilitaire grep . Vous trouverez tous les messages reçus du service pptpd dans le fichier « /var/log/syslog ».

grep 'pptpd' /var/log/syslog
fichier « /etc/logrotate.d/rsyslog »

Lors du diagnostic, vous pouvez utiliser l'utilitaire `tail` pour afficher les dernières lignes des fichiers. La commande ` tail -f /var/log/syslog` vous permettra de suivre l'enregistrement des journaux en temps réel.

Le service rsyslog est très flexible et puissant. Il peut être utilisé pour la collecte des journaux sur des systèmes locaux comme à l'échelle de l'entreprise. Vous trouverez la documentation complète sur le site web officiel : https://www.rsyslog.com/

Rotation des journaux sous Linux

L'enregistrement des journaux étant continu, la taille des fichiers augmente constamment. Un mécanisme de rotation assure l'archivage automatique des anciens journaux et la création de nouveaux fichiers. Selon les règles définies, cette rotation peut être quotidienne, hebdomadaire, mensuelle ou limitée par la taille des fichiers. À mesure que de nouveaux journaux sont créés, les anciens peuvent être supprimés ou envoyés par e-mail. La rotation des journaux est effectuée par l'utilitaire logrotate . La configuration principale se trouve dans le fichier « /etc/logrotate.conf ». Le contenu des fichiers est traité dans le dossier « /etc/logrotate.d/ ».

Les nouvelles règles peuvent être consignées dans le fichier de configuration principal. Toutefois, il est préférable de créer un fichier séparé dans « /etc/logrotate.d/ ». Par défaut, ce répertoire contient plusieurs fichiers.

Logos rotatifs associés à Linux

Examinons le fichier « /etc/logrotate.d/rsyslog » qui contient les règles de rotation des journaux du service rsyslog.

L'exemple que vous avez choisi pptpd dans les journaux

Tout d'abord, la règle doit contenir le chemin d'accès au fichier journal, puis toutes les lignes directrices entre crochets incurvés.

  • faire pivoter 7 - nombre de fichiers à conserver - 7
  • Tous les jours - créer un nouveau fichier chaque jour
  • compresser - compresser et archiver les anciens fichiers
Учимся читать LOGи Линукс

Vous pouvez voir sur la capture d'écran que dans le dossier « /var/log/ » se trouvent le journal principal « syslog » et 7 archives, ce qui correspond aux règles du fichier de configuration.

Vous trouverez une description plus détaillée de logrotate dans le manuel, en exécutant la commande « man logrotate ».

Collecte des journaux Linux - journald

Le service de collecte des journaux systemd-journald fait partie du système d'initialisation systemd . Les fichiers journaux Linux sont stockés dans « /var/log/journal/ » dans un format spécifique et peuvent être ouverts à l'aide de l' utilitaire journalctl . Le format des enregistrements est identique à celui de rsyslog.

La commande `journalctl` sans attributs affiche tous les enregistrements, mais elle n'est pas adaptée aux journaux volumineux. Examinons quelques options de cet utilitaire.

  • journalctl -b - afficher tous les enregistrements depuis le dernier démarrage
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - afficher l'enregistrement dans une certaine période de temps
  • journalctl -u pptpd - afficher les enregistrements d'un certain service
  • journalctl -k - afficher les messages du noyau
  • journalctl -p err - afficher les messages d'une certaine priorité, les messages de priorité supérieure dans ce cas (crit, alerte, urgence)
  • journalctl -f - afficher les messages en temps réel

Pour une plus grande flexibilité, vous pouvez combiner ces options. Affichons toutes les erreurs du service pptpd.

journalctl -u pptpd -p err
dernière utilité

Si vous spécifiez le chemin d'accès au fichier exécutable comme attribut, l'utilitaire affichera tous les messages envoyés par ce fichier. Affichons par exemple tous les messages envoyés par le fichier « /usr/bin/sudo » depuis 04 h 15 le 18 février 2020. En réalité, il affichera toutes les commandes exécutées avec des privilèges élevés.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
komandoy lastb

Pour savoir combien d'espace disque les fichiers journaux occupent, exécutez la commande suivante

journalctl --disk-usage

Afin de limiter le fichier journal à 1 Go, exécutez la commande suivante

journalctl --vacuum-size=1G

Ouverture de fichiers binaires

Examinons maintenant certains fichiers particuliers du dossier « /var/log/ » où sont enregistrées toutes les tentatives de connexion. Ces fichiers sont binaires et ne peuvent être ouverts qu'avec des programmes spécifiques.

Le fichier /var/log/wtmp contient des informations sur les tentatives de connexion réussies. Utilisez la dernière commande `last` pour l'ouvrir.

utilita lastlog

Le fichier /var/log/btmp contient toutes les tentatives de connexion infructueuses. Il peut être ouvert avec la commande lastb en disposant de privilèges d'administrateur. L'option -n permet de définir le nombre de lignes affichées à partir de la fin du fichier.

Le fichier /var/log/lastlog contient l'horodatage de la dernière connexion pour chaque compte. Il peut être ouvert avec la commande lastlog.

❮ Article précédent Éditeurs de texte Linux
Article suivant ❯ Comment configurer les interfaces réseau dans CentOS

Demandez-nous des informations sur VPS

Nous sommes toujours prêts à répondre à vos questions à toute heure du jour ou de la nuit.