Tutoriel | Consolidation des logs avec Rsylog, Mysql et Loganalyzer
Article publié le 23 Septembre 2013
Le tutoriel ci-dessous vous propose une solution permettant de centraliser et de consolider vos logs.
Grâce à ce petit tuto vous pourrez stocker tout les logs de vos serveurs dans une seule base MySQL. Cette solution ne pourra que vous faciliter la vie!
1) Configuration du serveur de logs
- Dans un premier temps installez Rsyslog:
yum install rsyslog rsyslog-mysql
Rsyslog est le daemon de journalisation par défaut de Debian 7 donc inutile de tenter de l'installer par contre n'oubliez pas d'installer rsyslog-mysql : apt-get install rsyslog-mysql / yum install
Afin que Rsyslog fonctionne sous Red-Hat/Centos n'oubliez pas de stopper syslog-ng et de démarrer rsyslog:
service syslog stop && service rsylog start
Puis de désactiver le lancement automatique de syslog au démarrage de la machine et d'activer celui de rsyslog:
chkconfig syslog off
chkconfig rsylog on
- Installez Mysql-server et démarrez le:
yum install mysql-server (sous Red-Hat/CentOS) ou apt-get install mysql-server (sous Debian/Ubuntu)
/etc/init.d/mysql-server start
- Démarrer Mysql
/etc/init.d/mysqld start
- Création de la base:
Sous debian la création de la base donnée se fait automatiquement grâce à l'outil DB-config. Renseignez juste le mot de passe mysql du user user de MySQL
Pour les utilisateurs de Red-Hat/Centos, vous devez exécuter un script de création de base:
cd /usr/share/doc/rsyslog-mysql-<version>
mysql -u root -p[votre mot de passe] < createDB.sql
(Rien ne vous empêche de modifier le script afin de modifier le nom de la base de donnée!)
- Checker que votre base ait bien été créée:
mysql -u root -p
Je vous conseille d'initialiser un mot de passe pour l'utilisateur root de votre base mysql:
La partie flouté correspond au mot de passe que vous voulez attribuer au user Syslog
- Editez le fichier /etc/rsyslog.conf
Décommentez ces lignes:
$ModLoad ommysql
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
Ajoutez ces lignes qui correspondent aux paramètres de connexions de la base de donnée ainsi qu'à la restriction de connexion par sous réseau (pour plus de sécurité):
*.* 😮 mmysql:127.00.1,<nom de la base>,<login>,<mot de passe>
le 😮 sans les guillemets
$AllowedSender UDP, 127.0.0.1, 192.168.1.0/24 #liste des sous réseaux autorisés à se connecter
$AllowedSender TCP, 127.0.0.1, 192.168.1.0/24 #liste des sous réseaux autorisés à se connecter
Redémarrez rsyslog en vous assurant qu'aucun autre daemon de journalisation est en cours d’exécution:
service rsyslog restart
2) Parti client
Ajoutez juste la ligne suivante à la fin du fichier /etc/rsyslog.conf
*.* @<ip du serveur>:514
Si vous voulez que rsyslog gère d'autre log (par exemple apache, mysql etc...)
Ajoutez cette ligne
$InputFileName <chemin du log a géré>
3) Installation de logAnalyzer
- Installez apache et PHP5
yum install httpd php php-mysql (sous Centos/RedHat) ou apt-get install apache php php-mysql (sous debian)
- Telechargez le package d'installation:
http://loganalyzer.adiscon.com/downloads
- Decompressez l'archive
tar -xvf <package>
- Copier les sources vers votre répertoire apache:
mkdir /var/www/loganalyzer/ (pour debian)
mkdir /var/www/loganalyser/ (pour Centos/Debian
cp <repertoire de loganalyser>/src/*<repertoire apache>
cp <repertoire de loganalyser>/contrib/* <repertoire apache>
- Exécutez le script configure.sh (sans oublier de le rendre executable via la commande chmod 700 configure.sh)
./configure.sh
- Connectez vous via votre navigateur à l'interface web de loganalyser (URL: <ip ou dns de la machine>/loganalyser):
Cliquez sur "here"
Cliquez sur next
Cliquez sur next
Cliquez sur "yes" à "enable user database" et remplissez les informations de connexion de votre base de donnée rsyslog. Cliquez sur "yes" à "require user to be logged in".
Cliquez sur next
Cliquez sur next
Créez le user avec lequel vous vous connecterez sur la gui de loganalyser puis cliquez sur next
Sélectionnez "MYSQL Native" via le menu déroulant de "Source Type" puis renseignez les informations de connexions de la base de donnée de rsyslog et cochez yes à "enable row counting" puis cliquez sur next.
Cliquez sur finish.
Maintenant il ne vous reste plus qu'à vous connecter à loganalyser depuis votre navigateur et enjoy!!!!
Tu écris : Rsyslog est le daemon de journalisation par défaut de Debian 7 donc inutile de tenter de l’installer.
Je comprend que tu voulais dire « Rsyslogd ».
Mon tutoriel pour installer Rsyslog : https://www.visionduweb.eu/wiki/index.php?title=Gestion_des_logs#Installer_Rsyslog