70
modifications
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 10 : | Ligne 10 : | ||
=== 1.1 prérequis === | === 1.1 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 occupe 957 kB sur le disque. | |||
*Le tuto utilise la version 1:1.4-1 de GoAccess | |||
*Écrit en C, il nécessite 5 paquets: libc6, libmaxminddb0, libncursesw6, libssl1.1, libtinfo6 . | |||
*Facultatif mais conseillé : paquet sudo installé et configuré. | |||
*Savoir utiliser un éditeur de texte sous Debian. | |||
*Apache2 installé avec un site déjà opérationnel configuré à partir d'un hôte virtuel (virtualhost). | |||
*Par défaut Apache2 consigne l'activité du site dans le fichier journal /var/log/apache2/other_vhosts_access.log | |||
*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 == | == 2. Installation == | ||
Ligne 40 : | Ligne 39 : | ||
=== 3.2 Essai du mode web === | === 3.2 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 | |||
*l'option « --log-format » nécessaire pour préciser le format du fichier journal. | |||
Nous pouvons donc essayer cette commande : | Nous pouvons donc essayer cette commande : | ||
<code >goaccess /var/log/apache2/other_vhosts_access.log -o /var/www/webreport.html --log-format=VCOMBINED</code> | <code >goaccess /var/log/apache2/other_vhosts_access.log -o /var/www/webreport.html --log-format=VCOMBINED</code> | ||
Ligne 48 : | Ligne 47 : | ||
=== 3.3 Essai du mode démon=== | === 3.3 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 « --daemonize » | |||
On obtient donc la commande suivante : | On obtient donc la commande suivante : | ||
<code>goaccess /var/log/apache2/other_vhosts_access.log -o /var/www/webreport.html --log-format=VCOMBINED --real-time-html --daemonize</code> | <code>goaccess /var/log/apache2/other_vhosts_access.log -o /var/www/webreport.html --log-format=VCOMBINED --real-time-html --daemonize</code> | ||
Ligne 79 : | Ligne 78 : | ||
</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 #. | |||
*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-Stop : les dépendances du script qui doivent être achevées dans la séquence de boot, ce champs, obligatoire aussi, peut prendre les mêmes valeurs que le précédant et nous choisissons $local_fs. | |||
*Default-Start : les étapes du démarrage (ou runlevel ) disponibles pour démarrer le service | |||
*Default-Stop : les runlevel lors desquels le service doit être éteint. | |||
Nous pouvons maintenant passer à la dernière étape du script : la ligne de commande à lancer. Pour lancer le démon et pour une analyse en temps réel du fichier journal other_vhosts_access.log la commande est : | Nous pouvons maintenant passer à la dernière étape du script : la ligne de commande à lancer. Pour lancer le démon et pour une analyse en temps réel du fichier journal other_vhosts_access.log la commande est : | ||
<code> /bin/goaccess /var/log/apache2/other_vhosts_access .log -a -o /var/www/webreport.html --log-format=COMBINED --real-time-html --daemonize </code> | <code> /bin/goaccess /var/log/apache2/other_vhosts_access .log -a -o /var/www/webreport.html --log-format=COMBINED --real-time-html --daemonize </code> | ||
Ligne 113 : | Ligne 112 : | ||
</code> | </code> | ||
====La section [Unit] ==== | ====La section [Unit] ==== | ||
*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. | |||
. | . | ||
==== 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". | |||
*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. | |||
==== 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. | |||
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]] . | ||
Ligne 203 : | Ligne 202 : | ||
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. | ||
*se rendre dans la section « Log Format Options (required) » . | |||
*décommenter (effacer le # en début de ligne) la ligne qui correspond au bon format et qui commence par la commande « log-format » suivis de paramètre. | |||
*Décommenter la ligne plus bas dans le fichier qui correspond au format souhaité | |||
. | . | ||
Exemple : activer les formats Combined, Vcombined, Common et Vcommon par défaut. | Exemple : activer les formats Combined, Vcombined, Common et Vcommon par défaut. |
modifications