htmlAnalysieren Sie Apache-Logs mit awk — Bernd Kuhlen
BK BERND KUHLENAlle Notizen ↗
← Zurück zu den Feldnotizen

Analysieren Sie Apache-Logs mit awk

Hinweis zum Archiv: Dieser Artikel spiegelt die Tools und die Umgebung wider, die verwendet wurden, als er 2019 veröffentlicht wurde.

awk ist ein großartiges Tool für die schnelle, praktische Befehlszeilenanalyse von Apache-Anfragen. Die genaue Syntax hängt natürlich vom LogFormat ab, das ich hier aus Compliance-Gründen nicht offenlegen kann.

Heute habe ich nach Anfragen gesucht, die länger als drei Sekunden gedauert haben; die Anforderungszeit wird in meinem Protokoll in Mikrosekunden angegeben. Ich benötigte auch die URL und wollte die Ergebnisse auf einen bestimmten Zeitraum beschränken. In diesem Beispiel 2019:04:1 steht für alle Anfragen heute zwischen 04:10 und 04:19 UTC.

Hier ist mein Befehl:

cat /httpd/logs/access.log |grep "2019:04:1"| awk '{if ($(NF-2) > 3000000) print $4"-----"$7"-----"$(NF-2);}'

$(NF-2) ist das drittletzte Feld in jeder Zeile, und ich weiß, dass dieses Feld die Anforderungszeit in Mikrosekunden enthält. Der Befehl druckt den Zeitstempel (das vierte Feld, $4), die URL ($7) und die Uhrzeit der Anfrage ($(NF-2)).

BERND KUHLEN · FELDNOTIZEN ZUM CLOUD-ENGINEERING
DE
EnglishENDeutschDEEspañolES中文ZH