Apache logs, et Logrotate

Qu’est ce que c’est que les logs Apache?

 

Les logs ou fichiers de journalisation en français sont des fichiers texte qui enregistrentent des événements d’une application. On enregistre les événement de type erreur dans les errors log, les événement de démarrage (bootlog), et d’autres dans des fichiers plus spécifiques.

Dans le cas de notre serveur Apache, nous avons les logs des visites sur notre site web.

Qu’est ce qu’on enregistre comme information dans les visites sur Apache?

Il y a deux types de visiteurs,  les visiteurs humains et les robots des moteurs de recherche (et parfois d’autres robots de services plus spécifique).

Vous pouvez paramétrer ce que vous enregistrez dans les logs, dans le dossier de configuration httpd.conf, deux types de logs sont proposés, combined et common.

Voici un extrait :

LogFormat « %h %l %u %t \ »%r\ » %>s %b \ »%{Referer}i\ » \ »%{User-Agent}i\ » » combined
LogFormat « %h %l %u %t \ »%r\ » %>s %b » common

Une fois que les logs sont paramétrés, il faut indiquer lequel vous voulez utiliser, le combined ou le common.

C’est avec la direective CustomLog :

CustomLog « c:/wamp/logs/access.log » combined

 

Pour les sites web en général, on utilise la combined, ce dernier a la particularité d’enregistrer le Refere (qui est le site web d’origine de la visite juste avant sur votre site web), et le user agent qui donne le type de logiciel qui vous rend visite (un navigateur classique comme Firefox, Chrome pour un humain, et si c’est un moteur de recherche, vous aurez un nom de bot).

Attention aux fichiers de logs Apache qui grossissent !

Chaque visite sur votre site génère une ou plusieurs lignes de texte, et le fichiers peut grossir très vite en fonction de  l’audience de votre site web. Et quand le fichier atteint plusieurs giga octets, c’est problématique.  La solution c’est de générer un  nouveau fichier régulièrement pour éviter ce problème. Par exemple on peut généer un nouveau fichier toutes les semaine, ou tous les jours, afin d’avoir des fichiers d’une taille raisonnable.

Pour ce faire on déclarer une « rotation » des logs, avec le programme logrotate. Si vous développez sous WAMP sous Windows, le programme s’appelle toujours logrotate (rotatelogs.exe plus exactement).

Voici un exemple de configuration pour WAMP de logrotate :

ErrorLog « |bin/rotatelogs.exe -l C:/Wamp/www/votresite.com/errorlog.%Y-%m-%d.txt 86400 »
CustomLog « |bin/rotatelogs.exe -l C:/Wamp/www/votresite.com/accesslog.%Y-%m-%d.txt 86400 » combined
CustomLog « |bin/rotatelogs.exe -l C:/Wamp/www/votresite.com/deflatelog.%Y-%m-%d.txt 86400 » deflate

 

 

 

Retour en haut