Article final de la série : rsyslog et logs PHP.
phpLogCon est une interface web pour consulter des logs au format syslog. Il fonctionne de paire avec rsyslog qui lit peut écrire des logs en base de données.

Sujets précédents :
Introduction à rsyslog : intro à rsyslog
Stocker les logs PHP en fichier : log php
Installation de rsyslog sous CentOS 5 : install de rsyslog
Modifier la configuration pour que les erreurs remontent par syslog :
# php.ini
error_log = syslogGénérer des messages d’erreurs avec la fonction trigger_error.
trigger_error('Impossible de diviser par zero', E_USER_ERROR); ... trigger_error('Echec de connexion au site, user: ' . $user, E_USER_NOTICE);
Télécharger la dernière version de la lignée 1 : phpLogCon 1.2.3
tar xzvf phplogcon-1.2.3.tar.gz chown apache:apache -R phplogcon-v1.2.3/ # config apache, par exemple Alias /phplog /var/www/phplogcon-v1.2.3
Créer une base de donnée et un utilisateur.
# creer une base mysqladmin create phplogcon # creer un utilisateur echo GRANT SELECT,INSERT,CREATE ON phplogcon.* TO phplogcon@localhost IDENTIFIED BY 'password' | mysql
Aller sur http://adresse_du_site/phplog et suivre la procédure d’installation.
Les erreurs PHP ont l’identification php si le script est lancé depuis un shell ou httpd (apache) par le web. Il faut logger les 2 types d’applications.
Fichier /etc/rsyslog.conf :
#### MODULES #### $ModLoad ommysql.so ... :programname, contains, "httpd" :ommysql:localhost,phplogcon,phplogcon,password :programname, contains, "php" :ommysql:localhost,phplogcon,phplogcon,password
Remplacer les paramètres serveur, db, user et password par ceux qui conviennent. Faire recharger la configuration de rsyslog :
service rsyslog reload
php -r blabla php -r "trigger_error('Impossible de diviser par zero', E_USER_ERROR)"
devrait générer des erreurs visibles depuis l’interface web phpLogCon.
Sur ce blog j'expose mes expériences des tous les jours. Principalement axées autour du monde du logiciel libre, il peut aussi m'arriver de parler de faits d'actualités qui m'intéresse. Bonne lecture et n'hésitez pas à commenter ou à m'écrire
Leave a reply