Ce didacticiel décrit comment configurer un serveur Rsyslog centralisé sur CentOS 7 pour gérer les journaux de vos systèmes clients à partir d'un emplacement commun. Vous n'avez pas besoin de visiter les systèmes clients lorsque vous souhaitez vérifier les fichiers journaux de vos systèmes clients. Cela peut être utile si vous avez un grand nombre de systèmes sur votre réseau et que vous souhaitez effectuer la gestion des journaux à partir d'un serveur de journaux dédié centralisé.
Pour les besoins de ce guide, j'utiliserai deux systèmes, l'un agissant en tant que serveur rsyslog et l'autre en tant que client. Voici les détails de mes boîtes de test.
Serveur Rsyslog :
- SE : CentOS 7 édition minimale
- Adresse IP : 192.168.43.150/24
- Nom d'hôte : logserver.ostechnix.local
Système client :
- SE : CentOS 7 édition minimale
- Adresse IP : 192.168.43.151
Commençons par configurer le serveur Ryslog.
Configurer le serveur Rsyslog centralisé sur CentOS 7
Ce guide a été testé avec CentOS 7 édition serveur minimale. Cependant, cela devrait fonctionner sur toutes les distributions basées sur RPM comme RHEL, Fedora, Scientific Linux.
Toutes les commandes indiquées ci-dessous doivent être exécutées en tant que root utilisateur.
Installez le package rsyslog s'il n'est pas déjà installé.
# yum install rsyslog
Ensuite, modifiez le fichier de configuration rsyslog :
# vi /etc/rsyslog.conf
Recherchez et décommentez les éléments suivants pour que votre serveur écoute sur les ports udp et tcp.
[...] $ModLoad imudp $UDPServerRun 514 [...] $ModLoad imtcp $InputTCPServerRun 514 [...]
Appuyez sur ESC clé et tapez :wq pour enregistrer et fermer le fichier.
Autorisez le port 514 par défaut de Rsyslog sur votre pare-feu/routeur. Les commandes suivantes ouvriront ce port via firewalld.
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --permanent --add-port=514/tcp
Redémarrez le service pare-feu pour que les modifications prennent effet.
# firewall-cmd --reload
Enfin, activez et démarrez le service rsyslog :
# systemctl enable rsyslog
# systemctl start rsyslog
Vérifiez si le service resyslog est en cours d'exécution ou non avec la commande :
# systemctl status rsyslog
Si vous voyez une sortie quelque chose comme ci-dessous, félicitations ! Le serveur Rsyslog est opérationnel !
● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-03-23 16:30:11 IST; 17min ago Main PID: 2490 (rsyslogd) CGroup: /system.slice/rsyslog.service └─2490 /usr/sbin/rsyslogd -n Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Starting System Logging... Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Started System Logging ... Hint: Some lines were ellipsized, use -l to show in full
Vous pouvez vérifier les détails du journal du serveur lui-même à l'aide de la commande :
# tail -10 /var/log/messages
Cette commande affichera les dix dernières lignes de vos messages de journal.
Paramétrage client
Installez rsyslog en tant que racine utilisateur utilisant la commande :
# yum install rsyslog
Ensuite, modifiez le fichier de configuration rsyslog :
# vi /etc/rsyslog.conf
Sous ##RULES## section directive, ajoutez la ligne suivante :
*.* @192.168.43.150:514
Ou placez simplement cette ligne à la fin. Cela enregistrera tout et enverra les fichiers journaux à votre serveur Rsyslog.
Vous pouvez également enregistrer des éléments particuliers. Supposons, par exemple, de ne journaliser que cron stuffs, ajoutez la ligne suivante :
cron.* @192.168.43.150:514
Pour consigner tous les e-mails, ajoutez :
mail.* @192.168.43.150:514
Je veux tout enregistrer, j'ai donc ajouté la ligne suivante.
*.* @192.168.43.150:514
Vous pouvez également mentionner le FQDN de votre serveur Rsyslog au lieu de l'adresse IP.
Enregistrez et fermez le fichier de configuration rsyslog.
Enfin, activez et démarrez le service rsyslog :
# systemctl enable rsyslog
# systemctl start rsyslog
De même, vous pouvez configurer autant de clients que vous le souhaitez. pour surveiller les journaux.
Télécharger - Ebook gratuit :"L'administration avancée de GNU/Linux"Tester les messages du journal
Exécutez n'importe quoi sur votre système client.
Je vais ajouter manuellement une entrée au fichier journal du système à l'aide de logger commande.
# logger -i -t ostechnix "This is our first log test."
Maintenant, allez sur la machine du serveur Rsyslog et vérifiez si ce journal est trouvé.
# tail -l /var/log/messages
Maintenant, vous obtiendrez les journaux de vos systèmes clients à partir du serveur.
Mar 23 17:30:29 client rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2953" x-info="http://www.rsyslog.com"] start Mar 23 17:30:29 client systemd: Stopping System Logging Service... Mar 23 17:30:29 client systemd: Starting System Logging Service... Mar 23 17:30:29 client systemd: Started System Logging Service. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2520" x-info="http://www.rsyslog.com"] exiting on signal 15. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2542" x-info="http://www.rsyslog.com"] start Mar 23 17:30:34 logserver systemd: Stopping System Logging Service... Mar 23 17:30:34 logserver systemd: Starting System Logging Service... Mar 23 17:30:34 logserver systemd: Started System Logging Service. Mar 23 17:31:35 client ostechnix[2959]: This is our first log test.
Et. c'est tout. La configuration du serveur et du client Rsyslog est terminée. Comme vous pouvez le voir dans ce guide, la configuration d'un serveur Rsyslog de base est très simple . Bien qu'il s'agisse d'une configuration de serveur de journalisation très basique, cela a tout simplement fonctionné pour moi.
Suggestion de lecture :
- Comment gérer les fichiers journaux à l'aide de Logrotate sous Linux