Linux Logging Basics (Français)

Les journaux du système d’exploitation fournissent une mine d’informations de diagnostic sur votre ordinateur, et Linux ne fait pas exception. Tout, des événements du noyau aux actions de l’utilisateur, est enregistré par Linux, ce qui vous permet de voir presque toutes les actions effectuées sur vos serveurs. Dans cette section, nous expliquerons ce que sont les journaux Linux, où vous pouvez les trouver et comment les interpréter.

journaux système Linux

Linux a un répertoire spécial pour stocker les journaux appelé/var/log., Ce répertoire contient les journaux du système d’exploitation lui-même, des services et de diverses applications s’exécutant sur le système. Voici à quoi ressemble ce répertoire sur un système Ubuntu typique.

Quelques-uns du plus important système Linux journaux suivants:

  • /var/log/syslog et /var/log/messages magasin tout système mondial de données sur l’activité, y compris les messages de démarrage. Les systèmes basés sur Debian comme Ubuntu stockent cela dans /var/log/syslog, tandis que les systèmes basés sur Red Hat comme RHEL ou CentOS utilisent /var/log/messages.,
  • /var/log/auth.log Et/var/log/secure stockent tous les événements liés à la sécurité tels que les connexions, les actions de l’utilisateur racine et la sortie des modules D’authentification enfichables (PAM). Ubuntu et Debian utilisent /var/log/auth.log, tandis que Red Hat et CentOS utilisent /var/log/secure.
  • /var/log/kern.log stocke les événements du noyau, les erreurs et les journaux d’avertissement, qui sont particulièrement utiles pour le dépannage des noyaux personnalisés.
  • /var/log/cron stocke des informations sur les tâches planifiées (tâches cron)., Utilisez ces données pour vérifier que vos tâches cron s’exécutent correctement.

Certaines applications aussi écrire des fichiers journaux dans ce répertoire. Par exemple, le serveur web Apache écrit des journaux dans le répertoire /var/log/apache2 (sous Debian), tandis que MySQL écrit des journaux dans le répertoire /var/log/mysql. Certaines applications se connectent également via syslog, ce que nous expliquerons dans la section suivante.
syslog

Qu’est-ce que Syslog?

Syslog est une norme pour la création et la transmission de journaux. Le mot « syslog » peut faire référence à l’un des éléments suivants.,

  1. Le service syslog, qui reçoit et traite les messages syslog. Il écoute les événements en créant un socket situé à /dev/log, dans lequel les applications peuvent écrire. Il peut écrire des messages dans un fichier local ou transférer des messages vers un serveur distant. Il existe différentes implémentations syslog, y compris rsyslogd et syslog-ng.
  2. Le protocole syslog (RFC 5424), qui est un protocole de transport qui spécifie comment transmettre des logs sur un réseau. Il s’agit également d’un format de données définissant la structure des messages., Par défaut, il utilise le port 514 pour les messages en texte brut et le port 6514 pour les messages chiffrés.
  3. Un message syslog, qui est un journal formaté dans le format des messages syslog. Un message syslog se compose d’un en-tête et d’un message normalisés contenant le contenu du journal.

étant donné que syslog peut transférer des messages vers des serveurs distants, il est souvent utilisé pour transférer les journaux système vers des solutions de gestion de journaux telles que SolarWinds® Loggly® et SolarWinds Papertrail™.

format et champs Syslog

Les messages Syslog contiennent un en-tête normalisé avec plusieurs champs., Ces inclure l’horodatage, le nom de l’application qui a généré l’événement, l’emplacement dans le système où le message d’origine, et sa priorité. Vous pouvez modifier ce format dans le fichier de configuration de votre implémentation syslog, mais l’utilisation du format standard facilite l’analyse, l’analyse et l’acheminement des événements syslog.

Voici un exemple de message de journal utilisant le format par défaut. C’est à partir du démon sshd, qui contrôle les connexions distantes au système., Ce message décrit une tentative de connexion ayant échoué:

Jun 4 22:14:15 server1 sshd : Failed password for root from 10.0.2.2 port 22 ssh2
<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% %msg%n

cela génère le journal suivant:

ci-dessous, vous trouverez des descriptions de certains des champs syslog les plus couramment utilisés lors de la recherche ou du dépannage de problèmes.

horodatage

le champ horodatage indique l’heure et la date à laquelle le message a été généré sur le système qui envoie le message. L’exemple d’horodatage se décompose comme ceci:

  • « 2019-06-05”est l’année, le mois et le jour.
  • « T”est un élément requis du champ horodatage, séparant la date et l’heure.,
  • « 22:14:15.003”est le format de 24 heures de l’époque, y compris le nombre de millisecondes (003).
  • « Z”indique L’heure UTC. Au lieu de z, l’exemple aurait pu inclure un décalage, tel que -08: 00, qui indique que l’heure est décalée de huit heures par rapport à UTC.

nom d’hôte

Le champ nom d’hôte (« serveur1” dans l’exemple ci-dessus) indique le nom de l’hôte ou d’un système qui a envoyé le message.

App-Name

L’application-nom de domaine (« sshd:auth” dans l’exemple) indique le nom de l’application qui a envoyé le message.,

Prioritaire

Le champ priorité ou pri court (« <34>” dans l’exemple ci-dessus) vous indique le degré d’urgence ou de la gravité de la manifestation. C’est une combinaison de deux champs numériques: l’installation et la gravité. La fonction spécifie le type de processus qui a créé l’événement, allant de 0 pour les messages du noyau à 23 pour les applications locales. La gravité varie de 0 à 7, 0 indiquant une urgence et 7 indiquant un événement de débogage.

Pri peut être produit de deux manières., Le premier est un nombre unique, prival, qui est calculé comme la valeur du champ d’installation multipliée par huit, puis le résultat est ajouté à la valeur du champ de gravité: (facilité)(8) + (gravité). Le second est pri-text, qui sortira dans le format de chaîne « facility.gravité”. Ce dernier format peut souvent être plus facile à lire et à rechercher, mais prend plus d’espace de stockage.

Journalisation avec Systemd

de Nombreuses distributions Linux sont livrées avec systemd, qui est un processus et le gestionnaire de services. Systemd implémente son propre service de journalisation appelé journald qui peut remplacer ou compléter syslog., Journald se connecte d’une manière significativement différente de systemd, c’est pourquoi il a sa propre section dans le guide ultime de la journalisation. Vous pouvez en savoir plus sur la journalisation via systemd dans la section journalisation Systemd.

Share

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *