A lire aussi:

Un livre sur Xen ?

Banner
Installation d'un serveur Syslog cental. PDF Print E-mail
User Rating: / 6
PoorBest 
Written by Renaud DEVERS   
Friday, 11 August 2006 23:31
Article Index
Installation d'un serveur Syslog cental.
Configuration du serveur
Configuration du client
Utilisation
Annexe
All Pages
syslog-ng_200.gif




Dans cet article, vous allez suivre l'installation d'un serveur Syslog. Le but est de centraliser les log de nos serveurs Metaframe /Xenapp au sein d'une base de données. Un portail en PHP va nous permettre d'y faire des recherches, par date, par type, par machine... Bien entendu, cela ne s'arrête pas aux serveurs Citrix, il est possible d'y centraliser aussi les log des serveurs Windows, Unix, Linux et des équipements réseaux comme les routeurs switch et autre firewall.

Qu'est-ce que Syslog-NG

Syslog-ng est un gestionnaire de journaux système de nouvelle génération (NG pour new generation), il permet de centraliser les logs des machines. Gratuit et fonctionnant sur de nombreux systèmes tels que Linux, FreeBSD, HP-UX, Solaris ou bien encore AIX, Syslog-Ng remplace efficacement le daemon de base syslogd. De plus il est gratuit et très stable. Il permet ainsi de pallier à ses nombreux manques : *Une portabilité reconnue.

  • Configuration de base très avancée.
  • Possibilité de “chrooter” son environnement.
  • Export des logs reçus vers un serveur Mysql.
  • Utilisation de macros possible pour le nom des logs.
  • Possibilité de chiffrer les logs envoyés via la technologie SSL.
  • Utilisation des protocoles UDP et TCP lors du transports des logs.
  • Possibilité de trier les logs suivant les contenus, leur provenance ou bien encore leur facilité, et ce en pouvant utiliser les expressions régulières

pourquoi l'utiliser?

Nous allons l'utiliser pour exporter les alertes des serveurs Windows, les logs des Firewalls et routeurs, dans une base Mysql. Cette base sera consultable sur l'intranet au travers d'un site Web en PHP. Cela va nous permettre:

  • Consultation offline des événements d'un serveur, éteint ou planté.
  • Plus besoin de se connecter à une machine pour voir ses logs.
  • Réduire la taille des fichiers de logs sur les serveurs.
  • Effectuer une recherche d'évènement sur plusieurs machines.
  • Recycler un vieux serveur qui traîne en sale machine.
  • Épurer les logs en ne stockant que les alertes importantes.

Installation

Pré requis

Pour la suite de l'installation nous allons avoir besoin d'un système valide de type Linux. La suite de cette procédure utilise Debian. La Debian doit être installé avec le minimum de composant, pas de X. Si vous voulez un bureau et une souris, passez sous Windows et achetez MOM. Bref, les seuls composants à ajouter sont wget, ftp, nano et bien sur ssh. Je rappel que l'utilisation de wget avec un proxy s'effectue en éditant son fichier de configuration, comme suit.

/etc/xgetrc

http_proxy = http://xxx.xxx.xxx.xxx:8080/
ftp_proxy = http://xxxx.xxxx.xxxx.xxxx:8080/
use_proxy = on

syslog-ng

http://www.balabit.com/products/syslog_ng/

frsyslog01:/# apt-get install syslog-ng

Cette commande va installer le logiciel, ses dépendances (entre autres libol), son script de démarrage ainsi que sa configuration. Vous devrez cependant modifier légèrement cette installation. En effet, vous devez ajouter dans le script de démarrage le lancement du script de synchronisation Mysql que nous verrons par la suite. Bien sûr vous devez penser à mettre ce script de synchronisation syslog_mysql.sh, que nous présenterons plus tardivement, dans le répertoire scripts à la racine.

apache2

http://httpd.apache.org/

frsyslog01:/# apt-get install apache2 libapache2-mod-php4

Mysql

http://www.mysql.org/

frsyslog01:/# apt-get install mysql-server-5.0 \
mysql-client-5.0 libdbd-mysql-perl libmysqlclient15off

PHP

http://www.php.net/

frsyslog01:/# apt-get install php4-common  php4-cgi php4-mysql

phpmyadmin

http://www.phpmyadmin.net/

frsyslog01:/# apt-get install  phpmyadmin

FIXME

phpsyslogng

http://www.vermeer.org/

http://sourceforge.net/projects/php-syslog-ng/

phpsyslogng est le site Web qui va nous permettre de rechercher et filtrer les quelques milliers d'événements que nous stockons. Il n'existe pas, pour le moment de package Debian, de plus les liens de téléchargement du site sont obsolètes. Vous devez donc utiliser le lien ci-dessus vers SourceForge pour avoir la dernière version. Copier l'URL du tar.gz de sourceforge, downloder le tar.gz a la racine d'Apache et décompacter le tout.

frsyslog01:/# cd /var/www/
frsyslog01:/var/www# wget http://(...).tar.gz
frsyslog01:/var/www# tar -xvf php-syslog-ng-2.9.1r10.tar.gz

Suivant les versions, le dossier issue du tar.gz peut (doit ?) changer de nom. Pour pouvoir gérer plusieurs version de phpsyslogng, nous allons le renommer en phpsyslogng-xxx, ou xxx est sa version. Puis pour éviter de refaire la configuration d'apache à chaque mise a jour, nous allons créer un lien symbolique vers cette version. Nous allons aussi en profiter pour attribuer les fichiers à Mr Root, pour éviter toutes modifications ou suppressions fortuite.

frsyslog01:/var/www# mv html phpsyslogng-2.9.1r10
frsyslog01:/var/www#ln -s /var/www/phpsyslogng-2.9.1r10/ sysloq
frsyslog01:/var/www#chown root:root -R syslog

Backup2l

http://backup2l.sourceforge.net/

# apt-get install backup2l

Backup2l va nous permettre de sauvegarder notre configuration ainsi que la base Mysql. Il sera appelé quotidiennement par « Cron ». Il exporte les bases Mysql, sauvegarde, compact et envoie le tout sur un serveur de fichier en FTP. Le quel effectue une sauvegarde sur bande par exemple. Nous pourrions utiliser un logiciel de sauvegarde plus complet (gestion des bandes…) comme Fexbackup ou Backuppc, mais le but est d'intégrer le serveur Syslog dans votre architecture. Il ne faut pas négliger ce chapitre, notre serveur syslog-ng va générer un grand nombre de cycle de lecture et d'écriture sur les disques et la durée de vie de ces derniers risque d'être grandement amoindrie.



Last Updated on Wednesday, 06 August 2008 19:25