GNU/Linux >> Tutoriels Linux >  >> Panels >> Webmin

Analyse du fichier journal Webalizer

Ce chapitre explique comment créer des rapports à partir des fichiers journaux de votre serveur Web ou proxy à l'aide de Webalizer emballer.

Contenu

Le module d'analyse des fichiers journaux Webalizer

Webalizer est un programme disponible gratuitement pour analyser et générer des rapports à partir des fichiers journaux Apache Webserver, Squid et WU-FTPd. Si vous gérez un site Web et que vous souhaitez voir quelles pages sont les plus visitées, à quelles heures le plus de trafic arrive ou de quels pays il provient, Webalizer est l'outil à utiliser. Si vous gérez un serveur proxy Squid et souhaitez voir à quels sites les clients accèdent le plus souvent et quand le proxy est le plus utilisé, il peut également générer des rapports indiquant ces informations.

Contrairement à de nombreux autres serveurs que Webmin peut configurer, Webalizer est relativement simple. Lorsque la commande webalizer est exécutée, elle lit un fichier journal et génère des pages HTML et des images basées sur les enregistrements de ce journal. Il peut également lire les statistiques recueillies lors des exécutions précédentes à partir d'un fichier historique, afin que le rapport puisse inclure des données qui ne figurent plus dans le fichier journal. Le même fichier historique est ensuite mis à jour avec les informations du dernier rapport, pour une utilisation dans le traitement ultérieur. Cela permet à l'administrateur système de supprimer en toute sécurité le fichier journal d'origine une fois qu'il a été résumé.

Webalizer utilise par défaut le fichier de configuration global /etc/webalizer.conf, qui spécifie les types de tableaux et de graphiques à générer et les titres à utiliser. Sur un système qui héberge plusieurs serveurs virtuels, plusieurs fichiers de configuration existent généralement afin que différentes options de rapport puissent être définies pour différents sites. Malheureusement, il n'existe aucun moyen de combiner les deux options à partir des fichiers de configuration globaux et par journal - une seule peut être utilisée lors de la génération d'un rapport.

Étant donné que les fichiers journaux sont toujours accompagnés de nouvelles requêtes, Webalizer est généralement exécuté dans les délais par un programme comme Cron. Il n'a pas son propre processus serveur ou démon, et dépend donc d'un planificateur pour l'invoquer tous les jours ou deux pour retraiter chaque fichier journal et générer à nouveau chaque rapport.

En raison de sa relative simplicité, Webalizer se comporte de manière identique sur toutes les variétés d'Unix. Cela signifie que la fonctionnalité et la présentation du module Webmin sont également identiques, bien que le module Scheduled Cron Jobs doive être installé et fonctionner pour que la fonction de rapport planifié fonctionne.

L'icône du module Webalizer de Webmin se trouve dans la catégorie Serveurs. Lorsque vous cliquez dessus pour la première fois, une page répertoriant tous les fichiers journaux qu'Apache ou Squid ont été configurés pour utiliser sur votre système s'affiche, comme illustré à la Figure 39-1. En analysant les configurations de ces ervers, le module peut généralement déterminer où se trouvent tous les journaux de votre système qui peuvent être analysés - cependant, vous pouvez facilement ajouter des fichiers journaux supplémentaires au module pour les rapports également.

Écran principal de Webalizer Logfile Analysis

Si le module détecte que Webalizer n'est pas réellement installé sur votre système, la page principale affichera un message d'erreur à la place. Si cela se produit, vous devrez l'installer à partir de votre CD de distribution Linux ou du site Web du programme à l'adresse www.webalizer.org. De nombreuses versions de Linux incluent un package Webalizer en standard, que vous pouvez installer à l'aide du module Software Packages.

