Monitoraggio dei registri Nginx e Apache con GoAccess

Monitora e analizza i log dei server Web con l’analizzatore di log in tempo reale open source – GoAccess


La risoluzione dei problemi Web è divertente e può essere frustrante se non si dispone degli strumenti giusti.

Se si supporta un sito Web a traffico intenso, spesso è necessario analizzare e monitorare i registri dei server Web per le prestazioni & pianificazione della capacità. Questo è essenziale per l’ingegnere web.

Controllare manualmente dimensioni di registro più piccole è ok, ma se hai un file di grandi dimensioni, non sarebbe divertente passare attraverso milioni di righe per trovare le metriche.

Ecco perché sono necessari strumenti per facilitare il lavoro dell’amministratore e renderlo più produttivo.

GoAccess è un analizzatore di log open source leggero che supporta più formati di registro e può essere utilizzato con uno dei seguenti.

  • nginx
  • Apache HTTP
  • AWS ELB, S3, CloudFront
  • Google cloud storage

Quali metriche puoi analizzare con GoAccess?

Quasi tutto ciò che acquisisci nei registri. Per darti un’idea:

  • Ci vuole tempo per servire la richiesta
  • IP visitatore, DNS, host
  • Browser del visitatore & Dettagli del sistema operativo
  • 404 dettagli non trovati
  • Principali richieste / visitatori
  • Larghezza di banda
  • File statici
  • Posizione geografica
  • Codice di stato
  • e altro ancora..

Alla ricerca di queste metriche da monitorare del tuo sito?

Buona!

Su quale sistema operativo è possibile installare?

GoAccess ha avuto solo una dipendenza: ncurses. Se è possibile installare, è possibile utilizzarlo su qualsiasi sistema operativo.

È disponibile nel pacchetto di distribuzione per:

  • Ubuntu
  • Debian
  • Fedora
  • CentOS
  • FreeBSD / OpenBSD
  • Slackware
  • Arch Linux
  • Gentoo
  • Mac OS
  • Windows tramite Cygwin

Tuttavia, puoi anche compilare dal sorgente o utilizzare con Docker.

Se non conosci Docker, ti consiglio di prenderlo Corso di padronanza Docker.

Installazione di GoAccess su Ubuntu

  • Accedi al server Ubuntu con il privilegio di root
  • Usa apt-get per installare come di seguito

apt-get install goaccess

Facile.

Installazione su CentOS

Accedi al server ed esegui yumcommand

yum installa goaccess

Installazione utilizzando Source su CentOS / Ubuntu

Adoro compilare dalla fonte?

Ecco i passaggi.

  • Installare le seguenti dipendenze se si utilizza CentOS

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

  • Se si utilizza Ubuntu

apt-get install libncursesw5-dev libgeoip-dev make

  • Scarica l’ultimo pacchetto usando wget

wget http://tar.goaccess.io/goaccess-1.2.tar.gz

  • Estrai il file scaricato

gunzip –c goaccess-1.2.tar.gz | tar xvf –

  • Vai alla cartella appena creata, che hai ottenuto dopo l’estrazione

cd goaccess-1.2

  • Compilare con il comando seguente

./ configure –enable-geoip = legacy –enable-utf8
rendere
fare l’installazione

Molto bene, hai installato GoAccess e tutto pronto per analizzare i log.

Verifica installazione

Una volta installato, esegui semplicemente goaccess sul prompt dei comandi e dovrebbe stampare l’utilizzo come di seguito.

[[Email protected] goaccess-1.2] # goaccess
GoAccess – 1.2
Utilizzo: goaccess [nome file] [opzioni …] [-c] [- M] [- H] [- q] [- d] […]
Le seguenti opzioni possono anche essere fornite al comando:
Login & Opzioni formato data
  –date-format = – Specifica il formato della data del registro. ad esempio,% d /% b /% Y
  –log-format = – Specifica il formato del registro. Le citazioni interne devono essere
                                    scappato o usa virgolette singole.
  –time-format = – Specifica il formato dell’ora del registro. ad esempio,% H:% M:% S
