2016-04-04 13 views
-1

Ich habe versucht, Apache Fehlerprotokoll mit dem folgenden Befehl zu analysieren:Parsing Apache error.log in Ubuntu 14.04

sudo tail -f /var/log/apache2/error.log | awk '$8 ~ /(400|500)/ {print $6}' 

Wo ich versuche nur Ansicht 400 Fehler oder 500 Fehler. Aber wenn ich diesen ssh-Befehl ausführe, gibt es nichts zurück. Mit anderen Worten, auf dem Bildschirm wird nichts angezeigt.

Für den Rekord habe ich versucht, meinen Browser auf eine falsche URL-Seite zu zeigen, so dass es 400 Fehler/500 Fehler generiert.

Fehle ich etwas?

+0

Bitte fügen Sie Snippet von error.log – Varun

+0

@Varun Es tut mir leid, es ist nicht möglich, da dies auf einem Produktionsserver ausgeführt wird. Der Inhalt von error.log enthält sowohl "notice" als auch "warning" Level und es baut sich so schnell auf, dass ich nicht einmal die letzten 100 Zeilen erfassen kann. – Jeremy

+0

Die Befehlssyntax sieht für mich OK aus, aber es ist möglich, dass das Feld $ 8 nicht den Fehlercode 400 oder 500 hat. Ersetzen Sie einfach $ 8 durch $ 0 und versuchen Sie awk '$ 0 ~/(400 | 500)/{print $ 6} ". Es ist schwierig, ein Problem herauszufinden, wenn keine Eingabedaten vorhanden sind. – Varun

Antwort

0

Entweder ist die Protokolldatei, die Sie gerade lesen, falsch oder Ihr awk-Skript ist falsch. Versuchen Sie, diese

sudo tail -f /var/log/apache2/error.log | grep GET 

Dies wird Ihnen sagen, wenn Sie tatsächlich GET Anfragen zu sehen. Dann versuchen Sie

cat /usr/local/var/log/apache2/access_log | awk '{print $7}' 

auf einer normalen Apache-Box wird dies die Anfrage URL drucken. Wenn Sie etwas drucken, wissen Sie, dass Sie ein funktionierendes Protokoll haben. Verwenden Sie dann

cat ..../access_log | awk '{print $9}'| egrep "(400|500)" 

, um die Anfragen mit den Fehlern zu sehen. Hinweis. Ich benutze normalerweise nur awk, um auf Separatoren zu splitten, weil, wenn die Dinge komplizierter werden, ich mehr Pipes als Perl benutze.

+0

Danke @Harry, ich versuchte den Schwanz (erster Vorschlag), aber immer noch mit ähnlichem Ergebnis. Ich habe überprüft, ob ich auf die richtige Datei zeige. – Jeremy

+0

Siehst du etwas, wenn du die Datei einfach anfügst? Wenn nicht, dann loggen Sie sich nicht ein oder schauen sich die falsche Datei an. – Harry