Si vous envisagez d'utiliser le module pour analyser plusieurs fichiers journaux, il est important de vous assurer que la configuration globale de Webalizer est correctement configurée pour le prendre en charge. La version fournie avec certaines distributions Linux (comme Redhat) utilise à tort des chemins absolus pour les fichiers d'historique et de cache qui stockent des informations sur les exécutions de traitement précédentes. Pour résoudre ce problème, suivez ces étapes avant de définir les options des fichiers journaux :

  1. Sur la page principale du module, cliquez sur Modifier les options globales bouton en bas. Cela vous mènera à un formulaire pour modifier les options qui s'appliquent à tous les fichiers journaux.
  2. Dans l'historique Webalizer champ de fichier, assurez-vous que le deuxième bouton radio est sélectionné et que webalizer.hist apparaît dans la zone de texte. Si un chemin absolu comme /var/stats/webalizer.hist est affiché, changez-le.
  3. Similaire, assurez-vous que le fichier incrémentiel Webalizer le champ est défini sur webalizer.current et non sur un chemin complet.
  4. Le fichier cache DNS Webalizer peut être laissé défini sur un chemin absolu si vous le souhaitez, afin que les informations DNS soient partagées entre différents rapports.
  5. Cliquez sur Enregistrer bouton en bas de la page pour enregistrer les nouveaux paramètres.

Modification des options de rapport

