Log Analyzer für Nginx [geschlossen]


13

Ich habe eine Web-App, die mit Nginx ausgeführt wird, und möchte die Protokolle analysieren, um Informationen darüber zu erhalten, wie viele Treffer jede Datei erzielt und welche 404-Werte und anderen Fehler wir generieren (etwas, das Google Analytics nicht bereitstellen kann).

Normalerweise würde ich awstats einfach auf einem Server ablegen, aber mit nginx ist es aufgrund des Fehlens von cgi-bin nicht trivial. Gibt es eine andere triviale Lösung, um diese Informationen zu erhalten? Es macht mir nichts aus, einen Dritten zu bezahlen, der diese Analyse für mich durchführt.

Antworten:


20

Sie können goaccess verwenden , um Ihre Webprotokolle zu analysieren und eine Zusammenfassung von Treffern, eindeutigen IP-Adressen, statischen Top-Dateien, Top-404-Adressen, verschiedenen Statuscodes und vielem mehr zu erhalten. Es wird eine erste Zusammenfassung der Informationen auf oberster Ebene angezeigt, und anschließend können Sie die einzelnen Hauptkapitel interaktiv aufschlüsseln. Sie füttern es eine Logdatei oder eine Pipe und es ist sehr schnell.

Ich habe es hier auf SF entdeckt und seitdem meine Sichtweise auf Webserver-Protokolle geändert: Ich neige zu opportunistischen, problemgesteuerten Protokollanalysen und war mit Analog, Awstats und Webalizer unzufrieden.


Wow, danke, dass du GoAccess erwähnt hast, es ist verdammt unglaublich!
Richie086

6

Wenn Sie bereit sind, sich die Hand schmutzig zu machen, empfehle ich Ihnen, Logstash + ElasticSearch + Kibana zu verwenden .

Es kann viel mehr als das, wonach Sie fragen, aber es kann das, wonach Sie fragen, gut tun, und Sie haben eine echte Oberfläche, um Ihre Protokolle tatsächlich zu durchsuchen und zu verstehen, was vor sich geht oder gegangen ist.

Dies ist die Kibana-Demo- Website

Dies ist ein Blog-Beitrag, der zeigt, wie es eingerichtet wurde, um Apache Tomcat mit dieser Plattform zu analysieren. Sie können es einfach an Ihre Bedürfnisse anpassen: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -der-tomcat-anwendungen-mit-logstash-und-kibana /


1
+1 für die richtige Antwort.
Tom O'Connor

1

Ich musste diese Woche awstats mit Nginx verwenden und Sie müssen nicht unbedingt cgi-bin verwenden. Awstats wird mit dem Skript awstats_buildstaticpages.pl geliefert, das statische HTML-Dateien generiert, die Sie dann mit Nginx bereitstellen können. Mit einem Cron-Job aktualisiere ich die HTML-Dateien regelmäßig.

/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 (Abhängig von Ihrem Betriebssystem können sich die Pfade etwas unterscheiden, aber Sie können die Skripte finden.)

Um Datenverlust während der Protokollrotation zu vermeiden, können Sie diese Zeile zu Ihrer Datei awstats.domain.com.conf hinzufügen:

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

Das Skript führt die letzten zwei Protokolle zusammen, wenn Sie das Protokoll zum Aktualisieren Ihrer Daten abrufen. Oder Sie können Nginx wie hier einen Pre-Logrotate-Hook hinzufügen: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/


0

Hängt von der gewünschten Funktionalität ab, aber mit AFAIK ist es möglich, AWStats statische Dateien generieren zu lassen - daher ist cgi nicht erforderlich.

Umgekehrt sollte es möglich sein, AWStats als FastCGI-Skript auszuführen. Ich würde sagen, es wird nicht einmal zu viel Hacking sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.