Analizzatore di log per nginx [chiuso]


13

Ho un'app Web in esecuzione con nginx e mi piacerebbe analizzare i log per ottenere informazioni su quanti hit sta ricevendo ogni file e quali 404s e altri errori che stiamo generando (qualcosa che Google Analytics non può fornire).

Normalmente lascerei cadere awstats in un server, ma con nginx, a causa della mancanza di cgi-bin, non è banale. C'è un'altra soluzione banale per ottenere queste informazioni? Non mi dispiace pagare una terza parte per fare questa analisi per me.

Risposte:


20

Puoi utilizzare goaccess per analizzare i tuoi log web e ottenere un riepilogo di hit, IP univoci, file statici in alto, top 404, codici di stato diversi e altro ancora. Visualizza un primo riepilogo di primo livello delle informazioni e quindi consente di analizzare in modo interattivo ciascun capitolo principale. Gli dai un file di log o una pipe ed è molto veloce.

L'ho scoperto qui su SF e da allora ha cambiato il mio modo di guardare i log dei server web: tendo a fare un'analisi opportunistica dei log guidata dai problemi ed ero insoddisfatto di analogici, awstats e webalizer.


Wow, grazie per aver menzionato GoAccess, è davvero incredibile!
Richie086,

6

Se sei disposto a sporcarti la mano, ti consiglio di usare Logstash + ElasticSearch + Kibana .

Può fare molto di più di quello che chiedi, ma può fare quello che chiedi bene e avrai un vero inferface per sfogliare effettivamente i tuoi log per capire cosa sta succedendo o è successo.

Questo è il sito Web demo di Kibana

Questo è un post sul blog che mostra come è stato configurato per analizzare Apache Tomcat con questa piattaforma, puoi semplicemente adattarlo alle tue esigenze: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -di-tomcat-applicazioni-con-logstash-e-Kibana /


1
+1 per la risposta giusta.
Tom O'Connor,

1

Questa settimana ho dovuto usare awstats con Nginx e non devi necessariamente usare cgi-bin. Awstats viene fornito con lo script awstats_buildstaticpages.pl che genererà file html statici che è possibile pubblicare con Nginx. Con un lavoro cron aggiorno regolarmente i file html.

/usr/share/doc/awstats/examples/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl

/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=domain.com -dir=/path/to/save/html/files awstatsprog=/usr/lib/cgi-bin/awstats.pl (A seconda del sistema operativo in uso, i percorsi potrebbero differire leggermente, ma sarai in grado di trovare gli script)

Per evitare la perdita di dati durante la rotazione del registro, è possibile aggiungere questa riga al file awstats.domain.com.conf:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /path/to/log/access.domain.tld.log /path/to/log/access.domain.tld.log.1 |"

Lo script unirà gli ultimi 2 registri ogni volta che recupererai il registro per aggiornare i tuoi dati. Oppure puoi aggiungere un hook pre-logrotato su Nginx come fanno qui: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/


0

Dipende dal livello di funzionalità richiesto, ma AFAIK è possibile fare in modo che AWStats generi file statici, quindi non è necessario cgi.

Al contrario, dovrebbe essere possibile far funzionare AWStats come script FastCGI. Direi che non sarà nemmeno troppo hacking.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.