Avant de pouvoir générer un rapport à partir d'un fichier journal, vous devez définir certaines options telles que le répertoire de sortie, l'utilisateur Unix pour exécuter le rapport en tant que et les paramètres de mise en page du rapport. En supposant que le journal a été automatiquement identifié par le module et est affiché sur la page principale, les étapes à suivre sont :

  1. Sur la page principale du module, cliquez sur le nom du fichier journal du serveur Web pour lequel vous souhaitez générer un rapport. Une page répertoriant les paramètres actuels de ce fichier s'affiche, comme illustré à la Figure 39-2.
  2. Le Tous les fichiers journaux dans le rapport indique exactement quels fichiers seront utilisés dans un rapport créé par Webmin et Webalizer. Étant donné que de nombreux systèmes sont configurés pour déplacer, tronquer, compresser et éventuellement supprimer les fichiers journaux Apache et Squid de manière régulière (souvent en utilisant un programme comme logrotate), le module inclura tous les fichiers dans le même répertoire qui commencent par le même nom que le fichier journal principal. Ainsi, si par exemple vous faites un rapport sur /var/log/httpd/access_log, les fichiers access_log.0.gz, access_log.1.gz et ainsi de suite dans /var/log/httpd seront également affichés dans ce champ.
  3. Dans le répertoire Écrire le rapport dans le répertoire , entrez le répertoire dans lequel les pages HTML du rapport doivent être créées. Celui-ci doit déjà exister et doit généralement se trouver sous la racine du document du site Web - par exemple, /home/example.com/stats . Il doit appartenir ou être accessible en écriture par l'utilisateur spécifié dans le champ suivant. Assurez-vous que le répertoire n'est pas utilisé pour autre chose, car Webalizer créera un fichier index.html et d'autres pages HTML qui pourraient écraser tout ce qu'il contient déjà.
  4. Entrez le nom de l'utilisateur Unix auquel les fichiers de rapport générés doivent appartenir dans Exécuter webalizer en tant qu'utilisateur domaine. Il doit s'agir de l'utilisateur propriétaire des fichiers HTML du site Web, afin qu'il puisse les modifier ou les déplacer si nécessaire. Ou vous pouvez simplement entrer root si les rapports sont uniquement destinés à votre usage personnel. En raison de la façon dont le module exécute Webalizer, l'utilisateur que vous spécifiez n'a pas besoin d'avoir un accès en lecture au fichier journal - cependant, il doit pouvoir écrire dans le répertoire du rapport !
  5. Laissez l'option Toujours traiter à nouveau les fichiers journaux ? *champ défini sur *Non , afin que Webalizer puisse utiliser les informations mises en cache des exécutions de rapports précédentes. Définir sur Oui entraînera la suppression de tous les caches et des statistiques précédentes avant chaque exécution, de sorte que l'intégralité du fichier journal sera retraitée. Cela signifie que toutes les données qui ne figurent plus dans les fichiers journaux ne seront pas incluses dans le rapport. Sélection Oui est particulièrement utile si vous souhaitez contourner la mise en cache des anciennes statistiques de Webalizer, qui peut être incorrecte si le fichier journal a complètement changé depuis la dernière exécution.
  6. Dans les Options de rapport champ, sélectionnez Options personnalisées pour que le module copie le fichier de configuration global de Webalizer pour ce journal, afin que vous puissiez ensuite définir des options qui s'appliquent uniquement à ce rapport. Si vous n'avez qu'un seul site Web sur votre système ou si vous ne vous souciez pas de personnaliser les rapports pour différents serveurs virtuels, vous pouvez sélectionner l'option Utiliser les options globales bouton radio à la place. Si tel est le cas, les étapes 9 à 19 peuvent être ignorées. La dernière option pour ce champ, Autre fichier de configuration , vous permet de spécifier un fichier de configuration Webalizer existant à utiliser lors de la génération du rapport. Cela peut être utile si vous avez déjà utilisé le programme sur ce fichier journal et que vous avez déjà personnalisé ses paramètres.
  7. Quittez la génération de rapport planifiée défini sur Désactivé pour le moment. La section "Rapports programmés" explique comment l'activer.
  8. Cliquez sur Enregistrer bouton en bas de la page. Tant qu'il n'y a pas eu d'erreurs dans votre saisie, vous serez renvoyé à la page principale du module.
  9. Si *Options personnalisées *a été choisi à l'étape 6, cliquez à nouveau sur le nom du fichier journal, puis sur Modifier les options bouton en bas de la page. Cela fera apparaître le formulaire d'options illustré à la Figure 39-3.
  10. Dans le nom d'hôte du site Web champ, sélectionnez le deuxième bouton radio et entrez le nom de votre site Web à partir de l'URL dans le champ de texte, par exemple www.example.com .
  11. Pour personnaliser les types de fichiers que Webalizer considère comme des pages, modifiez les extensions dans le champ *Types de fichiers à signaler*. D'autres types (tels que les images ou les fichiers audio) ne sont pas pris en compte dans la plupart des rapports.
  12. Si votre site utilise d'autres fichiers HTML d'index de répertoire autres que ceux commençant par index. (comme home.html ) entrez leurs noms de fichiers dans les pages d'index des répertoires domaine. Normalement, ce champ peut être laissé vide.
  13. Normalement, Webalizer convertit les heures des fichiers journaux dans le fuseau horaire local de votre système. Pour forcer l'utilisation de GMT à la place, modifiez les Heures de rapport en GMT ? champ sur Oui . À moins que le rapport ne soit consulté par des personnes situées dans des fuseaux horaires différents, vous devez le laisser défini sur Non mais.
  14. Si le fichier journal peut contenir des enregistrements dont la date est postérieure à celle des enregistrements qui les précèdent, définissez le champ * Gérer les entrées de journal dans le désordre ?* sur Oui . Cela ralentira légèrement la génération de rapports, mais si Non est choisi et que le journal contient des enregistrements hors service, Webalizer ne le traitera pas complètement. Certains serveurs Web comme ceux de Netscape sont coupables de générer des fichiers journaux comme celui-ci.
  15. Le fichier historique de Webalizer , Fichier incrémentiel Webalizer et cache DNS Webalizer les champs peuvent généralement rester inchangés, tant qu'ils sont définis sur des chemins relatifs. L'introduction explique plus en détail pourquoi cela est nécessaire.
  16. Dans les Graphiques et tableaux à afficher section, désélectionnez ceux que vous ne voulez pas inclure dans le rapport.
  17. Dans les lignes et visibilité du tableau section vous pouvez modifier la taille de chaque tableau qui apparaît, ou le supprimer complètement en sélectionnant Aucun .
  18. Pour activer la création de pages supplémentaires dans le rapport répertoriant tous les clients qui accèdent à votre site, les URL consultées, etc., cochez les cases appropriées dans la section *Générer des pages listant toutes*. Sinon, seuls les tableaux montrant le top 20 seront inclus dans le rapport.
  19. Enfin, cliquez sur Enregistrer bouton en bas de la page. Les rapports générés à partir de maintenant utiliseront ces options.
Figure 39-2 “The log file options page” 

Bien que les instructions ci-dessus soient écrites avec les fichiers journaux Apache à l'esprit, elles s'appliquent également aux journaux Squid. La seule différence est que Squid n'a pas de répertoire racine de document, vous devrez donc créer un nouveau répertoire pour le rapport. Cela pourrait être sous le répertoire racine de votre serveur Web, afin que le rapport puisse être consulté par n'importe qui. Si tel est le cas, le nom de l'utilisateur Unix qui possède les fichiers HTML du serveur Web doit être saisi dans le champ Exécuter webalizer en tant qu'utilisateur domaine.

