English English French French Spanish Spanish German German
Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Surveillance des journaux Nginx et Apache avec GoAccess

analyseur de journaux
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Surveillez et analysez les journaux du serveur Web avec un analyseur de journaux en temps réel open source - GoAccès

Le dépannage Web est amusant et peut être frustrant si vous n'êtes pas équipé des bons outils.

Si vous prenez en charge un site Web à fort trafic, vous devez souvent analyser et surveiller les journaux des serveurs Web pour la planification des performances et de la capacité. Ceci est essentiel pour l'ingénieur Web.

Vérifier manuellement une taille de journal plus petite est acceptable, mais si vous avez le gros fichier, il ne serait pas amusant de parcourir des millions de lignes pour trouver les métriques.

C'est pourquoi vous avez besoin d'outils pour faciliter le travail d'administrateur et le rendre plus productif.

GoAccès un système de analyseur de journaux open source léger qui prend en charge plusieurs formats de journal et peut être utilisé avec l'un des éléments suivants.

  • Nginx
  • Apache HTTP
  • AWS ELB, S3, CloudFront
  • Stockage dans le cloud Google

What metrics can you analyze with GoAccess?

Presque tout ce que vous capturez dans les journaux. Pour vous donner une idée:

  • Il faut du temps pour répondre à la demande
  • IP du visiteur, DNS, hôte
  • Détails du navigateur et du système d'exploitation du visiteur
  • 404 détails non trouvés
  • Top demandes / visiteur
  • Bande passante
  • Fichiers statiques
  • Emplacement géographique
  • Code d'état
  • et plus ..

Vous recherchez ces métriques à surveiller de votre site?

Bien!

On which OS you can install?

GoAccess n'a qu'une seule dépendance - ncurses. Si vous pouvez installer, vous pouvez l'utiliser sur n'importe quel système d'exploitation.

Il est disponible dans le package de distribution pour:

  • Ubuntu
  • Debian
  • Fedora
  • CentOS
  • FreeBSD / OpenBSD
  • Slackware
  • Arch Linux
  • Gentoo
  • MacOS
  • Windows via Cygwin

Cependant, vous pouvez également créer à partir de la source ou utiliser avec Docker.

Si vous êtes nouveau sur Docker, Je recommanderais de prendre ceci Cours de maîtrise Docker.

docker

Installing GoAccess on Ubuntu

  • Connectez-vous au serveur Ubuntu avec le privilège root
  • Utilisez apt-get à installer comme ci-dessous
apt-get installer goaccess

Facile.

Installing on CentOS

Connectez-vous au serveur et exécutez yumcommander

miam installer goaccess

Installing using Source on CentOS/Ubuntu

Vous aimez compiler à partir de la source?

Voici les étapes.

  • Installez les dépendances suivantes si vous utilisez CentOS
miam installer gcc ncurses-devel glib2-devel geoip-devel tokyocabinet-devel
  • Si vous utilisez Ubuntu
apt-get installer libncursesw5-dev libgeoip-dev faire
  • Téléchargez le dernier package en utilisant wget
wget http://tar.goaccess.io/goaccess-1.2.tar.gz
  • Extraire le fichier téléchargé
gunzip –c goaccess-1.2.tar.gz | tar xvf -
  • Accédez au dossier nouvellement créé, que vous avez obtenu après l'extrait
cd goaccess-1.2
  • Compilez avec la commande ci-dessous
./configure --enable-geoip = legacy --enable-utf8 make make install

Cuit, vous avez installé GoAccess et vous êtes prêt à analyser les journaux.

 

Verify Installation

Une fois installé, exécutez simplement goaccess sur l'invite de commande et il devrait imprimer l'utilisation comme ci-dessous.

[root@instance-2 goaccess-1.2]# goaccess 
GoAccess - 1.2
Utilisation: goaccess [filename] [options ...] [-c] [- M] [- H] [- q] [- d] [...]
Les options suivantes peuvent également être fournies à la commande:
Options de format de journal et de date
  --date-format =      - Spécifiez le format de la date du journal. par exemple,% d /% b /% Y
  --log-format =        - Spécifiez le format du journal. Les citations intérieures doivent être
                                    échappé ou utilisez des guillemets simples.
  --time-format =      - Spécifiez le format de l'heure du journal. par exemple,% H:% M:% S
