La journalisation est un aspect essentiel de la gestion des serveurs Linux. Les messages de journal sont utiles pour l'analyse des causes profondes et pour éviter les occurrences d'erreurs potentielles à l'avenir. L'analyse et le débogage des erreurs de serveur est une compétence essentielle à la fois pour les ingénieurs informatiques et les administrateurs système.

Ce guide vous montrera comment configurer un serveur de journalisation à distance, également appelé hôte de journalisation, sous Linux. Un hôte de journaux vous permet d'agréger les journaux Linux locaux sur un serveur centralisé distant pour faciliter l'accès et l'analyse.

Pourquoi avoir un serveur de journalisation dédié ?

Le système d'exploitation Linux enregistre la plupart des activités sur votre serveur à des fins d'audit et de débogage à l'aide du démon syslog (protocole de journalisation du système). Alors vous vous demandez peut-être pourquoi ai-je besoin d'un serveur dédié pour mes logs? Voici quelques avantages d'avoir un serveur de journalisation dédié :

  • Meilleure sécurité car le serveur de journalisation distant n'a que quelques ports ouverts vers l'extérieur.
  • Amélioration des performances du serveur, car l'hôte de journalisation à distance n'exécute pas de nombreux services, à l'exception de ceux utilisés pour la journalisation.
  • Facilite l'archivage et la gestion des messages du journal.

Les messages de journal sont importants pour l'audit de vos serveurs et du référencement et font partie intégrante des procédures de maintenance préventive de votre infrastructure de serveur.

Étape 1: Installation de rsyslog sous Linux

Ce guide se concentre sur Ubuntu 20.04, mais le processus devrait être à peu près le même si vous utilisez d'autres distributions Linux grand public.

rsyslog est un service de journalisation à distance pour Linux et est préinstallé par défaut sur la plupart des distributions Linux modernes, par exemple, Ubuntu et d'autres systèmes basés sur Debian.

Le service rsyslog est un démon moderne et amélioré de syslog, qui vous permet uniquement de gérer les journaux localement. Avec le démon rsyslog, vous pouvez envoyer vos journaux locaux à un serveur Linux distant configuré.

Si vous n'avez pas installé rsyslog sur votre PC, vous pouvez facilement le faire en utilisant la commande suivante, sur les distributions basées sur Debian :

sudo apt installer rsyslog

Sur Red Hat Linux, vous pouvez l'installer en tapant :

miam installer rsyslog

Sur Fedora et ses dérivés, lancez :

dnf installer rsyslog

Pour installer rsyslog sur Arch Linux :

oui -S rsyslog

Pour vérifier l'état de rsyslog, exécutez la commande suivante :

état systemctl rsyslog

Sortir:

Étape 2: configuration du serveur hôte de journal

L'hôte du journal est le serveur configuré pour recevoir les messages du journal d'autres serveurs ou PC. La configuration de rsyslog réside dans le /etc/rsyslog.conf fichier.

Vous pouvez ouvrir le /etc/rsyslog.conf fichier utilisant n'importe quel éditeur de texte de votre choix. Dans ce guide, nous utiliserons Vim.

Vous aurez besoin de privilèges élevés pour apporter des modifications au fichier de configuration.

Avant de commencer à modifier le fichier de configuration, vous devez effectuer une sauvegarde ou une copie du fichier. Pour ce faire, exécutez la commande :

sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config

Ensuite, ouvrez le /etc/rsyslog.conf fichier à l'aide d'un éditeur de texte.

sudo vim /etc/rsyslog.conf 

Il existe deux protocoles que vous pouvez utiliser pour envoyer/recevoir des fichiers journaux avec rsyslog: TCP et UDP. Ce guide vous montre comment configurer les deux.

Vous n'avez pas besoin de configurer à la fois UDP et TCP pour que la journalisation à distance fonctionne. Choisissez seulement l'un des deux.

