Logformat vom Squid

Pfiffikus

Member
Hallo,

ich würde gerne die Uhrzeit des Seitenzugriffs in menschenlesbarer Form loggen lassen. Ein Auszug aus der access.log von Squid sieht so aus:
Code:
1262039778.063    223 192.168.1.8 TCP_MISS/302 789 GET http://www.google.com/ - DIRECT/74.125.79.104 text/html
1262039778.114    274 192.168.1.8 TCP_MISS/200 559 GET http://sitecheck2.opera.com/?host=www.google.com&hdn=AGZGLiBzId7nGTYe3dxEwA== - DIRECT/91.203.99.45 text/xml
1262039778.178    108 192.168.1.8 TCP_MISS/200 4054 GET http://www.google.de/ - DIRECT/74.125.79.99 text/html
1262039778.442    163 192.168.1.8 TCP_MISS/204 361 GET http://clients1.google.de/generate_204 - DIRECT/74.125.77.102 text/html
1262039778.660    169 192.168.1.8 TCP_MISS/204 413 GET http://www.google.de/csi?v=3&s=webhp&action=&e=17259,18167,23129&ei=4jI5S9fNCJvB-Qat4Z38BQ&rt=xjsls.66,prt.66,xjses.74,xjsee.84,xjs.86,ol.264 - DIRECT/74.125.79.99 text/html

Ich wünsche mir die Logdatei so:
Code:
Dec 28 23:35:32    223 192.168.1.8 TCP_MISS/302 789 GET http://www.google.com/ - DIRECT/74.125.79.104 text/html
Dec 28 23:35:32    274 192.168.1.8 TCP_MISS/200 559 GET http://sitecheck2.opera.com/?host=www.google.com&hdn=AGZGLiBzId7nGTYe3dxEwA== - DIRECT/91.203.99.45 text/xml
Dec 28 23:35:32    108 192.168.1.8 TCP_MISS/200 4054 GET http://www.google.de/ - DIRECT/74.125.79.99 text/html
Dec 28 23:35:32    163 192.168.1.8 TCP_MISS/204 361 GET http://clients1.google.de/generate_204 - DIRECT/74.125.77.102 text/html
Dec 28 23:35:32    169 192.168.1.8 TCP_MISS/204 413 GET http://www.google.de/csi?v=3&s=webhp&action=&e=17259,18167,23129&ei=4jI5S9fNCgvB-Qat9Z38BQ&rt=xjsls.66,prt.66,xjses.74,xjsee.84,xjs.86,ol.264 - DIRECT/74.125.79.99 text/html

Weder in der Konfigurationsdatei von Squid, noch in einschlägigen Webseiten und Tutorials fand ich eine Möglichkeit, das Datum vernünftig loggen zu lassen.



Pfiffikus,
der scheinbar der Einzige ist, den dieses Problem bedrückt
 
Hi,

ohne jetzt groß gelesen zu haben und zu testen: http://www.squid-cache.org/Doc/config/logformat/


Code:
Format codes:

		%	a literal % character
		>a	Client source IP address
		>A	Client FQDN
		>p	Client source port
		<A	Server IP address or peer name
		la	Local IP address (http_port)
		lp	Local port number (http_port)
		ts	Seconds since epoch
		tu	subsecond time (milliseconds)
		tl	Local time. Optional strftime format argument
				default %d/%b/%Y:%H:%M:%S %z
		tg	GMT time. Optional strftime format argument
				default %d/%b/%Y:%H:%M:%S %z
		tr	Response time (milliseconds)
		dt	Total time spent making DNS lookups (milliseconds)
 
Herzlichen Dank für die Lektüre.


Pfiffikus,
der für das Ausprobieren garantiert länger brauchen wird, als du für die Antwort
 
Der Tipp war erfolgreich!

Meine Konfigurationsdatei /etc/squid/squid.conf wird ab sofort mit diesen Zeilen verziert:
Code:
#logformat <name> <format specification>
logformat  lesbar %{%d.%m %H:%M:%S}tl  %>a %Ss %ru

#access_log /var/log/squid/access.log squid
access_log  /var/log/squid/access.log lesbar

Es ergibt sich nun ein solches Log:
Code:
29.12 01:02:47  192.168.1.8 TCP_MISS http://www.google.de/
29.12 01:02:47  192.168.1.8 TCP_IMS_HIT http://www.google.de/intl/de_de/images/logo.gif
29.12 01:02:48  192.168.1.8 TCP_IMS_HIT http://www.google.de/favicon.ico


Pfiffikus,
der hiermit die Lösung des Problems für alle einsehbar zeigen möchte
 
Alternativ hättest Du auch das Programm, mit dem Du die Daten auswertest,
Dieses Programm wird so aufgerufen:
tail -f -n200 /var/log/squid/access.log

Eingesetzt wird der Proxy in einer Berufsschule. Hier geht es darum, auf den ersten Blick zu erfassen, ob ein Seitenzugriff in der aktuellen Stunde, in der Pause davor veranlasst wurde. Die Seite könnte sogar ein Schüler aufgerufen worden sein, der vorher mal an diesem Platz gearbeitet hat.

Die Umrechnung mittels Excel oder dem von dir verlinkten Tool ist dafür einfach zu umständlich, die lesbare Logdatei ist fast ideal.



Pfiffikus,
der nicht wusste, dass tail diese Umrechnung beherrscht
 
Back
Top