Surveillance des journaux Nginx et Apache avec GoAccess

Surveillez et analysez les journaux du serveur Web avec l’analyseur de journaux en temps réel open source – GoAccess


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 performances des journaux des serveurs Web. & planification des capacités. Ceci est essentiel pour l’ingénieur web.

Vérifier manuellement une taille de journal plus petite est correct, mais si vous avez un fichier volumineux, il ne serait pas amusant de parcourir des millions de lignes pour trouver les mesures.

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

GoAccess est un 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 cloud Google

Quelles mesures pouvez-vous analyser avec GoAccess?

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

  • Le temps est pris pour répondre à la demande
  • IP visiteur, DNS, hôte
  • Navigateur du visiteur & Détails du système d’exploitation
  • 404 détails non trouvés
  • Top requêtes / visiteur
  • Bande passante
  • Fichiers statiques
  • Emplacement géographique
  • Code d’état
  • et plus..

Vous recherchez ces mesures à surveiller de votre site?

Bien!

Sur quel OS vous pouvez installer?

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 en package de distribution pour:

  • Ubuntu
  • Debian
  • Feutre
  • 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 ce Cours de maîtrise Docker.

Installer GoAccess sur Ubuntu

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

apt-get install goaccess

Facile.

Installation sur CentOS

Connectez-vous au serveur et exécutez la commande yum

yum installer goaccess

Installation à l’aide de Source sur CentOS / Ubuntu

Aimer la compilation à partir de la source?

Voici les étapes.

  • Installez les dépendances suivantes si vous utilisez CentOS

yum install gcc ncurses-devel glib2-devel geoip-devel tokyocabinet-devel

  • Si vous utilisez Ubuntu

apt-get install libncursesw5-dev libgeoip-dev make

  • 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
faire
faire installer

Bien joué, vous avez installé GoAccess et prêt à analyser les journaux.

Vérifier l’installation

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

[[protégé par e-mail] goaccess-1.2] # goaccess
GoAccess – 1.2
Utilisation: goaccess [nom de fichier] [options …] [-c] [- M] [- H] [- q] [- d] […]
Les options suivantes peuvent également être fournies à la commande:
Journal & Options de format de date
  –date-format = – Spécifiez le format de date du journal. par exemple,% d /% b /% Y
  –log-format = – Spécifiez le format du journal. Les citations internes doivent être
                                    échappé ou utilisez des guillemets simples.
  –time-format = – Spécifiez le format d’heure du journal. par exemple,% H:% M:% S
Options d’interface utilisateur
  -c –config-dialog – Fenêtre de configuration du journal / date / heure d’invite.
  -i –hl-header – Panneau actif de surbrillance des couleurs.
  -m –with-mouse – Active la prise en charge de la souris sur le tableau de bord principal.
  –color = – Spécifiez des couleurs personnalisées. Voir la page de manuel pour plus
                                    détails et options.
  –palette de couleurs =<1 | 2 | 3>          – Schémas: 1 => Gris, 2 => Vert, 3 => Monokai.
  –html-custom-css = – Spécifiez un fichier CSS personnalisé dans le rapport HTML.
  –html-custom-js = – Spécifiez un fichier JS personnalisé dans le rapport HTML.
  –html-prefs = – Définir les préférences de rapport HTML par défaut.
  –html-report-title = – Définit le titre et l’en-tête de la page de rapport HTML.
  –json-pretty-print – Format de sortie JSON avec onglets & nouvelles lignes.
  –max-items – Nombre maximum d’éléments à afficher par panneau.
                                    Voir la page de manuel pour les limites.
  –no-color – Désactive la sortie colorée.
  –no-column-names – N’écrit pas les noms de colonne dans la sortie du terme.
  –no-csv-summary – Désactive les métriques récapitulatives sur la sortie CSV.
  –no-progress – Désactiver les mesures de progression.
  –no-tab-scroll – Désactive le défilement des panneaux sur TAB.
  –no-html-last-updated – Masque le dernier champ HTML mis à jour.