Opzioni dell’interfaccia utente
  -c –config-dialog – Prompt log / date / time configuration window.
  -i –hl-header – Pannello attivo evidenziazione colore.
  -m –with-mouse – Abilita il supporto del mouse sulla dashboard principale.
  –color = – Specifica i colori personalizzati. Vedi la manpage per ulteriori informazioni
                                    dettagli e opzioni.
  –colore-schema =<1 | 2 | 3>          – Schemi: 1 => Grigio, 2 => Verde, 3 => Monokai.
  –html-custom-css = – Specifica un file CSS personalizzato nel rapporto HTML.
  –html-custom-js = – Specifica un file JS personalizzato nel rapporto HTML.
  –html-prefs = – Imposta le preferenze del rapporto HTML predefinito.
  –html-report-title = – Imposta il titolo e l’intestazione della pagina del report HTML.
  –json-pretty-print – Formatta l’output JSON con le schede & newlines.
  –max-items – Numero massimo di elementi da mostrare per pannello.
                                    Vedi la pagina man per i limiti.
  –nessun colore: disabilita l’output colorato.
  –no-column-names – Non scrivere i nomi delle colonne nell’output dei termini.
  –no-csv-summary: disabilita le metriche di riepilogo sull’output CSV.
  –no-progress: disabilita le metriche di progresso.
  –no-tab-scroll – Disabilita lo scorrimento tra i pannelli su TAB.
  –no-html-last-latest – Nasconde il campo HTML dell’ultimo aggiornamento.
Opzioni del server
  –addr = – Specifica l’indirizzo IP a cui associare il server.
  –daemonize – Esegui come demone (se –real-time-html abilitato).
  –fifo-in = – Percorso per leggere la pipe denominata (FIFO).
  –fifo-out = – Percorso per scrivere la pipe denominata (FIFO).
  –origin = – Assicurarsi che i client invino l’intestazione di origine specificata
                                    sulla stretta di mano di WebSocket.
  –port = – Specifica la porta da usare.
  –real-time-html – Abilita l’output HTML in tempo reale.
  –ssl-cert = – Percorso del certificato TLS / SSL.
  –ssl-key = – Percorso della chiave privata TLS / SSL.
  –ws-url = – URL a cui risponde il server WebSocket.
Opzioni file
  –                               – Il file di registro da analizzare viene letto da stdin.
  -f –log-file = – Percorso per l’immissione del file di registro.
  -l –debug-file = – Invia tutti i messaggi di debug allo specifico
                                    file.
  -p –config-file = – File di configurazione personalizzato.
  –invalid-request = – Registra le richieste non valide nel file specificato.
  –no-global-config – Non carica il file di configurazione globale.
Opzioni di analisi
  -a –agent-list – Abilita un elenco di user-agent per host.
  -d –with-output-resolver – Abilita il risolutore IP sull’output HTML | JSON.
  -e –exclude-ip = – Esclude uno o più IPv4 / 6. Permette IP
                                    intervalli ad es. 192.168.0.1-192.168.0.10
  -H –http-protocol = – Imposta / disattiva il protocollo di richiesta HTTP se trovato.
  -M –http-method = – Imposta il metodo di richiesta HTTP / unser se trovato.
  -o –output = file.html | json | csv – Emette un file HTML, JSON o CSV.
  -q –no-query-string – Ignora la stringa di query della richiesta. Rimozione di
                                    la stringa di query può ridurre notevolmente la memoria
                                    consumo.
  -r –no-term-resolver – Disabilita il risolutore IP sull’uscita del terminale.
  –444-as-404 – Tratta il codice di stato non standard 444 come 404.
  –4xx-to-unique-count – Aggiungi errori client 4xx ai visitatori unici
                                    contare.
  –all-static-files – Include i file statici con una stringa di query.
  –solo crawler: analizza e visualizza solo i crawler.
  –date-spec = – Specificità della data. Valori possibili: `data`
                                    (impostazione predefinita) o `hr`.
  –double-decode – Decodifica i valori con doppia codifica.
  –enable-panel = – Abilita l’analisi / visualizzazione del pannello dato.
  –hour-spec = – Specificità dell’ora. Valori possibili: `hr`
                                    (impostazione predefinita) o `min` (decimo di un min).
  –ignore-crawlers: ignora i crawler.
  –ignore-panel = – Ignora l’analisi / visualizzazione del pannello dato.
  –ignore-referer = – Ignora un referer dal conteggio. Jolly
                                    sono ammessi. vale a dire, * .bing.com
  –ignore-status = – Ignora l’analisi del codice di stato indicato.
  –num-tests = – Numero di righe da testare. >= 0 (10 predefinito)
  –process-and-exit – Analizza il log e esce senza emettere dati.
  –real-os – Visualizza i nomi reali del sistema operativo. ad es. Windows XP, Snow
                                    Leopardo.
  –sort-panel = PANEL, METRIC, ORDER – Riordina il pannello al caricamento iniziale. Per esempio:
                                    –sort-panel = VISITATORI, BY_HITS, ASC. Vedere
                                    manpage per un elenco di pannelli / campi.
  –static-file = – Aggiungi l’estensione di file statico. ad es .: .mp3.
                                    Le estensioni fanno distinzione tra maiuscole e minuscole.
