localhost ausfiltern im Logfile von Apache
localhost ausfiltern im Logfile von Apache
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
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
-
superuser1
- Posts: 291
- Joined: 2003-11-26 18:43
- Location: earth
Re: localhost ausfiltern im Logfile von Apache
Hi...
sicher geht das, zum Beispiel mit einem eigenen Script:
Das würde dir jede Zeile, die deinen Status abfragt, herausfiltern.
Wenn du das noch etwas an deine Bedürfnisse anpasst... fertig.
:roll:
sicher geht das, zum Beispiel mit einem eigenen Script:
Code: Select all
grep -v 127.0.0.1 access.logWenn du das noch etwas an deine Bedürfnisse anpasst... fertig.
:roll:
Re: localhost ausfiltern im Logfile von Apache
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?
Ist es auch möglich das apache alle localhost anfragen gar nicht ins Logfile schreibt?
-
superuser1
- Posts: 291
- Joined: 2003-11-26 18:43
- Location: earth
Re: localhost ausfiltern im Logfile von Apache
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
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:
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.logNatü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
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.
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.
-
superuser1
- Posts: 291
- Joined: 2003-11-26 18:43
- Location: earth
Re: localhost ausfiltern im Logfile von Apache
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:
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
Ja.Ist es auch möglich das apache alle localhost anfragen gar nicht ins Logfile schreibt?
Re: localhost ausfiltern im Logfile von Apache
-> 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.
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.
-
superuser1
- Posts: 291
- Joined: 2003-11-26 18:43
- Location: earth
Re: localhost ausfiltern im Logfile von Apache
Hi...
Also nochmal der Vollständigkeit halber:
http://httpd.apache.org/docs/logs.html#conditional
:roll:
Also nochmal der Vollständigkeit halber:
Dazu nochmal die offizielle Apache-Referenz (dort wird übrigens exakt dein Problem aufgegriffen):Ist es auch möglich das apache alle localhost anfragen gar nicht ins Logfile schreibt?
http://httpd.apache.org/docs/logs.html#conditional
:roll: