« Tuto supervision avec GoAcces pour Bullseye » : différence entre les versions

Aller à la navigation Aller à la recherche
aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
 
(8 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
-----
-----


== 1. Introduction ==
== Introduction ==
Goaccess est un analyseur de fichiers journal spécialisé dans les services réseaux et particulièrement adapté à l'analyse du trafic http. Les statistiques sont accessibles en mode console via un terminal ou en mode navigateur web via une page html. Le logiciel supporte la plupart des format log existant. Il est possible de le lancer en mode démon afin d'obtenir des statistiques du trafic de son site web en temps réel. Goaccess nécessite peu de dépendances, prends peu de place sur le disque et peu de ressources système, il est donc adapté à une petite machine.  
Goaccess est un analyseur de fichiers journal spécialisé dans les services réseaux et particulièrement adapté à l'analyse du trafic http. Les statistiques sont accessibles en mode console via un terminal ou en mode navigateur web via une page html. Le logiciel supporte la plupart des format log existant. Il est possible de le lancer en mode démon afin d'obtenir des statistiques du trafic de son site web en temps réel. Goaccess nécessite peu de dépendances, prends peu de place sur le disque et peu de ressources système, il est donc adapté à une petite machine.  
Dans ce tuto nous allons nous appliquer à configurer Goaccess pour afficher les statistiques de connexions sur  un site hébergé avec Apache 2. Dans un premier temps nous allons essayer le mode console, dans un second temps le mode web en instantané et enfin le mode démon pour que goaccess analyse le trafic en temps réel.
Dans ce tuto nous allons nous appliquer à configurer Goaccess pour afficher les statistiques de connexions sur  un site hébergé avec Apache 2. Dans un premier temps nous allons essayer le mode console, dans un second temps le mode web en instantané et enfin le mode démon pour que goaccess analyse le trafic en temps réel.
   
   
pages man (en anglais): [[http://manpagez.com/man/1/goaccess/]]
pages man (en anglais): http://manpagez.com/man/1/goaccess/


=== 1.1 prérequis ===
=== prérequis ===
Il est possible de l'adapter à une autre distro Linux, cependant l’intérêt de ce tuto est qu'il est spécifiquement écrit pour Débian 11 Bullseyes.  
Il est possible de l'adapter à une autre distro Linux, cependant l’intérêt de ce tuto est qu'il est spécifiquement écrit pour Débian 11 Bullseyes.  
*Goaccess fonctionne avec AMD64, x86, ARM, etc.
*Goaccess fonctionne avec AMD64, x86, ARM, etc.
Ligne 20 : Ligne 20 :
*Pour consulter en ligne le fichier html de statistique il faut copier ce dernier dans un dossier configuré pour être mis en ligne, par convention /var/www/
*Pour consulter en ligne le fichier html de statistique il faut copier ce dernier dans un dossier configuré pour être mis en ligne, par convention /var/www/


== 2. Installation ==
== Installation ==


<code >sudo apt install goaccess</code>
<code >sudo apt install goaccess</code>


== 3. Description ==
== Description ==


La configuration de Goaccess par défaut se fait dans le fichier /etc/goaccess/goaccess.conf. Lorsqu'on lance la commande simple "goaccess", le programme va chercher les paramètres dont il a besoin dans goaccess.conf. Toutefois, les paramètres passés dans la ligne de commande sont prioritaires sur les paramètres enregistrés dans le fichier goaccess.conf (mis à part le chemin du fichier journal à analyser)
La configuration de Goaccess par défaut se fait dans le fichier /etc/goaccess/goaccess.conf. Lorsqu'on lance la commande simple "goaccess", le programme va chercher les paramètres dont il a besoin dans goaccess.conf. Toutefois, les paramètres passés dans la ligne de commande sont prioritaires sur les paramètres enregistrés dans le fichier goaccess.conf (mis à part le chemin du fichier journal à analyser)


=== 3.1 Essai du mode console ===
=== Essai du mode console ===
Avant paramétrages, la commande
Avant paramétrages, la commande
<code >goaccess</code>
<code >goaccess</code>
Ligne 41 : Ligne 41 :
Il faut alors spécifier le format du log à analyser dans la console. Par défaut ce fichier est au format « combined log format with virtual host » (VCOMBINED).  Le programme affiche alors les statistiques numériques d'Apache. Le fichier journal analysé doit contenir de l'activité ; s'il est vide (0 Ko)  alors aucune donnée ne remontera et le tableau restera vide aussi. On sort du tableau avec la touche Q.
Il faut alors spécifier le format du log à analyser dans la console. Par défaut ce fichier est au format « combined log format with virtual host » (VCOMBINED).  Le programme affiche alors les statistiques numériques d'Apache. Le fichier journal analysé doit contenir de l'activité ; s'il est vide (0 Ko)  alors aucune donnée ne remontera et le tableau restera vide aussi. On sort du tableau avec la touche Q.


=== 3.2 Essai du mode web ===
=== Essai du mode web ===
La commande goaccess va cette fois nous servir à générer une page web qu'on pourra ensuite consulter avec un navigateur. Faute de paramétrages dans goaccess.conf il nous faut toujours préciser quel fichier journal analyser. Il faut en plus ajouter deux paramètres :
La commande goaccess va cette fois nous servir à générer une page web qu'on pourra ensuite consulter avec un navigateur. Faute de paramétrages dans goaccess.conf il nous faut toujours préciser quel fichier journal analyser. Il faut en plus ajouter deux paramètres :
*le commutateur « -o », pour « output », suivis du chemin complet du fichier html à générer
*le commutateur « -o », pour « output », suivis du chemin complet du fichier html à générer
Ligne 51 : Ligne 51 :
Le fichier webreport.html devrait maintenant être consultable via le navigateur.
Le fichier webreport.html devrait maintenant être consultable via le navigateur.


=== 3.3 Essai du mode démon===
=== Essai du mode démon===
Ce mode permet de lancer un démon goaccess en arrière plan qui analyse les connexions en temps réel (real time). Nous allons garder la ligne de commande précédente et lui ajouter deux paramètres qui en fait fonctionnent ensemble:
Ce mode permet de lancer un démon goaccess en arrière plan qui analyse les connexions en temps réel (real time). Nous allons garder la ligne de commande précédente et lui ajouter deux paramètres qui en fait fonctionnent ensemble:
*l'option « --real-time-html »
*l'option « --real-time-html »
Ligne 63 : Ligne 63 :
<code>sudo kill -9 <PID></code>
<code>sudo kill -9 <PID></code>


== 4. Deux scripts avec goaccess ==
== Deux scripts avec goaccess ==
=== 4.1 Lancer le démon goaccess au démarrage de Debian pour reporter les statistiques en temps réel ===
===  Lancer le démon goaccess au démarrage de Debian pour reporter les statistiques en temps réel ===
Il faut respecter 3 étapes.
Il faut respecter 3 étapes.
==== 4.1.1 script LSB (Linux Standard Base) ====
==== Script LSB (Linux Standard Base) ====
Il s'agit d'un script conçu spécialement pour effectuer des tâches au démarrage de la machine telles que lancer un démon.
Il s'agit d'un script conçu spécialement pour effectuer des tâches au démarrage de la machine telles que lancer un démon.
La première ligne contient cette commande :
La première ligne contient cette commande :
Ligne 79 : Ligne 79 :


Les lignes suivantes contiennent l'en-tête LSB qu'il faut paramétrer :
Les lignes suivantes contiennent l'en-tête LSB qu'il faut paramétrer :
 
<code>  
<code>
### BEGIN INIT INFO
  ### BEGIN INIT INFO
# Provides: goaccessd.sh
  # Provides: goaccessd.sh
# Required-Start: $local_fs
  # Required-Start: $local_fs
# Required-Stop: $local_fs
  # Required-Stop: $local_fs
# Default-Start: 2 3 4 5
  # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
  # Default-Stop: 0 1 6
# Short-Description: génération en temps réel d'une page web synthétique des logs
  # Short-Description: génération en temps réel d'une page web synthétique des logs
# Description:  génération en temps réel d'une page web synthétique des logs
  # Description:  génération en temps réel d'une page web synthétique des logs
### END INIT INFO
  ### END INIT INFO
</code>
</code>


Explication de chaque ligne :
Explication de chaque ligne :
*### BEGIN INIT INFO marque le début de l'en tête, ### END INIT INFO marque la fin de l'en-tête et chaque ligne commence par un #.  
*"### BEGIN INIT INFO" marque le début de l'en tête, "### END INIT" INFO marque la fin de l'en-tête et chaque ligne commence par un "#".  
*Provides : goaccessd.sh : nom du script, obligatoire
*Provides : goaccessd.sh : nom du script, obligatoire
*Required-Start :  Ici il faut nommer les dépendances du script, obligatoire. Cela peut être une valeur comme $local_fs (système de fichier local), $syslog (journalisation), $network (réseau), $name (la machine est nommée), $remote_fs (système de fichier distant), ...Nous choisirons $local_fs.
*Required-Start :  Ici il faut nommer les dépendances du script, obligatoire. Cela peut être une valeur comme $local_fs (système de fichier local), $syslog (journalisation), $network (réseau), $name (la machine est nommée), $remote_fs (système de fichier distant), ...Nous choisirons $local_fs.
Ligne 118 : Ligne 117 :
<code >sudo kill -9 <PID> </code>
<code >sudo kill -9 <PID> </code>


==== 4.1.2 Création d'un service ====
==== Création d'un service ====
Maintenant que nous avons le script à exécuter nous devons créer un service pour Debian, c'est à dire pour systemd. (bonne doc : [[http://lea-linux.org/documentations/Systemd)]]. Cela consiste à créer un fichier nommé <nom du script>.service dans le dossier /usr/lib/systemd/system/. Créons donc le fichier /usr/lib/systemd/system/goaccessd.sh.service. Ce fichier doit contenir le paramétrage  suivant :
Maintenant que nous avons le script à exécuter nous devons créer un service pour Debian, c'est à dire pour systemd. (bonne doc : http://lea-linux.org/documentations/Systemd). Cela consiste à créer un fichier nommé <nom du script>.service dans le dossier /usr/lib/systemd/system/. Créons donc le fichier /usr/lib/systemd/system/goaccessd.sh.service. Ce fichier doit contenir le paramétrage  suivant :


<code>
<code>
[Unit]
[Unit]
Description=Run goaccess daemonized
Description=Run goaccess daemonized
After=getty.target
After=getty.target
 
[Service]
[Service]
Type=simple
Type=simple
ExecStart=/etc/systemd/system/goaccessd.sh
ExecStart=/etc/systemd/system/goaccessd.sh
TimeoutStartSec=0
TimeoutStartSec=0  
 
[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
</code>
</code>


====La section [Unit] ====
=====La section [Unit] =====
*Description : fournit une description du service
*Description : fournit une description du service
*After : ce paramètre désigne une ou plusieurs cibles (target) qui, dans le processus de démarrage, correspondent à un ou plusieurs moments de la séquence ; ce champs accepte au moins un élément obligatoire «  getty.target » correspond au moment où le système affiche le prompt.   
*After : ce paramètre désigne une ou plusieurs cibles (target) qui, dans le processus de démarrage, correspondent à un ou plusieurs moments de la séquence ; ce champs accepte au moins un élément obligatoire «  getty.target » correspond au moment où le système affiche le prompt.   
.  
.  
==== La section [Service] ====
===== La section [Service] =====
*Type : Systemd distingue plusieurs type de services (simple, forking, oneshot, dbus et notify) qui ne se lancent pas de la même façon; nous pouvons garder la paramètre "simple".  
*Type : Systemd distingue plusieurs type de services (simple, forking, oneshot, dbus et notify) qui ne se lancent pas de la même façon; nous pouvons garder la paramètre "simple".  
*ExecStart :Commandes qui sont exécutées lorsque l'on démarre le service.
*ExecStart :Commandes qui sont exécutées lorsque l'on démarre le service.
*TimeoutStartSec: Délais (en ms) respecté avant de démarrer le service.
*TimeoutStartSec: Délais (en ms) respecté avant de démarrer le service.


==== La section [Install] ====
===== La section [Install] =====
*WantedBy: Argument obligatoire qui désigne une cible de la séquence de démarrage. "multi-user.target" correspond  à un runlevel de 2,3 ou 4.
*WantedBy: Argument obligatoire qui désigne une cible de la séquence de démarrage. "multi-user.target" correspond  à un runlevel de 2,3 ou 4.


Pour plus d'explication on peut se référer au manuel : https://manpages.debian.org/stretch/systemd/systemd.service.5.en.html .  
Pour plus d'explication on peut se référer au manuel : https://manpages.debian.org/stretch/systemd/systemd.service.5.en.html .  


==== 4.1.3 Activation du script et autres commandes ====
==== Activation du script et autres commandes ====
Maintenant que le service est prêt nous allons l'activer par cette commande :
Maintenant que le service est prêt nous allons l'activer par cette commande :


Ligne 187 : Ligne 186 :


<code>
<code>
#! /bin/sh
#!/bin/sh
# /etc/systemd/system/goaccessd.sh
# /etc/systemd/system/goaccessd.sh
### BEGIN INIT INFO
### BEGIN INIT INFO
# Provides: goaccessd.sh
# Provides: goaccessd.sh
# Required-Start: $local_fs
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Default-Stop: 0 1 6
# Short-Description: génération en temps réel d'une page web synthétique des logs
# Short-Description: génération en temps réel d'une page web synthétique des logs
# Description:  génération en temps réel d'une page web synthétique des logs
# Description:  génération en temps réel d'une page web synthétique des logs
### END INIT INFO
### END INIT INFO
export HOME=/home
export HOME=/home
/bin/goaccess /var/log/apache2/other_vhosts_access .log -a -o /var/www/webreport.html --log-format=VCOMBINED --real-time-html –daemonize
/bin/goaccess /var/log/apache2/other_vhosts_access .log -a -o /var/www/webreport.html --log-format=VCOMBINED --real-time-html –daemonize
</code>
</code>


Ligne 219 : Ligne 218 :
Systemd nous donne diverses informations sur le service lancé. Notons que le champs « Main PID » indique le PID du processus père du démon. Le PID du démon est indiqué deux fois, dans la section « CGroup » et à la fin de la dernière ligne d'information « Daemonized GoAccess <PID> ».
Systemd nous donne diverses informations sur le service lancé. Notons que le champs « Main PID » indique le PID du processus père du démon. Le PID du démon est indiqué deux fois, dans la section « CGroup » et à la fin de la dernière ligne d'information « Daemonized GoAccess <PID> ».


=== 4.2 Lancer goaccess tout les jours pour reporter les statistiques de la veille ===
=== Lancer goaccess tout les jours pour reporter les statistiques de la veille ===
Pour l'instant nous avons travaillé sur le fichier journal other_vhosts_access.log qui reporte l'activité actuelle et récente. Le mode temps réel était adapté à cela. Par le jeu de la rotation des logs (logrotate) Apache consigne des données plus anciennes et exploitables dans le fichier other_vhosts_access_log.1. La rotation des fichiers journaux d'apache est paramétrée dans le fichier /etc/logrotate.d/apache2. La  ligne « daily » nous confirme que la rotation des logs est quotidienne. Le fichier other_vhosts_access.log.1 concerne donc les connexions de la veille. Nous allons paramétrer goaccess pour reporter chaque jour les statistiques de ce fichier journal.
Pour l'instant nous avons travaillé sur le fichier journal other_vhosts_access.log qui reporte l'activité actuelle et récente. Le mode temps réel était adapté à cela. Par le jeu de la rotation des logs (logrotate) Apache consigne des données plus anciennes et exploitables dans le fichier other_vhosts_access_log.1. La rotation des fichiers journaux d'apache est paramétrée dans le fichier /etc/logrotate.d/apache2. La  ligne « daily » nous confirme que la rotation des logs est quotidienne. Le fichier other_vhosts_access.log.1 concerne donc les connexions de la veille. Nous allons paramétrer goaccess pour reporter chaque jour les statistiques de ce fichier journal.


==== 4.2.1 Écriture du script ====
==== Écriture du script ====
Editons le fichier goaccess2.sh
Editons le fichier goaccess2.sh
il s'agit comme précédemment d'un script shell, la première ligne est donc l'en-tête :
il s'agit comme précédemment d'un script shell, la première ligne est donc l'en-tête :
Ligne 246 : Ligne 245 :
et que la commande se passe bien, alors le fichier yesterdaywebreport.html affiche les statistiques de la veille.
et que la commande se passe bien, alors le fichier yesterdaywebreport.html affiche les statistiques de la veille.


==== 4.2.2 Ajout au cron ====
==== Ajout au cron ====
le cron s'occupe des tâches régulières, qu'elles soient quotidiennes, hebdomadaires ou mensuelles. Les  scripts à exécuter quotidiennement doivent être présents dans le dossier /etc/cron.daily/. On copie donc notre script vers ce dossier avec la commande :
le cron s'occupe des tâches régulières, qu'elles soient quotidiennes, hebdomadaires ou mensuelles. Les  scripts à exécuter quotidiennement doivent être présents dans le dossier /etc/cron.daily/. On copie donc notre script vers ce dossier avec la commande :


Ligne 255 : Ligne 254 :
Une page html nommée yesterdaywebreport.html sera générée tout les matins vers 6h25 reprenant les statistiques de la veille contenues dans other_hosts_access.log.1.  
Une page html nommée yesterdaywebreport.html sera générée tout les matins vers 6h25 reprenant les statistiques de la veille contenues dans other_hosts_access.log.1.  


== 5. Configurations facultatives ==
== Configurations facultatives ==


Nous avons pour l'instant fait fonctionné goaccess sans toucher à son fichier de configuration qui est /etc/goaccess/goaccess.conf. Celui-ci permet de paramétrer goaccess plus finement. Les paramètres enregistrés dans le fichier de configuration prennent effet mais les paramètres contradictoires passés dans la ligne de commande sont prioritaires. Une exception toutefois : lorsqu'on définit le champs « log file » dans la section « file options » celui ci prend le pas sur la ligne de commande. Définir ce champs peut être utile si on n'analyse qu'un seul fichier journal, ce qui n'est pas notre cas ; cela  permet de se dispenser de préciser le fichier en entré dans la ligne de commande.  
Nous avons pour l'instant fait fonctionné goaccess sans toucher à son fichier de configuration qui est /etc/goaccess/goaccess.conf. Celui-ci permet de paramétrer goaccess plus finement. Les paramètres enregistrés dans le fichier de configuration prennent effet mais les paramètres contradictoires passés dans la ligne de commande sont prioritaires. Une exception toutefois : lorsqu'on définit le champs « log file » dans la section « file options » celui ci prend le pas sur la ligne de commande. Définir ce champs peut être utile si on n'analyse qu'un seul fichier journal, ce qui n'est pas notre cas ; cela  permet de se dispenser de préciser le fichier en entré dans la ligne de commande.  


=== 5.1 Activation des formats de log par défaut ===
=== Activation des formats de log par défaut ===


Si on se sert de goaccess en mode console, une option intéressante peut être d'activer les formats de log dont on peut avoir besoin dans le fichier conf. Ce paramétrage sert à ne pas avoir besoin de spécifier le format de log dans la ligne de commande à l'aide de la directive « log-format », goaccess essaie alors les formats activés dans son fichier de configuration.  
Si on se sert de goaccess en mode console, une option intéressante peut être d'activer les formats de log dont on peut avoir besoin dans le fichier conf. Ce paramétrage sert à ne pas avoir besoin de spécifier le format de log dans la ligne de commande à l'aide de la directive « log-format », goaccess essaie alors les formats activés dans son fichier de configuration.  
Ligne 269 : Ligne 268 :


<code>
<code>
######################################
######################################
# Log Format Options (required)
# Log Format Options (required)
######################################
######################################
#
#
# The log-format variable followed by a space or \t for
# The log-format variable followed by a space or \t for
# tab-delimited, specifies the log format string.
# tab-delimited, specifies the log format string.
#
#
# NOTE: If the time/date is a timestamp in seconds or microseconds
# NOTE: If the time/date is a timestamp in seconds or microseconds
# %x must be used instead of %d & %t to represent the date & time.
# %x must be used instead of %d & %t to represent the date & time.
 
# NCSA Combined Log Format
# NCSA Combined Log Format
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
  # NCSA Combined Log Format with Virtual Host
 
log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
# NCSA Combined Log Format with Virtual Host
# Common Log Format (CLF)
log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
log-format %h %^[%d:%t %^] "%r" %s %b
 
# Common Log Format (CLF) with Virtual Host
# Common Log Format (CLF)
log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b
log-format %h %^[%d:%t %^] "%r" %s %b
# W3C
 
#log-format %d %t %h %^ %^ %^ %^ %r %^ %s %b %^ %^ %u %R
# Common Log Format (CLF) with Virtual Host
# Squid native log format
log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b
#log-format %^ %^ %^ %v %^: %x.%^ %~%L %h %^/%s %b %m %U
 
# AWS | Amazon CloudFront (Download Distribution)
# W3C
#log-format %d\t%t\t%^\t%b\t%h\t%m\t%^\t%r\t%s\t%R\t%u\t%^
#log-format %d %t %h %^ %^ %^ %^ %r %^ %s %b %^ %^ %u %R
# Google Cloud Storage
 
#log-format "%x","%h",%^,%^,"%m","%U","%s",%^,"%b","%D",%^,"%R","%u"
# Squid native log format
# AWS | Elastic Load Balancing
#log-format %^ %^ %^ %v %^: %x.%^ %~%L %h %^/%s %b %m %U
#log-format %dT%t.%^ %^ %h:%^ %^ %T %^ %^ %^ %s %^ %b "%r" "%u"
 
# AWSS3 | Amazon Simple Storage Service (S3)
# AWS | Amazon CloudFront (Download Distribution)
#log-format %^[%d:%t %^] %h %^"%r" %s %^ %b %^ %L %^ "%R" "%u"
#log-format %d\t%t\t%^\t%b\t%h\t%m\t%^\t%r\t%s\t%R\t%u\t%^
# Virtualmin Log Format with Virtual Host
 
#log-format %h %^ %v %^[%d:%t %^] "%r" %s %b "%R" "%u"
# Google Cloud Storage
# Kubernetes Nginx Ingress Log Format
#log-format "%x","%h",%^,%^,"%m","%U","%s",%^,"%b","%D",%^,"%R","%u"
#log-format %^ %^ [%h] %^ %^ [%d:%t %^] "%r" %s %b "%R" "%u" %^ %^ [%v] %^:%^ %^ %T %^ %^
 
# In addition to specifying the raw log/date/time formats, for
# AWS | Elastic Load Balancing
# simplicity, any of the following predefined log format names can be
#log-format %dT%t.%^ %^ %h:%^ %^ %T %^ %^ %^ %s %^ %b "%r" "%u"
# supplied to the log/date/time-format variables. GoAccess  can  also
 
# handle  one  predefined name in one variable and another predefined
# AWSS3 | Amazon Simple Storage Service (S3)
# name in another variable.
#log-format %^[%d:%t %^] %h %^"%r" %s %^ %b %^ %L %^ "%R" "%u"
#
 
log-format COMBINED
# Virtualmin Log Format with Virtual Host
log-format VCOMBINED
#log-format %h %^ %v %^[%d:%t %^] "%r" %s %b "%R" "%u"
log-format COMMON
 
log-format VCOMMON
# Kubernetes Nginx Ingress Log Format
#log-format W3C
#log-format %^ %^ [%h] %^ %^ [%d:%t %^] "%r" %s %b "%R" "%u" %^ %^ [%v] %^:%^ %^ %T %^ %^
#log-format SQUID
 
#log-format CLOUDFRONT
# In addition to specifying the raw log/date/time formats, for
#log-format CLOUDSTORAGE
# simplicity, any of the following predefined log format names can be
#log-format AWSELB
# supplied to the log/date/time-format variables. GoAccess  can  also
#log-format AWSS3
# handle  one  predefined name in one variable and another predefined
######################################
# name in another variable.
# UI Options
#
######################################
log-format COMBINED
log-format VCOMBINED
log-format COMMON
log-format VCOMMON
#log-format W3C
#log-format SQUID
#log-format CLOUDFRONT
#log-format CLOUDSTORAGE
#log-format AWSELB
#log-format AWSS3
 
######################################
# UI Options
######################################
</code>
</code>


Une fois que ceci est fait, si on omet de préciser le format de log avec la directive « log-format » dans la ligne de commande, goaccess essaie les formats de log activés. Cela peut être tentant d'activer tout les formats mais dans ce cas goaccess met beaucoup plus de temps à effectuer sa tache et prends davantage de ressources. N'activer que le(s) log-format qu'on utilise accroît la rapidité du processus mais risque de renvoyer une erreur si on souhaite analyser un fichier journal rédigés dans un format de log non activé.
Une fois que ceci est fait, si on omet de préciser le format de log avec la directive « log-format » dans la ligne de commande, goaccess essaie les formats de log activés. Cela peut être tentant d'activer tout les formats mais dans ce cas goaccess met beaucoup plus de temps à effectuer sa tache et prends davantage de ressources. N'activer que le(s) log-format qu'on utilise accroît la rapidité du processus mais risque de renvoyer une erreur si on souhaite analyser un fichier journal rédigés dans un format de log non activé.


=== 5.2 Cacher les panneaux inutiles dans la page html ===
=== Cacher les panneaux inutiles dans la page html ===


Par défaut la page html générée par goaccess contient de nombreux panneaux ; certains sont plus utiles que d'autres, cacher les panneaux qu'on juge inutiles accroît de beaucoup la lisibilité des informations. Dans la section « Parse Options » il y a un bloc « ignore-panel » en bas ; il est possible de décommenter des lignes pour ignorer telle ou telle donnée. L'exemple suivant ignore les panneaux « Requests static », « Not Found », « Referreres », « Keaphrases » et « status_codes » :
Par défaut la page html générée par goaccess contient de nombreux panneaux ; certains sont plus utiles que d'autres, cacher les panneaux qu'on juge inutiles accroît de beaucoup la lisibilité des informations. Dans la section « Parse Options » il y a un bloc « ignore-panel » en bas ; il est possible de décommenter des lignes pour ignorer telle ou telle donnée. L'exemple suivant ignore les panneaux « Requests static », « Not Found », « Referreres », « Keaphrases » et « status_codes » :


<code>
######################################
# Parse Options
######################################
...
# Ignore parsing and displaying the given panel.
#
#ignore-panel VISITORS
#ignore-panel REQUESTS
ignore-panel REQUESTS_STATIC
ignore-panel NOT_FOUND
#ignore-panel HOSTS
#ignore-panel OS
#ignore-panel BROWSERS
#ignore-panel VISIT_TIMES
#ignore-panel VIRTUAL_HOSTS
ignore-panel REFERRERS
#ignore-panel REFERRING_SITES
ignore-panel KEYPHRASES
ignore-panel STATUS_CODES
#ignore-panel REMOTE_USER
#ignore-panel CACHE_STATUS
#ignore-panel GEO_LOCATION
</code>
</code>
######################################
# Parse Options
######################################
...
# Ignore parsing and displaying the given panel.
#
#ignore-panel VISITORS
#ignore-panel REQUESTS
ignore-panel REQUESTS_STATIC
ignore-panel NOT_FOUND
#ignore-panel HOSTS
#ignore-panel OS
#ignore-panel BROWSERS
#ignore-panel VISIT_TIMES
#ignore-panel VIRTUAL_HOSTS
ignore-panel REFERRERS
#ignore-panel REFERRING_SITES
ignore-panel KEYPHRASES
ignore-panel STATUS_CODES
#ignore-panel REMOTE_USER
#ignore-panel CACHE_STATUS
#ignore-panel GEO_LOCATION
</code>


=== 5.3 Changer le format des logs d'Apache ===
=== Changer le format des logs d'Apache ===


dans apache il faut éditer le fichier /etc/apache2/conf-available/other-vhost
dans apache il faut éditer le fichier /etc/apache2/conf-available/other-vhost
Ligne 377 : Ligne 362 :
On peut changer ici le log-format ou, ce qui peut être utile aussi, ajouter un log dans un format différent.
On peut changer ici le log-format ou, ce qui peut être utile aussi, ajouter un log dans un format différent.


== 6. Conclusion ==
== Conclusion ==
GoAccess est léger, sans base de données et facile à configurer. Il semble convenir pour surveiller un simple site web. Pour ma part je surveille un site avec peu de trafic à l’intérieure d'un vpn et finalement il ne me sert pas à grand chose. Je regrette l'interface belle mais peu claire.
GoAccess est léger, sans base de données et facile à configurer. Il semble convenir pour surveiller un simple site web. Pour ma part je surveille un site avec peu de trafic à l’intérieure d'un vpn et finalement il ne me sert pas à grand chose. Je regrette l'interface belle mais peu claire.


Remerciement spécial à lol pour la résurrection de mon compte ;)
Remerciement spécial à lol pour la résurrection de mon compte ;)
copyleft Petitchat
70

modifications

Menu de navigation