Opzioni GeoIP
  -g –std-geoip – Database GeoIP standard per meno memoria
                                  consumo.
  –geoip-database = – Specifica il percorso del file del database GeoIP. vale a dire.,
                                    GeoLiteCity.dat, GeoIPv6.dat …
Altre opzioni
  -h –help – Questa guida.
  -V –version – Visualizza le informazioni sulla versione ed esce.
  -s –storage – Visualizza il metodo di archiviazione corrente. ad es. B+
                                    Albero, hash.
  –dcf – Visualizza il percorso della configurazione predefinita
                                    file quando `-p` non è usato.
Esempi possono essere trovati eseguendo `man goaccess`.
Per maggiori dettagli visitare: http://goaccess.io
GoAccess Copyright (C) 2009-2016 di Gerardo Orellana
[[Email protected] goaccess-1.2] #

Analizzare Nginx & Apache con GoAccess

Uno dei modi più veloci per analizzare access.log è usando-fparameter.

Ex:

goaccess -f access.log

Sopra, sto dando istruzioni per aprire il file access.log. Questo ti mostrerà la dashboard generale e le seguenti 15 sezioni.

  • Visitatori unici al giorno
  • File richiesti
  • Richieste statiche (caratteri, immagine, pdf, ecc.)
  • Richieste non trovate (404)
  • Dettagli IP / host del visitatore
  • Sistema operativo del visitatore
  • Dettagli del browser
  • Distribuzione del tempo
  • Referente
  • Codice di stato HTTP
  • Posizione geografica

Se il file scelto viene aggiornato in tempo reale, noterai che le metriche vengono aggiornate sul terminale. Qui puoi esaminare le metriche che devi analizzare.

Monitoraggio in tempo reale su HTTP (s)

GoAccess ti consente di reindirizzare l’output in un file HTML che puoi utilizzare come monitoraggio in tempo reale. Ciò è utile quando non si desidera accedere al server ogni volta che è necessario verificare alcune metriche.

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

Sopra, sto reindirizzando l’output al file real-time.html che è disponibile in htdocs. Dal momento che è htdocs, posso accedere a questo file da https://geekflare.com/real-time.html ogni volta che devo vedere le metriche.

Un bellissimo cruscotto!

Tuttavia, non consiglierò di farlo in produzione. Sono sicuro che non vuoi che qualcuno legga i log del tuo server web e che potresti voler applicare la seguente limitazione.

  • Proteggi il file con utente e password
  • Consenti l’accesso solo dal tuo IP
  • Usa un altro URL con porta personalizzata e mettilo dietro un firewall in modo che solo gli IP / utenti consentiti possano accedervi

GoAccess sembra un potente analizzatore di log open source. È leggero e GRATUITO, quindi vai avanti e prova.

Potresti anche essere interessato a consultare l’analizzatore di log basato su cloud.

TAGS:

  • Monitoraggio

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