morittz
09.08.05, 13:24
Es geht um folgendes:
In der access.log von Squid werden alle Anfragen von Clients gespeichert (inkl. URL).
Wenn ein Client Google besucht und nach einem Begriff sucht, steht allerdings in der Log nur "http://www.google.de/search?" und nicht die ganze URL mit den Suchbegriffenn. Da diese für mich aber auch von Relevanz sind, bin ich auf die Idee gekommen, den Mime-Header in der squid.conf einzuschalten und dann dort über die Referer die URL der jeweils zuvor besuchten Seite zu sehen. Der Mime-Header enthält allerdings auch sehr viele Informationen, die ich nicht benötige und die meine Log "zumüllen", deshalb habe ich mir überlegt, ob man nicht mit folgendem Befehl die Log entsprechend anpassen könnte (sed wäre dann noch zu spezifizieren):
tail -f /var/log/squid/access.log | sed --optionen >> /var/log/squid/access.referer.log
Meine Frage ist nun, ob es mit sed möglich ist zB. in jedem Eintrag (der durch
"???.*.?.?" (IP-Adresse) am Beginn gekennzeichnet ist) alles ab dem String "Accept" bis vor das nächste "???.*.?.?" zu löschen und ob das Skript prinzipiell funktionieren würde...
Desweiteren bin ich natürlich auch an anderen Vorschlägen interessiert, wie man die komplette URL von Google (ist mir bis jetzt nur da aufgefallen) sehen kann.
Vielen Dank!
In der access.log von Squid werden alle Anfragen von Clients gespeichert (inkl. URL).
Wenn ein Client Google besucht und nach einem Begriff sucht, steht allerdings in der Log nur "http://www.google.de/search?" und nicht die ganze URL mit den Suchbegriffenn. Da diese für mich aber auch von Relevanz sind, bin ich auf die Idee gekommen, den Mime-Header in der squid.conf einzuschalten und dann dort über die Referer die URL der jeweils zuvor besuchten Seite zu sehen. Der Mime-Header enthält allerdings auch sehr viele Informationen, die ich nicht benötige und die meine Log "zumüllen", deshalb habe ich mir überlegt, ob man nicht mit folgendem Befehl die Log entsprechend anpassen könnte (sed wäre dann noch zu spezifizieren):
tail -f /var/log/squid/access.log | sed --optionen >> /var/log/squid/access.referer.log
Meine Frage ist nun, ob es mit sed möglich ist zB. in jedem Eintrag (der durch
"???.*.?.?" (IP-Adresse) am Beginn gekennzeichnet ist) alles ab dem String "Accept" bis vor das nächste "???.*.?.?" zu löschen und ob das Skript prinzipiell funktionieren würde...
Desweiteren bin ich natürlich auch an anderen Vorschlägen interessiert, wie man die komplette URL von Google (ist mir bis jetzt nur da aufgefallen) sehen kann.
Vielen Dank!