Unterabschnitte


12.5 Log-Dateien

Squid erzeugt im laufenden Betrieb, abhängig von der jeweiligen Konfiguration, mehrere Log-Dateien mit unterschiedlichem Inhalt. Die gängigen Log-Dateien, deren Bedeutung und Inhalt wird in diesem Abschnitt detailliert erläutert.

12.5.1 squid.out

Wenn Squid über das mitgelieferte Script RunCache gestartet wird, werden in diese Datei alle zur Startzeit erzeugten Consolenausgaben sowie fatal errors geschrieben.

Wenn Squid im Dämonmodus gestartet wird, stehen diese Informationen i.d.R. in den - in der Konfigurationsdatei squid.conf definierten - Log-Dateien zur Verfügung.


12.5.2 cache.log

Diese Datei enthält alle Debug- und Fehlermeldungen, die vom Squid-Prozess während des Betriebs erzeugt werden. Sie finden hier Informationen, wann und wie Squid gestartet und beendet wurde, welche Fehler wärend des Betriebs aufgetreten sind und - je nach Debug-Level - statistische Informationen.

Bei einem Fehler lohnt sich auf jeden Fall zuerst ein Blick in diese Datei. Auch im Normalbetrieb können hier ggf. schon Hinweise auf bevorstehende Probleme gefunden werden.


12.5.3 useragent.log

Diese Datei ist nur verfügbar, wenn Squid mit der Option -enable-useragent-log installiert wurde, und in der Konfigurationsdatei (squid.conf) hierfür mit useragent_log eine Zieldatei definiert wurde. In dieser Datei finden Sie Informationen über verwendete Browser und Betriebssysteme Ihrer Clients.


12.5.4 store.log

Die Datei store.log protokolliert das Ablegen und Entfernen von Objekten aus dem Platten-Cache. Diese Informationen dienen hauptsächlich zur Fehlersuche. Eine andere sinnvolle Anwendung ist zz. mangels brauchbaren Auswerteprogrammen nicht bekannt. Daher kann das Protokoll auch ohne Probleme abgeschaltet werden.

Jede Zeile der Datei besteht aus 11, durch Leerzeichen getrennte Spalten, mit folgender Aufteilung:

time  action  file_number  status  datehdr 
lastmod  expires  type  sizes  method  key12.1
time
 
Dieser Zeitstempel gibt das Datum und Uhrzeit des Request auf Millisekunden genau im UNIX-Format (Sekunden seit dem 1.1.1970) an.
action
 
Beschreibt die Aktion, die auf das Objekt angewendet wurde:
CREATE Zur Zeit unbenutzt
RELEASE Das Objekt wurde aus dem Speicher entfernt
SWAPOUT Das Objekt wurde auf Platte ausgelagert
SWAPIN Das Objekt wurde von Platte in den Speicher gelesen
file_number
 
Die Dateinummer des Objekts im Cache.
Die Dateinummer FFFFFFFF bestimmt Objekte, die nur im Speicher gehalten werden ("memory only" objects).
status
 
Der Statuscode der HTTP-Antwort (siehe B).
datehdr
 
Der Wert von "Date: " aus dem HTTP-Header der Antwort.
lastmod
 
Der Wert von "Last-Modified: " aus dem HTTP-Header der Antwort.
expires
 
Der Wert von "Expires: " aus dem HTTP-Header der Antwort.
type
 
Der major-Wert für den Content-Type des Objekts oder unknown, wenn kein Wert bestimmt werden konnte (siehe H).
sizes
 
Dieses Feld enthält zwei Werte, die durch einen Schrägstrich getrennt sind. Die Größenangabe des Inhalts, wie sie im HTTP-Header unter Content-Length: angegeben ist und die tatsächlich gelesene Größe des Objekts.
method
 
Die Zugriffsmethode für das Objekt (siehe C).
key
 
Die Bezeichnung des Objekts, gewöhnlich der URL.


12.5.5 access.log

In der Datei access.log werden alle Anfragen an den Proxyserver geloggt. D.h. nicht nur die aufgerufene Seite selbst, auch alle darin enthaltenen Verknüpfungen, z.B. zu enthaltenen Bildern, Skripten etc., die mit der Seite geladen werden.

Das Format der Log-Einträge kann in der Datei squid.conf teilweise verändert werden. Ein Standardeintrag (Original Logfile) könnte wie folgt aussehen:

1015432147.168 1029 192.168.2.7 TCP_MISS/200 1538 
GET http://www.foo.bar/index.html - 
FIRST_UP_PARENT/fw.mynet.org text/html
Die Zeile besteht aus 10 Feldern, die durch Leerraum getrennt sind12.2.

time  elapsed  remotehost  code/status  bytes  
method  URL  rfc931 
peerstatus/peerhost  type
Die einzelnen Felder haben folgende Bedeutung:

time
 
Dieser Zeitstempel gibt das Datum und Uhrzeit des Request auf Millisekunden genau im UNIX-Format (Sekunden seit dem 1.1.1970) an.
elapsed
 
Die Zeit in Millisekunden, die benötigt wurde, die Anfrage zu beantworten.
remotehost
 
Die IP-Adresse des anfragenden Clients (kann in der Konfigurationsdatei squid.conf anonymisiert werden).
code/status
 
Durch einen Schrägstrich getrennt, der interne Rückgabecode des Squid-Proxy und ein Rückgabewert im HTTP-Code-Format (siehe A/B).
bytes
 
Das Datenvolumen des übertragenen Objekts in Byte.
method
 
Die Request-Methode der Anfrage (siehe C).
URL
 
Die URL des Request (angefragtes Objekt).
rfc931
 
Das Ergebnis von Ident-Lookups nach RFC931, falls dies eingeschaltet ist. Standardmäßig sind Ident-Lookups ausgeschaltet (im Logfile wird ein "-" eingetragen).
peerstatus/peerhost
 
Der interne Rückgabewert, wie/wo die angefragten Daten geholt wurden (Hierarchy-Code)/Rechner, an den die Anfrage weitergeleitet wurde (siehe D).
type
 
Der Content-Type des angeforderten Objekts oder ein "-". (siehe H).
Wenn Sie mit der Option emulate_httpd_log on (siehe 6.4) in der Konfigurationsdatei (squid.conf) das "Common Logfile Format" eingeschaltet haben, finden Sie in dieser Datei Webserver-konforme Einträge der Form:

remotehost  rfc931  authuser  [date]  "method URL"  status  bytes
Diese Einträge können mit jedem Tool zur Auswertung von Webserver-Logdateien weiterverarbeitet werden. Es fehlen jedoch hier alle proxyspezifischen Informationen.


(c)2003 dpunkt.Verlag - mail(a)squid-handbuch.de