Page 1 of 1

localhost ausfiltern im Logfile von Apache

Posted: 2004-03-07 21:28
by dude4you
Es es möglich alle localhost nicht im access_log zu listen.
möchte einen WebHit counter machen, hab aber jede minute einen server-status abfrage die auch im logfile erscheinen was ich nicht will


127.0.0.1 - - [07/Mar/2004:12:10:05 -0500] "GET /server-status HTTP/1.0" 200 5357

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-07 22:01
by superuser1
Hi...

sicher geht das, zum Beispiel mit einem eigenen Script:

Code: Select all

grep -v 127.0.0.1 access.log
Das würde dir jede Zeile, die deinen Status abfragt, herausfiltern.
Wenn du das noch etwas an deine Bedürfnisse anpasst... fertig.

:roll:

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-07 22:28
by dude4you
Meinst du ein script für das Counter Program? Damit es einfach die localhost zeilen ignoriert?

Ist es auch möglich das apache alle localhost anfragen gar nicht ins Logfile schreibt?

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-07 22:48
by superuser1
Hi...

ich meinte hiermit primär mal ein Shellscript, das du zum Beispiel in einem Cronjob ausführen kannst.

Für den Cronjob könntes du ein Script folgerndermassen schreiben:

script.sh

Code: Select all

#!/bin/sh

grep -v 127.0.0.1 access.log > ausgabe.log
Das kannst du jetzt alle x Minuten/Stunden ausführen. Damit schreibst du das ganze Logfile ausser den ungewünschten Einträgen in die Ausgabedatei, die du dann auswerten kannst. (via Webalizer etc.)

Natürlich gibt es auch dementsprechende Möglichkeiten, das ganze unter CGI/PHP zu realisieren, aber ich denke mal, das kommt bei dir eher nicht in Frage.

Die Orginal-Logfiles würde ich auf jeden Fall unangetastet lassen!

:roll:

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-07 23:45
by dude4you
Perfekt danke:)

Ich hätte da noch ne fraga im algemeinen.
Habe einen Server mit Apache,myql,bind,postfix.
Für Loganalysen Cacti und awstats.
für die log's ist doch syslogd zuständig. Habe noch gesehen das cronolog als zusatz recht interesant ist.

Hast du noch einen heissen tip?
Ideal währe wenn alle Logs 1Monat lang eingetragen werden, dann das Logfile irgendwie archivieren (evt. gzip?) oder gleich gelöscht werden.
Möchte nicht zuviel speicher für logs verschwenden.

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-08 00:04
by superuser1
Hi...

so ganz verstehe ich deine Frage nicht, aber ich kann mir mal was zusammenreimen:

Für das Logfilemanagement ist prinzipiell logrotate zuständig. Der erledigt auch die Archivierung und Komprimierung der Logfiles in einem eingestellten Zeitraum (sollte bei dir auch schon laufen, mach mal ein 'locate logrotate' bzw. 'man logrotate').

Der Syslog-Deamon hat damit nichts zu tun.

:roll:

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-08 08:48
by dodolin
Ist es auch möglich das apache alle localhost anfragen gar nicht ins Logfile schreibt?
Ja.

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-08 10:16
by dude4you
-> dodolin

Ja ist gut, aber wie?
habe soeben festgestelt das mein monitoring tool die infos von
/server-status/ bekommt und jedes mal wen mein script "lynx http://localhost/server-status/" abfrägt erhöt sich die Anzahl Total accesses:

Current Time: Monday, 08-Mar-2004 04:14:31 EST
Restart Time: Sunday, 07-Mar-2004 04:02:01 EST
Parent Server Generation: 1
Server uptime: 1 day 12 minutes 30 seconds
Total accesses: 6590 - Total Traffic: 24.0 MB
CPU Usage: u58.64 s4.16 cu21.33 cs2.75 - .0997% CPU load
.0756 requests/sec - 289 B/second - 3823 B/request
1 requests currently being processed, 9 idle servers



Folgend bekomme ich schöne streifen in meiner Monitoring graphic jede 5 Minuten.

Re: localhost ausfiltern im Logfile von Apache

Posted: 2004-03-08 10:31
by superuser1
Hi...

Also nochmal der Vollständigkeit halber:
Ist es auch möglich das apache alle localhost anfragen gar nicht ins Logfile schreibt?
Dazu nochmal die offizielle Apache-Referenz (dort wird übrigens exakt dein Problem aufgegriffen):

http://httpd.apache.org/docs/logs.html#conditional

:roll: