Journaux Nginx et Apache Monitorutiliser GoAccess
Monitor et analysez les journaux du serveur Web avec un analyseur de journaux open source en temps réel – GoAccès
Le dépannage Web est amusant et peut être frustrant si vous n'êtes pas équipé des bons outils.
Si vous gérez un site Web à fort trafic, vous devez souvent analyser et monitor Journaux des serveurs Web pour les performances et la capacité planning. C’est essentiel pour l’ingénieur web.
Vérification du manuel de taille de journal plus petiteally c'est ok, mais si vous avez un fichier volumineux, ce ne serait pas amusant de parcourir des millions de lignes pour trouver les métriques.
C'est pourquoi vous avez besoin d'outils faciliterate travail d'administrateur et rends-le plus productive.
GoAccès est une 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
- Google cloud stockage
Quelles métriques pouvez-vous analyser avec 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
- B du visiteurrowsDétails de la version et du système d'exploitation
- 404 détails non trouvés
- Top demandes / visiteur
- Bandwidth
- Fichiers statiques
- Emplacement géographique
- Code d'état
- et plus ..
Vous recherchez ces mesures monitored de votre site ?
Bien!
Sur quel OS pouvez-vous 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 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.
Installer GoAccess sur Ubuntu
- Connectez-vous au serveur Ubuntu avec le privilège root
- Utilisez
apt-get
à installer comme ci-dessous
apt-get installer goaccess
Facile.
Installation sur CentOS
Connectez-vous au serveur et exécutez yum
commander
miam installer goaccess
Installation à l'aide de Source sur 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 lateer paquet utilisant
wget
wget http://tar.goaccess.io/goaccess-1.2.tar.gz
- Extract du fichier téléchargé
gunzip –c goaccess-1.2.tar.gz | tar xvf -
- Aller à la nouvelle créationated dossier, que vous avez obtenu après extract
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.
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.
[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: Journal & Date Options de format --réate-format=<dateformater> - Préciser le journal date format. 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-dialogue - Journal rapide/date/configuration de l'heure window. -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 -Disable sortie colorée. --pas de noms de colonnes - N'écrivez pas les noms de colonne dans la sortie de terme. --no-csv-résumé -Disable métriques récapitulatives sur la sortie CSV. --pas de progrès -Disable mesures de progrès. --pas de défilement de tabulation -Disable faire défiler les panneaux sur TAB. --no-html-dernière mise à jourated - Masquer la dernière mise à jour HTMLatechamp d. 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/SSLate. --ssl-key = - Chemin vers la confidentialité TLS/SSLate clé. --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-sortie-resolver - Activer IP resolver 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 --pas de chaîne de requête - 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 --pas de terme-resolver -Disable IP resolver 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. --tous les fichiers-statiques - Incluez les fichiers statiques avec une chaîne de requête. --crawlers uniquement - Analyser et afficher uniquement les robots d'exploration. --réate-spec=<date|h> - Date spécificité. 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-et-sortie - Analyser le journal et quitter sans générer de données. --real-os - Afficher les vrais noms de système d'exploitation. par exemple, Windows XP, Neige 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-géoip - 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]#
Analyser Nginx et Apache avec GoAccess
L'un des moyens les plus rapides d'analyser access.log consiste à utiliser-f
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
- Requêtes statiques (polices, image, pdf, etc.)
- Requêtes non trouvées (404)
- Détails IP / hôte du visiteur
- OS du visiteur
- Browseuh, les détails
- Distribution du temps
- Parrain
- Code d'état HTTP
- Emplacement géographique
Si le fichier choisi est en cours de mise à jourated en temps réel, vous remarquerez que les métriques sont mises à jourated sur le terminal. Ici, vous pouvez passer en revue les métriques que vous devez analyser.
En temps réel Monitoring via HTTP(s)
GoAccess vous permet de rediriger la sortie vers un fichier HTML que vous pouvez utiliser en temps réel monitoring. 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=COMBINED --real-time-html
Ci-dessus, je redirige la sortie vers le fichier real-time.html disponible sous htdocs. Puisqu'il s'agit de htdocs, je peux accéder à ce fichier depuis https://geekflare.com/real-time.html chaque fois que j'ai besoin de voir les métriques.
A beautiful 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.