Générer et afficher un rapport

Une fois que vous avez défini les options d'un rapport, sa génération est simple. Suivez simplement ces étapes :

  1. Sur la page principale, cliquez sur le nom du fichier journal pour lequel le rapport est généré.
  2. Cliquez sur Générer un rapport bouton en bas du formulaire. Une page montrant la sortie de Webalizer telle qu'elle est exécutée sur chacun des fichiers journaux s'affichera, afin que vous puissiez voir les erreurs qui se produisent. Cela peut prendre beaucoup de temps (peut-être des heures) la première fois qu'un fichier journal volumineux est traité, car une recherche inversée doit être effectuée pour chaque adresse IP client dans le fichier. Heureusement, la charge CPU et réseau réelle générée est minime.
  3. Si tout se passe bien, les pages HTML du rapport seront créées dans le répertoire de destination. Pour l'afficher, cliquez sur le lien *Afficher le rapport terminé* sous le résultat.
  4. La première page du rapport affiche un graphique des visites reçues par le site Web par mois, avec des liens ci-dessous vers des pages contenant des détails pour chaque mois individuel. Chacune des pages du mois affiche des tableaux et des graphiques des visites par jour, par heure, par client, par page et par pays pour le site, et peut également afficher les visites par utilisateur, navigateur et référent si ces informations sont incluses dans votre journal des dossiers.
  5. Le même rapport peut être consulté directement depuis la page principale du module en cliquant sur Afficher lien dans le Rapport colonne pour le fichier journal, ou en cliquant sur Afficher le rapport sur le formulaire d'options du fichier journal.

Rapports dans les délais

Au lieu de générer manuellement un rapport à partir d'un fichier journal, vous pouvez utiliser ce module pour configurer une tâche Cron qui exécute régulièrement Webalizer. Généralement, un rapport doit être actualisé tous les un ou deux jours, selon la taille du fichier journal. Étant donné que certains journaux volumineux prennent beaucoup de temps à traiter, une actualisation trop fréquente (par exemple une fois par heure) peut entraîner l'exécution simultanée de plusieurs processus Webalizer sur le même fichier journal, ce qui corrompra le rapport résultant.

C'est généralement une bonne idée de générer un rapport pour le fichier journal à partir de Webmin au moins une fois avant de configurer les rapports planifiés, afin que vous puissiez voir s'il fonctionne vraiment ou non. Une fois que vous avez fait cela, suivez ces étapes :

  1. Sur la page principale du module, cliquez sur le nom du fichier journal. Cela vous amènera au formulaire d'options illustré à la Figure 39-2.
  2. Modifier le rapport planifié champ de génération sur *Activé, aux heures choisies ci-dessous*.
  3. Sélectionnez les heures et les jours auxquels le fichier journal doit être retraité à partir des Minutes , Heures , Jours , Mois et jours de semaine listes ci-dessous. Pour chacun, vous pouvez soit choisir Tous pour que le rapport soit généré toutes les minutes, heures ou autre - ou vous pouvez choisir Sélectionné pour que Webalizer ne s'exécute qu'aux heures ou aux dates sélectionnées dans la liste. Pour sélectionner plusieurs entrées, maintenez la touche Ctrl ou Maj enfoncée tout en cliquant. Vous pouvez également contrôler-cliquer pour désélectionner les entrées qui ont déjà été choisies. Par défaut, le journal sera traité à minuit tous les jours. Si plusieurs rapports sont générés dans les délais, essayez de les échelonner afin qu'ils ne soient pas tous exécutés en même temps. Par exemple, dans votre deuxième rapport, sélectionnez _1_ comme heure au lieu de *0* et ainsi de suite.
  4. Cliquez sur Enregistrer pour que Webmin crée une tâche Cron pour le rapport. Vous pourrez le voir dans le module Scheduled Cron Jobs, mais vous ne devez modifier que les dates et heures ici.