Options du serveur
  –addr = – Spécifiez l’adresse IP à laquelle lier le serveur.
  –daemonize – Exécuter en tant que démon (si –real-time-html activé).
  –fifo-in = – Chemin pour lire le canal nommé (FIFO).
  –fifo-out = – Chemin pour écrire le canal nommé (FIFO).
  –origin = – Assurez-vous que les clients envoient l’en-tête d’origine spécifié
                                    sur la poignée de main WebSocket.
  –port = – Spécifiez le port à utiliser.
  –real-time-html – Active la sortie HTML en temps réel.
  –ssl-cert = – Chemin vers le certificat TLS / SSL.
  –ssl-key = – Chemin vers la clé privée TLS / SSL.
  –ws-url = – URL à laquelle le serveur WebSocket répond.
Options de fichier
  –                               – Le fichier journal à analyser est lu depuis stdin.
  -f –log-file = – Chemin d’accès au fichier journal d’entrée.
  -l –debug-file = – Envoie tous les messages de débogage au spécifié
                                    fichier.
  -p –config-file = – Fichier de configuration personnalisé.
  –invalid-requests = – Enregistre les demandes non valides dans le fichier spécifié.
  –no-global-config – Ne charge pas le fichier de configuration globale.
Options d’analyse
  -a –agent-list – Active une liste d’agents utilisateurs par hôte.
  -d –with-output-resolver – Active le résolveur IP sur la sortie HTML | JSON.
  -e –exclude-ip = – Exclure un ou plusieurs IPv4 / 6. Autorise IP
                                    gammes par ex. 192.168.0.1-192.168.0.10
  -H –http-protocol = – Définit / annule le protocole de requête HTTP s’il est trouvé.
  -M –http-method = – Définit / annule la méthode de requête HTTP si trouvée.
  -o –output = file.html | json | csv – Affiche un fichier HTML, JSON ou CSV.
  -q –no-query-string – Ignore la chaîne de requête de la requête. Retrait du
                                    la chaîne de requête peut considérablement réduire la mémoire
                                    consommation.
  -r –no-term-resolver – Désactive le résolveur IP sur la sortie du terminal.
  –444-as-404 – Traitez le code de statut non standard 444 comme 404.
  –4xx-to-unique-count – Ajoutez des erreurs client 4xx aux visiteurs uniques
                                    compter.
  –all-static-files – Inclure des fichiers statiques avec une chaîne de requête.
  –robots uniquement – Analyse et affiche uniquement les robots.
  –date-spec = – Spécificité de date. Valeurs possibles: `date`
                                    (par défaut) ou `hr`.
  –double-decode – Décode les valeurs codées en double.
  –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-crawlers – Ignorer les robots.
  –ignore-panel = – Ignorer l’analyse / l’affichage du panneau donné.
  –ignore-referer = – Ignore un référent du comptage. Cartes génériques
                                    sont autorisés. c’est-à-dire * .bing.com
  –ignore-status = – Ignore 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 sortir les données.
  –real-os – Affiche les vrais noms de système d’exploitation. par exemple, Windows XP, Snow
                                    Léopard.
  –sort-panel = PANEL, METRIC, ORDER – Tri du panneau à la charge initiale. Par exemple:
                                    –panneau de tri = 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 –help – Cette aide.
  -V –version – Afficher les informations de version et quitter.
  -s –storage – Affiche la méthode de stockage actuelle. par exemple, B+
                                    Arbre, hachage.
  –dcf – Affiche 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
[[protégé par e-mail] goaccess-1.2] #

Analyse de Nginx & Apache avec GoAccess

L’une des façons les plus rapides d’analyser access.log consiste à utiliser -paramè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
  • Demandes statiques (polices, image, pdf, etc.)
  • Requêtes non trouvées (404)
  • Informations sur l’hôte / l’adresse IP du visiteur
  • OS du visiteur
  • Détails du navigateur
  • Distribution du temps
  • Référent
  • Code d’état HTTP
  • Emplacement géographique

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

Surveillance en temps réel sur HTTP (s)

GoAccess vous permet de rediriger la sortie vers un fichier HTML que vous pouvez utiliser comme surveillance en temps réel. C’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 = COMBINED –real-time-html

Ci-dessus, je redirige la sortie vers un fichier en temps réel.html qui est disponible sous htdocs. Puisqu’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 mesures.

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 pouvez appliquer la restriction suivante.

  • Protégez le fichier avec l’utilisateur et le 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 accéder

GoAccess est un analyseur de journaux open source puissant. Il est léger et GRATUIT alors allez-y et essayez.

Vous pouvez également être intéressé par un analyseur de journaux basé sur le cloud.

MOTS CLÉS:

  • surveillance

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map