GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer le serveur Rsyslog sur Debian 11 (Bullseye)

Les fichiers journaux sont cruciaux pour détecter et résoudre les erreurs. Ce sont les premiers fichiers que les administrateurs système examinent afin de déterminer la cause probable d'une erreur et, ce faisant, de proposer des solutions pour résoudre le problème. Dans une infrastructure avec des dizaines ou des centaines de serveurs et d'autres appareils, la gestion des fichiers journaux peut être un défi. Et c'est là qu'intervient rsyslog.

Rsyslog est un programme de journalisation open source qui facilite le transfert des fichiers journaux vers un serveur de journalisation centralisé dans un réseau IP. Grâce à la journalisation centralisée, les administrateurs peuvent facilement garder un œil sur les fichiers journaux de plusieurs systèmes à partir d'un point central. Dans cet article, nous vous expliquerons l'installation et la configuration de Rsyslog Server sur Debian 11.

Configuration du laboratoire

Pour démontrer comment Rsyslog peut être utilisé pour envoyer des fichiers journaux d'un système client au serveur Rsyslog, nous allons avoir une configuration Lab simple comme indiqué

  • Serveur Rsyslog :    Debian 11               IP :192.168.1.151
  • Client Rsyslog :       IP Ubuntu 20.04      :10.20.0.170

Étape 1) Configurer Rsyslog sur le serveur

Comme mentionné précédemment, Rsyslog fonctionne dans un modèle client-serveur et nous commencerons par configurer Rsyslog sur le serveur Debian 11. Sur Debian 11, Rsyslog est installé par défaut. Si pour une raison quelconque Rsyslog n'est pas présent, vous pouvez l'installer en utilisant la commande :

$ sudo apt install -y rsyslog

Lors de l'installation, vous pouvez vérifier son état de fonctionnement comme suit :

$ sudo systemctl status rsyslog

Ensuite, nous allons configurer rsyslog pour qu'il s'exécute en mode serveur. Le fichier de configuration est le fichier /etc/rsyslog.conf. Modifiez-le donc à l'aide de votre éditeur de texte préféré.

$ sudo vi /etc/rsyslog.conf

Continuez et décommentez les lignes suivantes qui permettent la réception de syslog UDP et TCP à partir de clients distants.

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")

Ensuite, collez les lignes suivantes pour définir le modèle que le démon Rsyslog utilisera pour stocker les journaux entrants des systèmes clients.

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

Les fichiers journaux utiliseront la convention de dénomination suivante :

  • /%HOSTNAME%/ – Il s'agit du nom d'hôte du système client.
  • /%PROGRAMNAME%/ – Ceci identifie le programme client qui a créé le fichier journal.

Pour appliquer les modifications, redémarrez le démon rsyslog.

$ sudo systemctl restart rsyslog

Par défaut, rsyslog écoute le port 514. Vous pouvez confirmer qu'il s'agit du port sur lequel le démon rsyslog écoute en exécutant la commande ss.

$ sudo ss -tunlp | grep 514

Étape 2) Configurer les règles de pare-feu pour rsyslog

Le démon Rsyslog s'exécute sur le serveur comme prévu. Si vous utilisez un pare-feu UFW, assurez-vous d'autoriser le port 514 afin d'autoriser les messages de journal entrants entrants.

$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp

Rechargez ensuite le pare-feu pour appliquer la règle de pare-feu comme suit.

$ sudo ufw reload

La prochaine étape consistera à configurer le système client Ubuntu pour envoyer les fichiers journaux au serveur rsyslog.

Étape 3) Configurer le système client rsyslog

La dernière étape consiste à configurer le système client pour envoyer les fichiers journaux au serveur rsyslog. Connectez-vous au client et encore une fois, assurez-vous que le démon rsyslog est installé et en cours d'exécution.

Ensuite, modifiez le fichier de configuration rsyslog.

$ sudo vi /etc/rsyslog.conf

Accédez à la toute fin du fichier et ajoutez ces lignes.

#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-ip-address:514

#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-ip-address:514

Ces lignes indiquent au client d'envoyer les fichiers journaux via les protocoles UDP et TCP au serveur rsyslog. Notez que la première ligne comporte un seul symbole @ qui signifie UDP et que la deuxième ligne comporte deux symboles @@ pour signifier le protocole TCP.

Si le serveur distant subit un temps d'arrêt et que vous souhaitez conserver vos journaux, vous pouvez définir le tampon de file d'attente du disque en ajoutant les lignes affichées.

##Définir la file d'attente du disque lorsque le serveur rsyslog sera en panne :

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

Vous trouverez ci-dessous un récapitulatif de toutes les modifications apportées à la configuration du client.

Enregistrez et quittez le fichier. Redémarrez maintenant le service rsyslog pour que les modifications prennent effet.

$ sudo systemctl restart rsyslog

À ce stade, le système client doit envoyer les fichiers journaux au serveur rsyslog. Retournons au serveur et découvrons.

Étape 4) Afficher les fichiers journaux du client

Tous les fichiers journaux (y compris les serveurs) sont stockés dans le répertoire /var/log/. Pour afficher les journaux du client, exécutez la commande suivante :

$ ls /var/log/

Les fichiers journaux du client seront enregistrés dans un répertoire qui correspond au nom d'hôte du système client, comme illustré ci-dessous.

Vous pouvez également afficher les fichiers journaux contenus dans le répertoire principal des journaux.

$ sudo ls -l /var/log/ubuntu-20-04/

Pour afficher les journaux en temps réel, utilisez la commande tail comme indiqué. Ici, nous consultons les journaux de l'utilisateur sudo.

$ sudo tail -f /var/log/ubuntu-20-04/sudo.log

Nous avons installé avec succès rsyslog et l'avons configuré pour permettre l'envoi de fichiers journaux au serveur rsyslog à partir du système client. Vous pouvez désormais configurer autant de systèmes clients que vous le souhaitez pour envoyer des journaux au serveur rsyslog afin d'obtenir une structure de gestion centralisée des journaux.

C'est tout de ce post, j'espère que vous l'avez trouvé informatif. Veuillez partager vos questions et vos commentaires dans la section des commentaires ci-dessous.

Lire aussi  :Comment faire pivoter et compresser les fichiers journaux sous Linux avec Logrotate


Debian
  1. Comment configurer vsftpd sur Debian

  2. Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

  3. Comment configurer le serveur Rsyslog sur Debian 11

  4. Configurer Rsyslog Server sur Ubuntu 20.04 - Comment faire ?

  5. Configurer Rsyslog Server sur Debian 10 / Debian 11 (Bullseye) - Guide étape par étape ?

Comment installer le serveur MySQL 8.0 sur Debian 11 Bullseye

Comment installer le serveur et le client Telnet sur Debian 11 Bullseye Linux

Comment installer Discourse sur le serveur Debian 11 Bullseye

Comment configurer le serveur OpenLDAP sur Debian 10

Comment mettre à niveau Debian 10 vers Debian 11 Bullseye

Procédure :configuration initiale du serveur Debian 8.2