| 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] jpmilcent | serveurs:installation:web-srv:docker-goaccess [2023/06/06 15:35] (Version actuelle) – [Congifurer la géolocalisation] jpmilcent |
|---|
| * 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... |