Filtrer les logs Apache / Logging conditionnel

Les logs du serveur web Apache sont généralement très verbeux, c'est-à-dire qu'ils contiennent tous les hits (fichiers images, feuilles de style, javascript, fils RSS, etc.).

Si vous ne souhaitez logger que les pages web il est possible de mettre en place une journalisation conditionnelle, permettant de ne pas logger certaines pages web. Pour ce faire, il suffit de définir une variable d'environnement selon certains critères, puis de demander au serveur de ne pas écrire dans les logs lorsque cette variable existe :

SetEnvIf Request_URI "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|gz|swf|txt)$" dontlog
SetEnvIf Request_URI "^\/rss\/" dontlog

CustomLog /var/log/apache/access.log combined env=!dontlog


Dans l'exemple ci-dessus, les requêtes correspondant à des fichiers .ico, .pdf, .flx, .jpg, .jpeg, .png, .gif, .js, .css, .gz, .swf, .txt ne sont pas écrites dans les logs. Idem pour toutes les requêtes correspondant au répertoire /rss/

Note :


Pour pouvoir faire cela, le module mod_setenvif doit être chargé.
La commande apache2 -M (ou httpd -M, à vérifier en fonction de votre serveur apache installé ou distribution) permet de voir les modules chargés.

Voici sous Debian Etch
root@debian:~# apache2 -M
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 setenvif_module (shared)
 status_module (shared)
Syntax OK
Publié par Jeff - Dernière mise à jour le 16 novembre 2009 à 13:05 par marlalapocket
Ce document intitulé « Filtrer les logs Apache / Logging conditionnel » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Filtrer les logs Apache / Logging conditionnel
  •  Apache - Les fichiers .htaccess » Articles : Les fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n'ont pas de tel fichier à l'intérieur). On peut les utiliser pour protéger un répertoire...
  •  Apache2 debian (Résolu) » Meilleure réponse: fichier sites avalable default: NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Inde
  •  Démarrage Apache avec Easyphp impossible (Résolu) » Meilleure réponse: Hello, Je comprend pas bien ton problème: il démarre chez toi mais quand tu prends ton portable ailleurs ça plante Apache ?
  •  Apache / fichier log (Résolu) » Bonjour, J'ai actuellement un serveur dédié chez OVH et j'aimerai savoir comment accéder aux fichiers .log qui permettent de diagnostiquer les problèmes du serveur. Ovh met à disposition webmin mais je ne m'y retrouve pas. Y a t-il un autre moyen...
  •  Gestion des logs centraliser. » Meilleure réponse: salut est ce quelqu'1 peut m'aider dans la gestion des fichiers log
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Apache - Analyse du trafic web en temps réel
Apache - Rendre le listing des fichiers possible