Protokolle können ein äußerst wichtiger Aspekt für die eigene Webumgebung sein. Sie stellen Ihnen zusätzliche Daten zur Verfügung, die für Debugging-Zwecke, Informationszwecke und mehr nützlich sind. Wir haben in der Vergangenheit über Protokolle gesprochen, insbesondere Nginx-Fehler-und Zugriffsprotokolle sowie Protokollanalysetools., In diesem Beitrag werden wir uns jedoch eingehender mit den Details zum Apache-Zugriffsprotokoll befassen und untersuchen, wo es sich befindet, wie es gelesen und konfiguriert wird.
Was ist ein Apache Access Log?
In den Apache-Zugriffsprotokollen werden Informationen zu Ereignissen gespeichert, die auf Ihrem Apache-Webserver aufgetreten sind. Wenn beispielsweise jemand Ihre Website besucht, wird ein Protokoll aufgezeichnet und gespeichert, um dem Apache-Webserver-Administrator Informationen wie die IP-Adresse des Besuchers, die angezeigten Seiten, Statuscodes, den verwendeten Browser usw. bereitzustellen.,
Apache-Webserver bieten Administratoren auch eine andere Art von Protokolldatei namens Fehlerprotokolle. Diese Protokolldatei wird verwendet, um weitere Informationen zu einem bestimmten Fehler auf dem Webserver bereitzustellen. Aber für die Zwecke dieses Beitrags konzentrieren wir uns speziell auf die Apache access-log-Datei.
Wo finde ich das Apache Access Log?
Für die meisten Apache-Benutzer befindet sich das Zugriffsprotokoll am selben Ort., Versuchen Sie zunächst, zu einem der folgenden zwei Verzeichnisse zu navigieren:
/var/log/apache/access.log
/var/log/apache2/access.log
Wenn keiner dieser Pfade Sie zur Apache-Zugriffsprotokolldatei führt, haben Sie möglicherweise eine benutzerdefinierte Konfiguration in Ihrer Apache-Konfigurationsdatei, die definiert, wo der Zugriff erfolgt.protokolldatei befindet. Versuchen Sie, den folgenden Befehl auszuführen, wenn Sie die Datei sudo locate access.log
nicht finden können.
Lesen der Apache-Zugriffsprotokolle
In jedem Apache-Protokoll können ziemlich viele Informationen gespeichert sein., Wenn Sie also zuerst alle Daten in einer Access-Datei sehen, werden Sie möglicherweise schnell überfordert, wenn Sie nicht mit den jeweiligen Abschnitten vertraut sind. Nehmen wir ein Beispiel, das das übliche Apache-Protokollformat verwendet: LogFormat "%h %l %u %t \"%r\" %>s %b" common
.
Lassen Sie uns nun aufschlüsseln, was jeder Abschnitt dieses Protokolls bedeutet.
-
%h
Die IP-Adresse des Clients. -
%l
Die Identität des Clients bestimmt durchidentd
auf dem Client-Rechner. Gibt einen Bindestrich zurück (-
), wenn diese Informationen nicht verfügbar sind., -
%u
Die Benutzer-ID des Clients, wenn die Anforderung authentifiziert wurde. -
%t
Die Zeit, zu der die Anforderung empfangen wurde. -
\"%r\"
Die Anforderungszeile, die die verwendete HTTP-Methode, den angeforderten Ressourcenpfad und das vom Client verwendete HTTP-Protokoll enthält. -
%>s
Der Statuscode, den der Server an den Client zurücksendet. -
%b
Die Größe des Objekts angefordert.,
Wenn eine Anfrage an eine Website mit dem oben genannten Protokollformat gestellt wurde, würde das resultierende Protokoll wie folgt aussehen.
127.0.0.1 - peter "GET /sample-image.png HTTP/2" 200 1479
Apache custom log format
Wenn Sie mit Ihren Zugriffsprotokollen etwas detaillierter werden müssen, können Sie das Apache custom log Format verwenden. Mit dem benutzerdefinierten Protokollmodul müssen Sie in Ihrer Apache-Konfigurationsdatei definieren, wo das Protokoll gespeichert werden soll, sowie das Format, das Sie verwenden möchten., Ein beliebtes benutzerdefiniertes Protokollformat namens“combined“ verwendet beispielsweise das folgende Muster:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combinedCustomLog log/access_log combined
Die Apache-Zugriffsprotokolle können viele Informationen zu den eingehenden Anforderungen an Ihren Webserver enthalten. Wenn Sie diese Protokolle in großen Mengen analysieren müssen, kann es von Vorteil sein, ein Protokollanalysetool zu verwenden, mit dem Sie die Zahlen viel schneller „knacken“ können. Schauen Sie sich unseren vollständigen Beitrag zu den über 10 besten Protokollanalysetools an, mit denen Sie Ihre Protokolldaten besser verstehen können.