Featured image of post Personnaliser ses logs avec Nginx Proxy Manager

Personnaliser ses logs avec Nginx Proxy Manager

Personnaliser ses logs avec Nginx Proxy Manager

Introduction

Bien que NPM utilise Nginx ; il utilise son propre format de log ; ce qui le rend incompatible avec des outils tiers d’analyse de logs comme “fail2ban

La personnalisation du format des logs n’est pas possible par l’interface de NPM ; il faudra donc les modifiers via un fichier de configuration accesible via un volume monté dans le fichier compose.yaml de NPM (voir Installation de Nginx Proxy Manager)

Ajout d’un template de log alternatif

Le volume monté “/opt/docker/data/npm” rend accessible les répertoires de configurations de bases de NPM.

Nous allons créer un fichier ‘http_top.conf’ dans le répertoire “nginx/custom” dont le contenu sera le suivant :


log_format nom_log '$remote_addr $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $host';

Il faudra changer le paramètre “nom_log” à votre convenance. Le template est au format standard ‘Nginx’ ; mais je lui rajoute le parametre ‘$host’ en fin de ligne pour afficher l’URL demandée lors d’une requête au serveur proxy NPM.

Utilisation du log alternatif dans vos hôtes proxy

Pour chacun de vos hôtes proxy pour laquel vous souhaitez personnalisé les fichiers de log, il faudra allez dans la partie “Configuration Nginx personnalisé” et y ajouter la ligne suivante access_log /data/logs/dockerlab.log nom_log;

Personnalisation des logs

Remarque : J’ai monté un volume “/data/logs” pour pouvoir générer mes logs en dehors du container Docker pour qu’ils puissent être analyser par dse outils tiers sur mon hôte docker.

Il faut relancer votre container npm pour que les modifications soient prise en compte.

Généré avec Hugo
Thème Stack conçu par Jimmy