Pour désactiver la génération régulière de rapports pour un fichier journal, sélectionnez Désactivé pour la Génération planifiée du rapport terrain à la place. La tâche Cron sera supprimée, mais les heures et les dates auxquelles elle a été configurée pour s'exécuter seront mémorisées afin que vous puissiez facilement la réactiver.

Ajout d'un autre fichier journal

Même si le module tente d'identifier automatiquement tous les fichiers journaux de votre système, en lisant les fichiers de configuration d'Apache et de Squid, il peut en manquer certains. Cela peut arriver si les modules Apache Webserver ou Squid Proxy Server n'ont pas été configurés correctement, si vous avez installé plus d'une copie d'Apache sur votre système, ou si le serveur Web a été configuré pour se connecter à un programme de filtrage plutôt qu'à un programme normal. dossier.

Si vous souhaitez générer un rapport à partir d'un fichier journal de serveur FTP, vous devrez certainement ajouter le fichier au module car il ne détecte pas automatiquement les journaux WU-FTPd. Vous pouvez également ajouter des journaux d'autres serveurs Web tels que Zeus, TUX, Netscape ou NSCA, en supposant qu'ils utilisent le format CLF standard d'Apache. Il est même possible de créer un rapport sur les journaux créés par Webmin et Usermin, trouvés respectivement dans /var/webmin/miniserv.log et /var/usermin/miniserv.log.

Les étapes pour ajouter manuellement un fichier journal pour les rapports sont :

  1. Sur la page principale du module, cliquez sur le lien *Ajouter un nouveau fichier journal pour analyse* au-dessus ou en dessous du tableau des journaux existants.
  2. Dans le Chemin du fichier journal de base champ, entrez le chemin complet du fichier journal tel que /usr/local/apache/var/foo.com.log . Si d'autres fichiers journaux existent dans le même répertoire dont les noms commencent par foo.com.log , ils seront également inclus dans le rapport.
  3. À partir du type de fichier journal menu, sélectionnez soit Apache pour les fichiers au format CLF générés par un serveur Web, Squid pour les journaux du serveur proxy Squid, ou FTP pour les journaux de transfert de WU-FTPd.
  4. Le reste du formulaire peut être rempli exactement de la même manière que vous le feriez pour un fichier journal existant. Suivez simplement les étapes 3 et suivantes de la section "Modifier les options de rapport" plus haut dans le chapitre.

Une différence entre les fichiers journaux ajoutés manuellement et ceux détectés automatiquement par le module est la présence d'un Supprimer bouton en bas de la page des options du fichier journal. Cliquer dessus supprimera le journal de la liste sur la page principale, mais laissera tous les rapports et le fichier journal lui-même intacts.

Modification des options globales

Webalizer a un fichier de configuration maître nommé /etc/webalizer.conf qui est utilisé par le module si les Options de rapport le champ est défini sur Utiliser les options globales . Il est également copié lorsque vous sélectionnez *Options personnalisées* pour fournir les paramètres initiaux de la configuration par fichier journal. Toutefois, la modification ultérieure des options globales n'aura aucun effet sur les journaux qui utilisent déjà leur propre fichier de configuration.

Si vous n'avez qu'un seul fichier journal sur votre système qui nécessite une analyse, il est plus logique d'utiliser uniquement le fichier global webalizer.conf au lieu d'en créer un uniquement pour le rapport sur ce journal. Et si vous envisagez de configurer des rapports sur plusieurs fichiers journaux, vous devez d'abord modifier la configuration globale de Webalizer pour fournir un modèle à partir duquel les configurations par journal sont copiées. Pour le modifier, les étapes à suivre sont :

  1. Sur la page principale du module, cliquez sur Modifier les options globales icône. Votre navigateur affichera un formulaire d'options similaire à celui de la Figure 39-3.
  2. Suivez les étapes 11 et suivantes de la section "Modifier les options de rapport" plus haut dans le chapitre pour configurer l'apparence de tous les rapports. Les champs de ce formulaire ont exactement la même signification que ceux de la page des options par rapport.
  3. Cliquez sur Enregistrer pour mettre à jour le fichier de configuration avec vos modifications.

Si vous générez plusieurs rapports, il est beaucoup plus logique de définir des options pour chacun individuellement. De cette façon, vous pouvez définir un nom d'hôte de serveur Web différent pour chacun, afin que le titre et les liens vers les pages de chaque rapport soient corrects.