Options de l'interface utilisateur
  -c --config-dialog              - Fenêtre de configuration journal / date / heure d'invite.
  -i --hl-en-tête                  - Panneau actif de surbrillance de couleur.
  -m --avec la souris                 - Activez la prise en charge de la souris sur le tableau de bord principal.
  --couleur =   - Spécifiez des couleurs personnalisées. Voir la page de manuel pour plus
                                    détails et options.
  --color-scheme = <1 | 2 | 3>          - Schémas: 1 => Gris, 2 => Vert, 3 => Monokai.
  --html-personnalisé-css =    - Spécifiez un fichier CSS personnalisé dans le rapport HTML.
  --html-personnalisé-js =      - Spécifiez un fichier JS personnalisé dans le rapport HTML.
  --html-prefs =         - Définissez les préférences de rapport HTML par défaut.
  --html-report-title =     - Définissez le titre et l'en-tête de la page de rapport HTML.
  --json-jolie-impression             - Formater la sortie JSON avec onglets et nouvelles lignes.
  --max-articles                     - Nombre maximum d'éléments à afficher par panneau.
                                    Voir la page de manuel pour les limites.
  --sans couleur                      - Désactivez la sortie colorée.
  --no-column-names               - N'écrivez pas les noms de colonne dans la sortie de terme.
  --no-csv-summary                - Désactivez les métriques récapitulatives sur la sortie CSV.
  --pas de progrès                   - Désactivez les mesures de progression.
  --no-tab-scroll                 - Désactivez le défilement des panneaux sur TAB.
  --no-html-dernière mise à jour          - Masquer le dernier champ HTML mis à jour.
Options du serveur
  --addr =                   - Spécifiez l'adresse IP à laquelle lier le serveur.
  --démoniser                     - Exécuter en tant que démon (si --real-time-html est activé).
  --fifo-in =                - Chemin de lecture du tube nommé (FIFO).
  --fifo-out =               - Chemin d'écriture du tube nommé (FIFO).
  --origin =                 - S'assurer que les clients envoient l'en-tête d'origine spécifié
                                    lors de la poignée de main WebSocket.
  --port =                   - Spécifiez le port à utiliser.
  --temps-réel-html                - Activez la sortie HTML en temps réel.
  --ssl-cert =           - Chemin d'accès au certificat TLS / SSL.
  --ssl-key =            - Chemin de la clé privée TLS / SSL.
  --ws-url =                  - URL à laquelle le serveur WebSocket répond.
Options de fichier
  -                               - Le fichier journal à analyser est lu à partir de stdin.
  -f --log-fichier =        - Chemin d'accès au fichier journal d'entrée.
  -l --debug-file =      - Envoyez tous les messages de débogage au
                                    fichier.
  -p --config-fichier =     - Fichier de configuration personnalisé.
  --invalid-requests =   - Enregistrer les demandes non valides dans le fichier spécifié.
  --no-global-config              - Ne chargez pas le fichier de configuration globale.
Options d'analyse
  -a - liste-d'agents                 - Activer une liste d'agents utilisateurs par hôte.
  -d - avec-résolveur de sortie       - Activez le résolveur IP sur la sortie HTML | JSON.
  -e --exclude-ip =            - Excluez un ou plusieurs IPv4 / 6. Autorise IP
                                    plages, par exemple 192.168.0.1-192.168.0.10
  -H --http-protocole =     - Définit / désactive le protocole de requête HTTP s'il est trouvé.
  -M --http-méthode =       - Définit / annule la méthode de requête HTTP si elle est trouvée.
  -o --output = fichier.html | json | csv  - Sortie d'un fichier HTML, JSON ou CSV.
  -q --no-query-string            - Ignorer la chaîne de requête de la requête. Suppression du
                                    la chaîne de requête peut réduire considérablement la mémoire
                                    consommation.
  -r --no-term-résolveur           - Désactivez le résolveur IP sur la sortie du terminal.
  -444-as-404                    - Traitez le code de statut non standard 444 comme 404.
  --4xx-en-nombre-unique           - Ajouter des erreurs client 4xx aux visiteurs uniques
                                    compter.
  --all-static-files              - Incluez les fichiers statiques avec une chaîne de requête.
  --crawlers uniquement                 - Analyser et afficher uniquement les robots d'exploration.
  --date-spec =           - Spécificité de la date. Valeurs possibles: `date`
                                    (par défaut) ou `hr`.
  --double-décodage                 - Décodez les valeurs à double codage.
  --enable-panel =          - Activer l'analyse / l'affichage du panneau donné.
  --hour-spec =            - Spécificité horaire. Valeurs possibles: `hr`
                                    (par défaut) ou `min` (dixième de min).
  --ignore-robots               - Ignorez les robots d'exploration.
  --ignore-panel =          - Ignorer l'analyse / l'affichage du panneau donné.
  --ignore-referer =       - Ignorer un référent d'être compté. Cartes joker
                                    sont autorisés. c'est-à-dire * .bing.com
  --ignore-status =          - Ignorez l'analyse du code d'état donné.
  --num-tests =            - Nombre de lignes à tester. > = 0 (10 par défaut)
  --process-and-exit              - Analyser le journal et quitter sans générer de données.
  --real-os                       - Afficher les vrais noms de systèmes d'exploitation. par exemple, Windows XP, Snow
                                    Léopard.
  --sort-panel = PANEL, METRIC, ORDER - Trier le panneau lors du chargement initial. Par exemple:
                                    --sort-panel = VISITEURS, BY_HITS, ASC. Voir
                                    page de manuel pour une liste de panneaux / champs.
  --static-file =       - Ajouter une extension de fichier statique. par exemple: .mp3.
                                    Les extensions sont sensibles à la casse.
