GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment exporter les journaux de vos serveurs avec Rsyslog dans Centos 8

Dans cet article, vous apprendrez à exporter les journaux de vos serveurs avec Rsyslog dans Centos 8

Dans cet article, nous allons parcourir la configuration d'un démon CentOS/RHEL 8 Rsyslog pour envoyer des messages de journal à un serveur Rsyslog distant. Cette configuration garantit que l'espace disque de votre machine est disponible à d'autres fins.

Dans CentOS 8, le démon Rsyslog est déjà installé et fonctionne par défaut. Exécutez les commandes suivantes pour voir si le service rsyslog est actif sur le système.

# grep rsyslog | rpm –q 
# rsyslogd –v 

Si le package Rsyslog n'est pas installé sur votre système CentOS, exécutez la commande ci-dessous pour l'installer.

# yum install rsyslog

Exportez les journaux de vos serveurs avec Rsyslog

Modifiez le fichier de configuration rsyslog comme suit pour forcer le démon Rsyslog installé sur un système CentOS 8 à fonctionner comme un client de journalisation et à envoyer tous les messages de journal générés localement à un serveur Rsyslog distant :

Pour commencer à modifier, ouvrez le fichier de configuration principal :

# vim /etc/rsyslog.conf

Ensuite, comme indiqué dans l'extrait ci-dessous, ajoutez la ligne suivante à la fin du fichier.

# *. *  @192.168.1.59:514

Assurez-vous que l'adresse IP et le nom de domaine complet du serveur rsyslog distant sont correctement remplacés dans la ligne ci-dessus. La ligne précédente indique au démon Rsyslog d'envoyer tous les messages de journal à l'IP 192.168.1.59 via le port 514/UDP, quelle que soit la facilité ou la gravité.

Ajoutez un autre caractère @ devant l'hôte distant si le serveur de journalisation distant est configuré pour n'accepter que les connexions TCP ou si vous souhaitez utiliser un protocole de réseau de transport fiable comme TCP, comme illustré dans l'exemple ci-dessous :

# *. *  @@logs.domain.lan:514

Des caractères spéciaux, tels que =ou !, peuvent être préfixés aux niveaux de priorité dans Linux rsyslog pour signaler "cette priorité uniquement" pour le signe égal et "pas cette priorité ou supérieure à celle-ci" pour !

Voici quelques exemples de qualificateurs de niveau de priorité Rsyslog :

kern.info =Journaux du noyau avec une priorité d'information ou supérieure.
kern.=info =Seuls les messages du noyau avec la priorité des informations sont autorisés.
kern.info;kern.!err =Seuls les messages du noyau avec les priorités info, notice et warning sont autorisés.
kern.debug;kern.!=avertissement =Sauf avertissement, toutes les priorités du noyau sont égales.
kern.* =Tous les messages avec une priorité dans le noyau
kern.none =Quelle que soit la priorité, n'enregistrez aucun message d'installation du noyau associé.

Par exemple, si vous souhaitez simplement envoyer un sous-ensemble de messages d'installation à un serveur de journalisation distant, comme tous les messages électroniques associés, quelle que soit leur priorité, ajoutez la ligne suivante au fichier de configuration rsyslog :

# mail.* @192.168.1.59:514

Enfin, pour que les paramètres mis à jour prennent effet, le service Rsyslog doit être redémarré avec la commande suivante :

# systemctl restart rsyslog.service

Si le démon Rsyslog n'est pas activé pendant le démarrage pour une raison quelconque, exécutez la commande suivante pour activer le service à l'échelle du système :

# systemctl enable rsyslog.service

Envoyer les journaux du serveur Web à un serveur de journaux distant

En ajoutant la ligne suivante au fichier de configuration principal d'Apache, comme indiqué ci-dessous, le serveur HTTP peut être configuré pour transmettre des messages de journal à un serveur syslog distant.

# vim /etc/httpd/conf/httpd.conf

Dans le fichier de configuration principal d'Apache, ajoutez la ligne ci-dessous.

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

La ligne indique au démon HTTP d'écrire des messages de journalisation dans le fichier journal du système de fichiers, mais elle lui indique également de les envoyer à un serveur syslog distant en les désignant comme provenant de l'installation local1.

Si vous souhaitez également envoyer les messages du journal des erreurs Apache à un serveur syslog distant, créez une nouvelle règle similaire à celle indiquée ci-dessus, mais modifiez le nom du fichier journal httpd et le niveau de gravité du fichier journal pour qu'ils correspondent à la priorité de l'erreur. , comme illustré dans l'exemple suivant :

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

Après avoir modifié les lignes ci-dessus, vous devrez redémarrer le démon Apache pour que les modifications prennent effet :

# systemctl restart httpd.service

En ajoutant les lignes de code suivantes à un fichier de configuration nginx, le serveur Web Nginx dispose d'une capacité intégrée pour enregistrer directement ses messages sur un serveur syslog distant à partir de la version 1.7.1.

error_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=info main;/code>

Pour recevoir les journaux envoyés par le serveur Web Apache, apportez les modifications suivantes au fichier de configuration rsyslog sur le serveur Rsyslog distant.

local1.* @Apache_IP_address:514

Cela conclut notre discussion. Vous avez configuré avec succès le démon Rsyslog pour qu'il s'exécute en mode client, ainsi que dirigé Apache ou Nginx pour acheminer les messages de journal vers un serveur syslog distant.

Si votre système tombe en panne, vous devriez être en mesure de déterminer ce qui ne va pas en consultant le contenu des fichiers journaux enregistrés sur le serveur syslog distant.

Vous savez maintenant comment exporter les journaux de vos serveurs à l'aide de Rsyslog.

Consultez notre page d'accueil pour plus de guides


Cent OS
  1. Comment configurer des serveurs de journalisation distants avec rsyslog ?

  2. Comment installer lnav sur CentOS 7

  3. Comment changer le répertoire de journal par défaut (/var/log) dans Rsyslog pour CentOS/RHEL 6,7

  4. Rsyslog :Comment envoyer des fichiers journaux au serveur distant dans CentOS/RHEL 6,7

  5. Comment envoyer des journaux d'audit au serveur Rsyslog distant dans CentOS/RHEL 6,7

Comment configurer le serveur Rsyslog dans CentOS 8 / RHEL 8

Comment surveiller vos serveurs Linux avec Checkmk

Comment se déconnecter de CentOS 8

Comment installer Log.io sur CentOS 7

Comment vérifier le journal des erreurs de votre site Web dans cPanel ?

Comment surveiller vos serveurs Linux avec Checkmk