Options globales du Webalizer

Contrôle d'accès aux modules

Comme l'explique le chapitre 52, vous pouvez créer un utilisateur ou un groupe Webmin qui n'a accès qu'à un sous-ensemble limité des fonctionnalités de la plupart des modules. Dans le cas du module Webalizer, vous pouvez accorder à un utilisateur le droit de modifier les options et de générer des rapports à partir de certains journaux de votre système uniquement. Cela peut être utile si votre système héberge plusieurs serveurs virtuels Apache, chacun appartenant à une personne différente. Tant que chaque serveur a son propre fichier journal séparé, vous pouvez donner à un utilisateur Webmin les droits de gérer à la fois un serveur virtuel et son rapport de journal.

Une fois qu'un utilisateur a accès au module, les étapes à suivre pour le limiter à seulement certains des fichiers journaux de votre système sont :

  1. Dans le module Webmin Users, cliquez sur Webalizer Logfile Analysis à côté du nom de l'utilisateur. Cela fera apparaître le formulaire standard de contrôle d'accès au module.
  2. Modifier le Peut modifier la configuration du module ? champ sur Non , afin qu'il ne puisse pas modifier les chemins vers Webalizer ou son fichier de configuration globale.
  3. Quitter Peut uniquement afficher les rapports existants ? défini sur Non , afin que l'utilisateur puisse modifier les options des rapports sur les fichiers journaux dont il est propriétaire.
  4. Définir Peut modifier les options globales du Webalizer ? à Non pour empêcher l'utilisateur de modifier les options qui peuvent s'appliquer aux journaux d'autres personnes.
  5. Dans le champ Exécuter Webalizer en tant qu'utilisateur , sélectionnez le dernier bouton radio et entrez le nom de l'utilisateur Unix sous lequel cet utilisateur Webmin se connecte normalement. Cela l'empêchera de configurer des rapports générés en tant que root, ce qui pourrait constituer un risque sérieux pour la sécurité car cela permettrait d'écraser les fichiers système et ceux appartenant à d'autres personnes.
  6. Dans le champ *Autoriser uniquement l'affichage et la modification des rapports pour les journaux sous*, saisissez soit le chemin d'accès complet à un fichier journal (comme /var/log/httpd/example.com.log ) ou un répertoire contenant des fichiers journaux (tel que /home/example.com/logs ). Le module masquera tous les journaux découverts automatiquement en dehors de ce répertoire, de sorte que l'utilisateur ne puisse pas configurer de rapports pour les sites Web d'autres personnes.
  7. Cliquez sur Enregistrer bouton pour activer les nouvelles restrictions.

Une fois qu'un utilisateur a été restreint de cette manière, il pourra utiliser le module pour configurer des rapports uniquement pour les fichiers journaux du répertoire allow. Les rapports ne seront générés qu'en tant qu'utilisateur Unix spécifié à l'étape 5, ce qui empêche l'utilisateur Webmin d'écraser les fichiers qu'il ne pourrait normalement pas effectuer à une invite du shell. Cela rend le module assez sûr pour les personnes non fiables, bien qu'un utilisateur malveillant puisse configurer une tâche Cron de rapport qui s'exécute extrêmement fréquemment et utilise une quantité excessive de temps CPU.

Configuration du module d'analyse des fichiers journaux Webalizer

Vous pouvez définir les chemins que le module utilise pour le programme Webalizer et son fichier de configuration globale en utilisant le formulaire de configuration du module, accessible via le standard Module Config lien sur la page principale. Lorsqu'on clique dessus, il affiche un formulaire contenant les champs suivants :

Écran de configuration du Webalizer
Webmin
  1. Journal des actions Webmin

  2. Trouver le fichier journal de Firefox ?

  3. Enregistrer l'activité Ssh ?

  4. Comment se connecter à cPanel (expliqué)

  5. 20 fichiers journaux Linux situés dans le répertoire /var/log

Journaux système

Détecteur d'intrusion Fail2Ban

Comment installer Log.io sur CentOS 7

Comment se connecter à cPanel ?

Metrics Webalizer FTP

Connectez-vous à WHM