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:

mysqladmin -u root password ‘<votre password>’;
– Donnez les privilèges au user mysql rsyslog:

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!!!!