Si vous préférez utiliser UDP, recherchez et décommentez les lignes suivantes en supprimant le début Broyer (#) symbole précédant les lignes. Vous pouvez trouver ces lignes dans la section modules du fichier de configuration.

module (load="imudp")
entrée (type="imudp" port="514")

Si vous préférez utiliser TCP, décommentez les lignes suivantes en supprimant le début Broyer (#) symbole situé en début de ligne :

module (load="imtcp")
entrée (type="imtcp" port="514")

La figure suivante montre le fichier de configuration rsyslog configuré pour utiliser la communication UDP :

Ensuite, configurez l'emplacement où rsyslog stockera vos journaux. Pour une meilleure organisation, vous devez classer les journaux entrants selon leur origine. Définissez un modèle dans votre fichier de configuration rsyslog en ajoutant les lignes suivantes :

$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?remote-incoming-logs

Les lignes susmentionnées commandent rsyslog pour stocker les journaux dans le dossier /var/log/remote/hostname, où nom d'hôte est le nom du client distant qui envoie des messages de journal à l'hôte de journal.

Maintenant, enregistrez les modifications que vous avez apportées. Si vous utilisez Vim, voici comment enregistrer et quitter un fichier.

Enfin, redémarrez les services rsyslog pour que les modifications que vous avez apportées prennent effet.

sudo systemctl redémarrer rsyslog

Étape 3: configuration de votre pare-feu

Si votre pare-feu est activé, assurez-vous que le port que vous avez configuré ci-dessus est capable de communiquer avec le monde extérieur. Vous devrez modifier vos règles de pare-feu pour autoriser les journaux entrants.

Pour les distributions basées sur Debian, utilisez simplement l'outil UFW pour activer le protocole de transfert UDP ou TCP.

En rapport: Comment configurer le pare-feu dans Ubuntu à l'aide d'UFW

Si vous utilisez UDP, exécutez la commande suivante, où 514 est le numéro de port configuré :

sudo ufw 514/udp

Si vous utilisez TCP sur le port 514, exécutez simplement :

sudo ufw 514/tcp

Sur Fedora, vous pouvez utiliser pare-feu-cmd pour obtenir des résultats similaires.

pare-feu-cmd --zone=zone --add-port=514/udp

Pour Red Hat Linux, ouvrez le iptables fichier situé à /etc/sysconfig/iptables à l'aide de l'éditeur de texte de votre choix et ajoutez la règle suivante :

-A ENTRÉE -m état --état NOUVEAU -m udp -p udp --dport 514 -j ACCEPTER

Redémarrez le service iptables pour que les modifications prennent effet.

redémarrage du service iptables

Étape 4: Configuration du client de journalisation

Le client est la machine qui envoie ses journaux à un serveur hôte de journaux distant ou centralisé. Ouvrez le fichier de configuration rsyslog situé à /etc/rsyslog.conf:

sudo vim /etc/rsyslog.conf

Ajoutez la ligne suivante si vous utilisez UDP, où 192.168.12.123 est l'adresse IP du serveur distant, vous écrirez vos journaux sur :

*.* @192.168.12.123:514

Si vous utilisez TCP, ajoutez la ligne suivante à la place. Notez que la ligne a deux @ symboles.

*.* @@192.168.12.123:514

Enregistrez vos modifications et redémarrez le service rsyslog sur le client avec la commande :

sudo systemctl redémarrer rsyslog

Étape 5: Affichage des messages du journal sur le serveur

Vous pouvez utiliser SSH pour vous connecter à votre serveur distant et afficher les journaux envoyés depuis les serveurs clients. Dans ce cas, rsyslog est configuré pour stocker les journaux des clients dans le /var/log/remote répertoire du serveur distant.

cd /var/logs/distant

Ensuite, listez le contenu du répertoire en utilisant la commande ls:

ls -l

Comme vous pouvez le voir dans la sortie, le répertoire contient des messages de journal pour les serveurs distants nommés andiwa et rukuru. Leurs fichiers journaux sont nommés andiwa.log et rukuru.log respectivement.

Vous pouvez ensuite consulter les fichiers journaux à l'aide d'un éditeur de texte ou avec Outils de visualisation de fichiers Linux comme chat ou moins.

La journalisation à distance vous donne plus de contrôle

Ce guide a examiné comment configurer un serveur de journalisation à distance (hôte de journalisation) sous Linux.

Un hébergeur de journaux vous offre une meilleure organisation et un meilleur contrôle en matière de journalisation. Même dans les scénarios où un système est endommagé ou inaccessible, vous pouvez toujours afficher ses journaux à partir de l'hôte de journal et déterminer ce qui n'a pas fonctionné.

Premiers pas avec la journalisation système sous Linux

Lire la suite

PartagerTweeterPartagerE-mail

Rubriques connexes

  • Linux
  • L'administration du système
  • Commandes Linux

A propos de l'auteur

Mwiza Kumwenda (52 articles publiés)

Mwiza développe des logiciels de profession et écrit beaucoup sur Linux et la programmation frontale. Certains de ses intérêts incluent l'histoire, l'économie, la politique et l'architecture d'entreprise.

Plus de Mwiza Kumwenda

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner