serveurs:installation:web-srv:docker-goaccess

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:installation:web-srv:docker-goaccess [2023/06/06 07:46] – [Configurer la génération des rapports GoAccess] jpmilcentserveurs:installation:web-srv:docker-goaccess [2023/06/06 15:35] (Version actuelle) – [Congifurer la géolocalisation] jpmilcent
Ligne 145: Ligne 145:
       * Ex. : https://web-log-analyser.silene.eu/2020/01       * Ex. : https://web-log-analyser.silene.eu/2020/01
  
 +===== Configurer la géolocalisation =====
 +  * Télécharger un base "IP to City Lite" depuis le site : https://db-ip.com/db/lite.php
 +  * La placer dans le dossier ''~/docker/web-log-analyser/goaccess/''
 +  * Modifier le fichier ''docker-compose.yml'' et ajouter le volume suivant au container //web-log-analyser-goaccess// : ''- ./goaccess/dbip-city-lite-2023-06.mmdb:/var/lib/GeoIP/GeoLite2-City.mmdb''
 +  * Créer un fichier goaccess/custom.css avec le contenu : <code css>
 +.wrap-panels:after {
 +    content: "IP Geolocation by DB-IP : https://db-ip.com";
 +    color: grey;
 +}
 +</code>
 +  * Ajouter le //volume// suivant au 2 container de la stack web-log-analyser dans le fichier ''docker-compose.yml'' : ''- ./goaccess/custom.css:/goaccess/reports/custom.css:ro''
 +  * Ajouter les paramètres suivant à tous les fichiers de configuration de goaccess :<code properties>
 +# User interfaces Options
 +html-custom-css /custom.css
 +# Geolocation Options
 +geoip-database /var/lib/GeoIP/GeoLite2-City.mmdb
 +</code>
 +  * Redémarer la stack : ''docker compose restart''
 +
 +===== Interface Temps Réel =====
 +  * GoAccess propose une interface permettant d'afficher en temps réel les logs via l'utilisation de web-sockets.
 +    * Elle est accessible à la racine du domaine : https://web-log-analyser.<domaine-sinp>/
 +    * **TODO** : L'interface semble ne pas prendre en compte correctement les paramètres d'utilisation de la base de données sur disque. A voir sur le long terme (2023-06-06 -- jpmilcent).
 +    * Nous utiliserons cette interface pour visualiser les derniers logs en temps réel.
 +
 +===== Analyse des logs compressés .gz =====
 +  * **Contexte** : GoAccess ne propose pas de solution native pour décompresser les logs. Il faut passer par //zcat// et l'utilisation des pipes.
 +  * **Problème** : GoAccess gère mal la persistance en base des données de fichiers de log issu de l'utilisation d'un pipe avec zcat. Voir [[https://goaccess.io/man#incremental-processing|la documentation de GoAccess]].
 +  * **Solution** : pour l'interface GoAccess temps réel, nous utilisons seulement le plus récent fichier de log généré par Nginx, le fichier //access.log//, avec l'utilisation des paramètres ''%%--persist%%'', ''%%--restore%%'' et ''%%--db-path=/goaccess/database%%''. Normalement, cela devrait nous permettre de retrouver toutes logs analysés dans l'interface en temps réel...
  • serveurs/installation/web-srv/docker-goaccess.1686037590.txt.gz
  • Dernière modification : 2023/06/06 07:46
  • de jpmilcent