Options GeoIP
  -g --std-geoip                  - Base de données GeoIP standard pour moins de mémoire
                                   consommation.
  --geoip-database =         - Spécifiez le chemin d'accès au fichier de base de données GeoIP. c'est à dire,
                                    GeoLiteCity.dat, GeoIPv6.dat ...
Autres Options
  -h --aide                       - Cette aide.
  -V --version                    - Afficher les informations de version et quitter.
  -s - stockage                    - Afficher la méthode de stockage actuelle. par exemple, B +
                                    Arbre, Hash.
  --dcf                           - Afficher le chemin de la configuration par défaut
                                    fichier lorsque `-p` n'est pas utilisé.
Des exemples peuvent être trouvés en exécutant `man goaccess`.
Pour plus de détails, visitez: http://goaccess.io
GoAccess Copyright (C) 2009-2016 par Gerardo Orellana
[root@instance-2 goaccess-1.2]# 

Analyzing Nginx & Apache with GoAccess

L'un des moyens les plus rapides d'analyser access.log consiste à utiliser-fparamètre.

Ex:

goaccess -f access.log

Ci-dessus, je demande d'ouvrir le fichier access.log. Cela vous montrera le tableau de bord global et les 15 sections suivantes.

  • Visiteurs uniques par jour
  • Fichiers demandés
  • Requêtes statiques (polices, image, pdf, etc.)
  • Requêtes non trouvées (404)
  • Détails IP / hôte du visiteur
  • OS du visiteur
  • Détails du navigateur
  • Distribution du temps
  • Parrain
  • Code d'état HTTP
  • Emplacement géographique

goaccess-nginx

Si le fichier choisi est mis à jour en temps réel, vous remarquerez que les métriques sont mises à jour sur le terminal. Ici, vous pouvez parcourir les métriques que vous devez analyser.

Real-time Monitoring over HTTP(s)

GoAccess vous permet de rediriger la sortie vers un fichier HTML que vous pouvez utiliser comme surveillance en temps réel. Ceci est pratique lorsque vous ne souhaitez pas vous connecter au serveur chaque fois que vous devez vérifier certaines mesures.

goaccess /var/log/nginx/access.log -o /var/www/geekflare.com/htdocs/real-time.html --log-format = COMBINÉ --real-time-html

Ci-dessus, je redirige la sortie vers le fichier real-time.html qui est disponible sous htdocs. Comme il s'agit de htdocs, je peux accéder à ce fichier à partir de https://geekflare.com/real-time.html chaque fois que j'ai besoin de voir les métriques.

goaccess-tableau de bord

Un beau tableau de bord!

Cependant, je ne recommanderai pas de faire de cette façon en production. Je suis sûr que vous ne voulez pas que quelqu'un lise les journaux de votre serveur Web et vous souhaiterez peut-être appliquer la restriction suivante.

  • Protégez le fichier avec un utilisateur et un mot de passe
  • Autoriser l'accès uniquement à partir de votre IP
  • Utilisez une autre URL avec un port personnalisé et placez-la derrière un pare-feu afin que seuls les IP / utilisateurs autorisés puissent y accéder

GoAccess ressemble à un puissant analyseur de journaux open source. C'est léger et GRATUIT, alors n'hésitez plus et essayez.

Vous pourriez également être intéressé à vérifier analyseur de journaux basé sur le cloud.

Merci à nos commanditaires
Plus de bonnes lectures sur Apache HTTP
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder