Nginx: exclure un user agent de nos logs

log nginx

Nous avons vu précédemment que nous pouvions exclure des logs nginx une url spécifique et même une adresse ip.

Nous allons voir ici, comment exclure de nos logs un user agent spécifique. Par exemple nous ne voulons pas avoir dans nos logs le user agent de notre monitoring « mymonitoringBot » ou encore celui de « Googlebot ».

Nous allons créer un bloc « map » pour y mettre nos règles :

map $http_user_agent $log_useragent {
  ~Googlebot 0;
  ~mymonitoringBot 0;
  default 1;
}

On assigne la valeur 0 aux user agent Googlebot et mymonitoringBot. Toutes les autres user agent auront la valeur 1.
Il suffit ensuite de mettre cette condition dans notre bloc « server« .

server {
   ...
access_log /var/log/nginx/access.log main if=$log_ua;

}

N’entrerons dans les logs que la valeur 1 qui correspond à la valeur par défaut. Notre fichier access.log ne contiendra pas les user agent Googlebot et mymonitoringBot.

Laisser un commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.