29 Logging in Squid

Das Logging ist ein wesentlicher Bestandteil der Verwaltung und Überwachung von Squid-Proxys. Es ermöglicht Administratoren, Anfragen zu überwachen, Fehler zu diagnostizieren und die Leistung des Proxys zu analysieren. In diesem Kapitel werden die wichtigsten Direktiven, Log-Dateien und das Log-Format im Detail beschrieben.

29.1 Wichtige Logging-Direktiven

29.1.1 Direktiven in absteigender Reihenfolge ihrer Bedeutung und Häufigkeit der Anwendung:

  1. access_log
  2. cache_log
  3. logformat
  4. debug_options
  5. emulate_httpd_log

29.2 Wichtige Log-Dateien

29.3 Log-Format

Das Standard-Log-Format von Squid in der access.log verwendet Felder, die detaillierte Informationen über jede Anfrage bereitstellen. Hier ist eine Beschreibung der Standardfelder:

Feld Bedeutung
Zeitstempel Gibt die Uhrzeit und das Datum der Anfrage an.
Antwortzeit Die Zeit (in Millisekunden), die Squid benötigt hat, um die Anfrage zu verarbeiten.
Client-IP Die IP-Adresse des Clients, der die Anfrage gesendet hat.
Cache-Status Der Status des Caches (z.B. TCP_HIT, TCP_MISS).
HTTP-Methode Die HTTP-Methode der Anfrage (z.B. GET, POST).
URL Die vollständige URL der angeforderten Ressource.
Größe Die Größe der Antwort (in Bytes).
HTTP-Status Der HTTP-Statuscode der Antwort (z.B. 200, 404).
Hierarchie-Status Gibt die Quelle der Antwort an (z.B. DIRECT, CACHED).
Hostname Der Hostname des Zielservers oder -clients.

29.3.1 Beispiel eines Standard-Log-Eintrags:

1622204413.300    213 192.168.1.100 TCP_MISS/200 1245 GET http://example.com/page.html - DIRECT/93.184.216.34 text/html

In diesem Beispiel zeigt der Eintrag eine Anfrage von der IP 192.168.1.100, die nicht aus dem Cache (TCP_MISS) bedient wurde und einen HTTP-Statuscode von 200 hatte.

29.4 Cache Status Codes

Status-Code Beschreibung
TCP_HIT Die Anfrage wurde aus dem Cache beantwortet.
TCP_MEM_HIT Die Anfrage wurde aus dem Speicher-Cache beantwortet.
TCP_DISK_HIT Die Anfrage wurde aus dem Festplatten-Cache beantwortet.
TCP_MISS Die Anfrage konnte nicht im Cache gefunden werden und wurde vom Ursprungserver bezogen.
TCP_REFRESH_HIT Der Cache-Eintrag wurde erfolgreich überprüft und aktualisiert.
TCP_REFRESH_MISS Der Cache-Eintrag wurde überprüft, war jedoch ungültig und musste vom Server aktualisiert werden.
TCP_REFRESH_FAIL Die Überprüfung des Cache-Eintrags schlug fehl, die Anfrage konnte nicht aktualisiert werden.
TCP_CLIENT_REFRESH_MISS Der Client hat explizit eine Aktualisierung des Cache-Eintrags angefordert, der veraltet war.
TCP_DENIED Die Anfrage wurde durch eine Access-Control-Liste blockiert.
TCP_REDIRECT Die Anfrage wurde umgeleitet (z. B. durch eine Redirector-Anwendung).
NONE Kein Cache-Zustand, z.B. wenn eine direkte Anfrage gestellt wurde.
UDP_HIT Eine ICP-Anfrage (Internet Cache Protocol) wurde aus dem Cache beantwortet.
UDP_MISS Eine ICP-Anfrage konnte nicht im Cache gefunden werden und wird an den Ursprung weitergeleitet.
UDP_DENIED Eine ICP-Anfrage wurde durch eine Access-Control-Liste blockiert.
UDP_INVALID Eine ungültige ICP-Anfrage wurde empfangen.
ERR_INVALID_REQ Eine ungültige oder fehlerhafte Anfrage wurde empfangen.