Einfacher NGINX-Protokolldateianalysator [geschlossen]

73

Ich suche nach einem einfachen Tool zum Analysieren meiner NGINX-Protokolle auf meinem MacBook. Ich möchte in der Lage sein, einige grundlegende Statistiken einschließlich des Bot-Zugriffs zu erhalten und die Protokolle zu sortieren / filtern, um herauszufinden, was unmittelbar vor dem Absturz des Servers passiert ist.

uwe
quelle

Antworten:

113

Sie können es mit GoAccess versuchen . kostenlose und Open-Source-Konsole basiert. Möglicherweise wird auch ein HTML-Bericht ausgegeben.

Alex Mazzariol
quelle
16
Vielen Dank für den Hinweis auf goaccess - einfach zu installieren (apt-get install goaccess unter Debian / Ubuntu) und macht eine Menge netter Dinge direkt in der Befehlszeile direkt nach dem Auspacken. Kein Setup.
Rfay
6
Installiert auch mit brew install goaccessauf Mac.
Matt
Um unter Mac OS X zu installieren, ohne sich auf Homebrew zu verlassen, lesen Sie hier die häufig gestellten Fragen zu goaccess , insbesondere den Abschnitt So installieren Sie GoAccess von der Quelle unter OS X El Capitan.
Anupam
1
mit dem standardmäßigen kombinierten NGINX-Format goaccess --log-format=COMBINED access.logoder { cat access.log; zcat access.log.*.gz; } | goaccess --log-format=COMBINED -(für alle Protokolle) hat bei mir gut funktioniert.
Sean Breckenridge
26

Ich bin auf Besucher gestoßen . Es ist in C geschrieben und ziemlich schnell.

Es fehlt die coole ncruses-Schnittstelle von goaccess. Es wird nur HTML ausgegeben. Es macht den Job jedoch.

Bearbeiten: Es können auch lesbare Textberichte ausgegeben werden:

visitors access.log | less
moebius_eye
quelle
7

Ich werde vorschlagen, Logstash und Kibana mit folgenden Mustern zu verwenden:

für access.log:

NGINXACCESS %{IPORHOST:clientip} - %{USERNAME:remote_user} \[%{HTTPDATE:time_local}\] %{QS:request} %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}

für error.log:

 NGINXERROR (?<timestamp>%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}[- ]%{TIME}) \[%{LOGLEVEL:severity}\] %{POSINT:pid}#%{NUMBER}: %{GREEDYDATA:errormessage}(?:, client: (?<clientip>%{IP}|%{HOSTNAME}))(?:, server: %{IPORHOST:server})(?:, request: %{QS:request})?(?:, host: %{QS:host})?(?:, referrer: \"%{URI:referrer})?
David
quelle
Elchstapel ist die leistungsstärkste Lösung, wenn sie gut konfiguriert ist.
thclpr
erfordert aber viel GB und einige grundlegende VPS können es nicht einfach ausführen
Realtebo
Einverstanden mit Ihnen
David
5

Das Request-Log-Analyzer-Juwel hat jetzt Nginx-Unterstützung in der Hauptniederlassung und ich suche jemanden, der es testet. http://github.com/wvanbergen/request-log-analyzer .

Bart ten Brinke
quelle
Kann es sowohl die NGINX-Zugriffsprotokolle als auch die Fehlerprotokolle verarbeiten?
Uwe
3

Ich habe jetzt Splunk ausprobiert , es ist ein ziemlich mächtiges Tool und sie haben auch eine kostenlose Version.

uwe
quelle
Wow, es ist ziemlich toll! Die kostenlose Version begrenzt Sie auf 500 MB neue Protokolle pro Tag, was großzügig genug ist.
Chichilatte
1
Ich kenne das Produkt noch nicht, aber die Website fühlt sich für mich sehr verwirrend an
Carles Alcolea