RSYSLOG Monitoring · 5 min read · Oct 18, 2025
Surveillance centralisée du serveur RSYSLOG
Surveillance centralisée du serveur RSYSLOG
Ce tutoriel fournit des instructions étape par étape sur la façon d’installer le serveur RSYSLOG sur Debian 6 (Squeeze) et comment envoyer des données syslog à celui-ci depuis plusieurs serveurs clients. Nous montrerons également comment installer un serveur web Apache et un serveur de base de données MySQL pour rassembler les données syslog et comment installer LogAnalyzer pour parcourir facilement les données collectées avec un navigateur web.
J’utilise un modèle de virtualisation OpenVZ prêt à l’emploi pour cette configuration, mais cela devrait également fonctionner sur la plupart des systèmes d’exploitation basés sur Debian.
Je ne donne aucune garantie que cela fonctionnera pour vous !
Installation du serveur RSYSLOG
Cette première partie décrit comment construire le serveur RSYSLOG qui rassemblera les données syslog de ses clients. Dans cet exemple, notre serveur s’appelle rsyslog.domain.com et il a une adresse IP fixe de 192.168.0.15.
Tout d’abord, nous installons quelques dépendances.
apt-get updateapt-get upgradeapt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Créez le mot de passe du serveur MySQL lorsque l’installation vous demande de le saisir !
Mon modèle OpenVZ avait déjà cela, donc cette commande peut ne pas être nécessaire pour vous non plus…
apt-get install linux-kernel-headers** Assurez-vous que les services sont en cours d’exécution…
/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart
Vérifiez que le serveur écoute sur les ports TCP IP appropriés. (80 & 3306). RSYSLOG n’écoute pas encore sur aucun port à ce moment.
rsyslog:~# netstat -tapnConnexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale
Adresse étrangère
État PID/Nom du programme
tcp
0 0
127.0.0.1:3306
0.0.0.0:
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:
LISTEN 581/apache2
Ensuite, nous pouvons créer la base de données rsyslog :
mysqladmin -u root -p create rsyslogEnsuite, nous démarrons le shell de commande MySQL et créons l’utilisateur rsyslog :
mysql -u root -pGRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO ‘rsyslog’@’localhost’ IDENTIFIED BY ‘ENTREZ-VOTRE-NOUVEAU-MOT-DE-PASSE-RSYSLOG-ICI’;
FLUSH PRIVILEGES;quitEnsuite, nous configurons le serveur rsyslog pour écouter sur le port TCP 514 :
vi /etc/rsyslog.confAjoutez ces lignes… (n’oubliez pas de changer votre mot de passe par celui que vous avez saisi lors de la création de l’utilisateur rsyslog de votre serveur MySQL.)
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,ENTREZ-VOTRE-NOUVEAU-MOT-DE-PASSE-RSYSLOG-ICI…et supprimez les commentaires devant les lignes qui traitent de la réception syslog TCP.
# /etc/rsyslog.conf Configuration file for rsyslog v3.
#
# Pour plus d'informations, voir
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,ENTREZ-VOTRE-NOUVEAU-MOT-DE-PASSE-RSYSLOG-ICI
#################
#### MODULES ####
#################
$ModLoad imuxsock # fournit un support pour la journalisation système locale
$ModLoad imklog # fournit un support de journalisation du noyau (précédemment fait par rklogd)
#$ModLoad immark # fournit la capacité de message --MARK--
# fournit la réception syslog UDP
#$ModLoad imudp
#$UDPServerRun 514
# fournit la réception syslog TCP
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### DIRECTIVES GLOBALES ####
###########################Et redémarrez le service rsyslog.
/etc/init.d/rsyslog restartVérifiez que le serveur écoute sur les ports TCP IP appropriés. (80, 514 & 3306.)
rsyslog:~# netstat -tapnConnexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale
Adresse étrangère
État PID/Nom du programme
tcp
0 0
0.0.0.0:514
0.0.0.0:
LISTEN 618/rsyslogd
tcp
0 0
127.0.0.1:3306
0.0.0.0:
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:*
LISTEN 581/apache2
Ensuite, nous téléchargeons LogAnalyzer et configurons le serveur web Apache pour afficher les journaux.
cd /tmpwget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz
tar xvzf loganalyzer-3.4.1.tar.gzmv loganalyzer-3.4.1/ /var/www/cd /var/wwwEnsuite, nous configurons les droits d’utilisateur des dossiers www pour le serveur web Apache.
chown www-data:www-data * . -RfEt ensuite, nous faisons un peu de travail de “make nice” sur les dossiers LogAnalyzer.
mv loganalyzer-3.4.1/ loganalyzercd contrib/cp * ./../src/cd ./../src/sh ./configure.shEt nous sommes prêts à entrer dans la configuration finale de LogAnalyzer en utilisant notre navigateur web. Dirigez votre navigateur web vers l’adresse IP fixe de notre serveur rsyslog qui, dans cette démo, est http://192.168.0.15/loganalyzer/src/install.php
Parcourez le script de configuration simple (c’est à peu près… suivant -> suivant.)
Maintenant, vous devriez avoir un serveur rsyslog fonctionnel avec LogAnalyzer opérationnel.
Ensuite, nous configurons les clients RSYSLOG pour envoyer leurs données syslog au serveur rsyslog :
Configuration des clients RSYSLOG
En général, tout ce que nous avons besoin de faire est de configurer le fichier rsyslog.conf et de redémarrer le service. (Presque tous les Debian sont livrés avec rsyslog préinstallé.)
vi /etc/rsyslog.confAjoutez les lignes du répertoire de travail spool qui sont utilisées en cas de perte de connectivité réseau et changez l’ADRESSE IP de votre serveur rsyslog en 192.168.0.15. (Vous voudrez peut-être également créer le répertoire /rsyslog/work avec la commande mkdir.)
# fournit la réception syslog TCP
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # emplacement par défaut pour les fichiers de travail (spool)
$ActionQueueType LinkedList # utiliser le traitement asynchrone
$ActionQueueFileName srvrfwd # définir le nom de fichier, active également le mode disque
$ActionResumeRetryCount -1 # tentatives infinies en cas d'échec d'insertion
$ActionQueueSaveOnShutdown on # sauvegarder les données en mémoire si rsyslog s'arrête
*.* @@YOUR-RSYSLOG-SERVER-ADDRESS-HERE
###########################
#### DIRECTIVES GLOBALES ####
###########################Et redémarrez le service rsyslog.
/etc/init.d/rsyslog restartVérifiez que le serveur est connecté sur le port TCP IP approprié (514).
root@ic1:~# netstat -tapnConnexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale
Adresse étrangère
État PID/Nom du programme
tcp
0 0
192.168.0.100:49188
192.168.0.15:514
ESTABLISHED 13289/rsyslogd
C’est à quoi ressemble une configuration réussie.

| | Sami Mattila Internet-Content.europa SM OY
Téléphone : +358.9.42833310
Mobile : +358.400.749692
Email : [email protected]
Boutique : https://shop.internet-content.net
Site : http://www.internet-content.net
Blog : http://www.internet-content.net/en/blog |
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.