Outils pour utilisateurs

Outils du site


linux:goaccess-apache-report

Statistiques des logs Apache httpd avec GoAccess

Information

Il peut être utile d'avoir des informations compréhensibles sur les logs apache. GoAccess permet de créer des rapports lisibles pour mieux en retirer des informations.

GoAccess n'a pas pour but de remplacer des outils comme Google Analytics ou Matomo. Il est clairement orienté administrateur système.

GoAccess est aussi dans les dépôts Debian, mais pas à jour (package goaccess). On privilégie le dépôt officiel.

Installation

Installation des dépendances :

apt install libncursesw5-dev libgeoip-dev geoip-database lsb-release

Ajouter les dépôts GoAccess et installer :

echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - http://deb.goaccess.io/gnugpg.key | apt-key add -
apt update
apt install goaccess

Modifier /etc/goaccess.conf et ajouter :

time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Utilisation

Pour générer un rapport au format html :

goaccess -f /home/www-data/logs/domain.info-access.log -a -o /home/www-data/html/domain.info.html

Vous pouvez ensuite charger la page avec un navigateur.

Il est recommandé de protéger cette page générée par un fichier .htaccess ou similaire afin de ne pas l'exposer au public. Des informations confidentielles peuvent apparaître selon ce qui se trouve dans vos logs !

Il est possible d'automatiser ce rapport dans une tâche cron.

Script d'automatisation de rapports logs html avec variables

#!/bin/bash

###################################################
#   goaccess parameters                           #
###################################################

#Dossier des fichiers log
logfolder="/home/www-data/logs/apache2"

#Dossier de sortie des rapports html
outfolder="/home/www-data/html"

#Gestion des ip exclues des rapports
excludelist="-e 69.162.124.226-69.162.124.238"
# 69.162.124.226-69.162.124.238 - Range UptimeRobot

#Exclure des referers
excludereferer="--ignore-referer=domain.info --ignore-referer=*.domain.info"

#Autres options
options="-a -d --double-decode -q"

#Tout les paramètres
params=$options" "$excludelist" "$excludereferer

#Affichage des paraètres pour contrôle
echo "GoAccessParameters : "$params

###################################################
#   all vhosts                                    #
###################################################

echo "All Vhosts"
zcat -f $logfolder/*.log* | goaccess -o $outfolder/all-vhosts.html --html-report-title "All Vhosts" $params

###################################################
#   domain.info                                   #
###################################################

echo "domain.info"
zcat -f $logfolder/domain.info-ssl-access.log* | goaccess -o $outfolder/domain.info-ssl.html --html-report-title "domain.info SSL"  $params
zcat -f $logfolder/domain.info-access.log* | goaccess -o $outfolder/domain.info.html --html-report-title "domain.info"  $params

Sources

linux/goaccess-apache-report.txt · Dernière modification : 2020/07/24 22:03 de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki