Maison  >  Article  >  Opération et maintenance  >  Étudiez le contenu de chaque champ dans les fichiers journaux Linux

Étudiez le contenu de chaque champ dans les fichiers journaux Linux

WBOY
WBOYoriginal
2024-02-27 08:15:06472parcourir

Étudiez le contenu de chaque champ dans les fichiers journaux Linux

Linux, en tant que système d'exploitation largement utilisé, dispose d'un puissant système de journalisation pour enregistrer les informations importantes pendant le fonctionnement du système. Les fichiers journaux sont généralement stockés dans le répertoire /var/log, qui contient différents types de fichiers journaux, tels que les journaux système, les journaux de sécurité, etc. Cet article examinera en profondeur le contenu de chaque colonne d'un fichier journal Linux et expliquera la signification de chaque colonne avec des exemples de code spécifiques.

1. fichier journal Syslog

syslog est l'un des systèmes de journalisation les plus courants sous Linux, enregistrant diverses informations de fonctionnement du système. Les fichiers journaux Syslog sont généralement stockés dans le répertoire /var/log, et le plus courant est le fichier syslog. Voici un exemple de contenu d'un fichier journal Syslog :

Mar 10 08:30:45 localhost cron[1234]: (root) CMD (run-parts /etc/cron.daily)
Mar 10 10:15:20 localhost sshd[5678]: Failed password for user1 from 192.168.1.100 port 22
Mar 11 14:55:30 localhost kernel: Out of memory: Kill process 4321 (apache2) score 500 or sacrifice child

Dans l'exemple ci-dessus, chaque ligne du contenu du journal contient généralement les colonnes suivantes :

  • Date et heure : enregistre l'heure précise à laquelle l'événement du journal s'est produit, dans le format du mois, du jour et de l'heure :minutes :secondes.
  • Nom d'hôte : identifie le nom d'hôte où se trouve l'événement de journal, généralement localhost.
  • Nom de l'application : Indique le nom de l'application qui génère les logs, comme cron, sshd, kernel, etc.
  • ID de processus : enregistrez l'ID de processus correspondant à l'application qui a généré le journal.
  • Contenu du journal : informations de journal spécifiques, telles que les tentatives de connexion échouées, la mémoire insuffisante, etc.

2. Fichier journal auth.log

Le fichier journal auth.log enregistre les informations d'authentification et d'autorisation du système et peut être utilisé pour suivre les connexions des utilisateurs et les modifications d'autorisation. Voici un exemple de contenu d'un fichier journal auth.log :

Mar 10 08:30:45 localhost sshd[1234]: Accepted publickey for user2 from 192.168.1.101 port 22
Mar 10 10:15:20 localhost sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bash
Mar 11 14:55:30 localhost su: pam_unix(su:session): session opened for user2 by user1(uid=0)

Dans le fichier journal auth.log, chaque ligne du contenu du journal contient généralement les colonnes suivantes :

  • Date et heure : enregistre l'heure spécifique à laquelle le journal l'événement s'est produit.
  • Nom d'hôte : identifie le nom d'hôte où se trouve l'événement de journal.
  • Nom de l'application : indique le nom de l'application qui génère les journaux, comme sshd, sudo, su, etc.
  • ID de processus : enregistrez l'ID de processus correspondant à l'application qui a généré le journal.
  • Contenu du journal : informations d'authentification et d'autorisation spécifiques, telles que la connexion par clé publique, l'utilisation de sudo pour changer d'utilisateur, etc.

3. Fichier journal du noyau

Le fichier journal du noyau enregistre les informations d'exécution du noyau Linux et peut être utilisé pour diagnostiquer les problèmes matériels et logiciels du système. De manière générale, le chemin du fichier journal du noyau est /var/log/kern.log. Voici un exemple de contenu d'un fichier journal du noyau :

Mar 10 08:30:45 localhost kernel: [ 123.456789] eth0: link up (1000Mbps/Full duplex)
Mar 10 10:15:20 localhost kernel: [ 234.567890] CPU0: Core temperature above threshold, cpu clock throttled (total events = 1)
Mar 11 14:55:30 localhost kernel: [ 345.678901] Out of memory: Kill process 4321 (apache2) score 500 or sacrifice child

Dans le fichier journal du noyau, chaque ligne du contenu du journal contient généralement les colonnes suivantes :

  • Date et heure : enregistre l'heure précise à laquelle l'événement du journal s'est produit.
  • Nom d'hôte : identifie le nom d'hôte où se trouve l'événement de journal.
  • Messages du noyau : informations spécifiques enregistrées par le noyau, telles que l'état de la carte réseau, les alarmes de température, la mémoire insuffisante, etc.

4. Exemple d'opération pratique

Ce qui suit est un exemple de code pour filtrer des journaux spécifiques dans auth.log via la commande grep :

grep "Accepted publickey" /var/log/auth.log

L'exemple ci-dessus affichera le contenu du journal contenant "Accepted publickey" dans auth.log, ce qui est pratique pour les utilisateurs. Affichez les informations de connexion à la clé publique spécifiques.

Grâce à l'introduction et à l'exemple de code de cet article, les lecteurs peuvent mieux comprendre la signification de chaque colonne du fichier journal Linux et comment traiter et filtrer les fichiers journaux via des outils de ligne de commande. Les administrateurs système peuvent utiliser ces informations pour surveiller l'état de fonctionnement du système, découvrir et résoudre les problèmes en temps opportun et garantir la stabilité et la sécurité du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn