SYSLOG - Centralisation des logs

De PedroWiki

Introduction

Le but de cet article est de décrire une méthode de centralisation des logs basée sur des outils open-source: syslog-ng et php-syslog-ng.

syslog-ng, serveur similaire à syslogd et/ou sysklogd, offre un service de loggage, avec en particulier la capacité de stocker les logs en base de donnée MySQL.

php-syslog-ng est une interface web en PHP permettant d'administrer la plateforme de logs centralisés (création d'utilisateurs...) et de consulter les logs stockés en base par syslog-ng.

Mise en oeuvre

Installation syslog-ng

Sur cible Ubuntu, installation du démon via aptitude:

# apt-cache search syslog
...
# apt-get install syslog-ng

Configuration syslog-ng

L'ensemble de la configuration de syslog-ng se fait via le fichier /etc/syslog-ng/syslog-ng.conf.

Se référer au Fichier de configuration de syslog-ng.

Installation php-syslog-ng

# cd /var/www
# mkdir psn;cd psn
# wget http://php-syslog-ng.gdd.net/current.tgz
# tar xvzf php-syslog-ng-2.9.8.tgz
# mv php-syslog-ng-2.9.8.tgz /root/WEB/
# cp scripts/apache.vhost /etc/apache2/sites-available/psn
  • Modifier les chemins et les URL dans le fichier de configuration du virtual host psn
# a2ensite psn
# /etc/init.d/apache2 reload
  • Accéder à l'URL choisie ci dessus (http://psn.insa-rennes.fr/install/ pour notre exemple) via un navigateur.
  • Passer le pre installation test, au besoin ajouter des librairies PHP.
  • Accepter la licence.
  • Etape 1: bien noter les mots de passe choisis pour sysloguser et syslogadmin. Décocher les cases pour l'installation de données de test et de CEMDB.
  • Etape 2: choisir le nom du site.
  • Etape 3: renseigner l'url, le chemin, renseigner et bien noter le mot de passe d'admin de l'outil.
  • Etape 4: ne rien faire, fermer l'onglet ou le navigateur.
  • On peut dès lors accéder à notre système de visionnage de logs via http://psn.insa-rennes.fr
# rm -rf html/install/
# cd scripts
# perl -i -pe 's/\/www\/php-syslog-ng/\/var\/www\/psn/g' *
  • Reste à modifier la crontab et à renseigner le fichier de configuration de PHP-Syslog-NG, cf ci dessous.

Configuration

Se référer au Fichier de configuration de PHP-Syslog-NG.

De plus des ajouts sont nécessaire à la crontab:

@daily php /var/www/psn/scripts/logrotate.php >> /var/log/psnlogrotate.log
@daily find /var/www/psn/html/jpcache/ -atime 1 -exec rm -f '{}' ';'

*/5 * * * * php /var/www/psn/scripts/reloadcache.php >> /var/log/apache2/psnreloadcache.log
*/5 * * * * php /var/www/psn/scripts/SqueezeDB-v2.0.php >> /var/log/apache2/psnsqueezedb.log


Liens utiles

Howto d'installation d'un serveur de logs centralisé

Télécharger php-syslog-ng sur Google Code

Article de wiki officiel sur l'installation de php-syslog-ng