Administrative Auswertung der Apache Logs
Auswertung von verbrauchter Zeit zur Auslieferung von Dateien, Erkennen von ungewöhnlichen Zugriffen, etc...
Bevor ich jetzt selber anfange was zu basteln, frag ich mal in die Runde:
Ich suche eigentlich eine Software, die mir aus den Apache-Logs für jeden Tag eine Übersicht generiert, welche Dateien wieviel Zeit im Durchschnitt zur Auslieferung verbraucht haben (in Kombination mit min/max-Werten und der Dateigröße). Ebenso wie eine Übersicht, auf welche Dateien über welchen Domainnamen am häufigsten zugegriffen wurde. Auch eine Länderübersicht der Zugriffe wäre praktisch, um Zugriffe z.B. aus Russland schnell erkennen zu können.
Gängige Tools wie awstats, etc... liefern diese Informationen leider nicht. Unique Visitor, etc... interessiert mich an dieser Stelle eher sekundär.
Oder hat jemand zufällig schon ein fertiges Skript, welches die Apachelogs in eine Datenbank überträgt?
Als setup schwebt mir z.B. folgendes vor:
Ein Skript holt in regelmäßigen Abständen (z.B. jede Stunde) vom Webserver die aktuellen apache logs und schreibt diese in eine Postgres-Datenbank (oder MySQL). Sobald ich die Daten in der DB habe, kann ich dann beliebige Auswertungen darüber fahren, auch in Verbindung mit einer zweiten GeoIP-Datenbank.
Danke und viele Grüße,
Kai
Bevor ich jetzt selber anfange was zu basteln, frag ich mal in die Runde:
Ich suche eigentlich eine Software, die mir aus den Apache-Logs für jeden Tag eine Übersicht generiert, welche Dateien wieviel Zeit im Durchschnitt zur Auslieferung verbraucht haben (in Kombination mit min/max-Werten und der Dateigröße). Ebenso wie eine Übersicht, auf welche Dateien über welchen Domainnamen am häufigsten zugegriffen wurde. Auch eine Länderübersicht der Zugriffe wäre praktisch, um Zugriffe z.B. aus Russland schnell erkennen zu können.
Gängige Tools wie awstats, etc... liefern diese Informationen leider nicht. Unique Visitor, etc... interessiert mich an dieser Stelle eher sekundär.
Oder hat jemand zufällig schon ein fertiges Skript, welches die Apachelogs in eine Datenbank überträgt?
Als setup schwebt mir z.B. folgendes vor:
Ein Skript holt in regelmäßigen Abständen (z.B. jede Stunde) vom Webserver die aktuellen apache logs und schreibt diese in eine Postgres-Datenbank (oder MySQL). Sobald ich die Daten in der DB habe, kann ich dann beliebige Auswertungen darüber fahren, auch in Verbindung mit einer zweiten GeoIP-Datenbank.
Danke und viele Grüße,
Kai
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 174835
Url: https://administrator.de/contentid/174835
Ausgedruckt am: 01.11.2024 um 02:11 Uhr
14 Kommentare
Neuester Kommentar
Wir wäre es denn, wenn du eine Aufbauzeit mit in die Webseite mit einbaust und diese in das Logging nimmst?
So kann bsp bewertet werden, dass Benutzer X mit genau DIESER seite, incl. aller Parameter, ziemlich genau x Millisekunden benötigt hat!
und ich pers. weiß nicht, ob ein Apache überhaupt die Auslieferungszeit ins Logschreibt bzw. es dafür einen Parameter im Format der Datei gibt.
Denn hier sehe ich bsp keine Zeit
66.160.179.197 - - [09/Nov/2011:08:15:30 +0100] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 302 338 "-" "ZmEu"
Bis dahin,
viel Erfolg!
So kann bsp bewertet werden, dass Benutzer X mit genau DIESER seite, incl. aller Parameter, ziemlich genau x Millisekunden benötigt hat!
und ich pers. weiß nicht, ob ein Apache überhaupt die Auslieferungszeit ins Logschreibt bzw. es dafür einen Parameter im Format der Datei gibt.
Denn hier sehe ich bsp keine Zeit
66.160.179.197 - - [09/Nov/2011:08:15:30 +0100] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 302 338 "-" "ZmEu"
Bis dahin,
viel Erfolg!
Midi
Es gibt ja auch die Möglichkeit, GLEICH/DIREKT in die DB zu loggen...
Lonesome Walker
Lonesome Walker
Man kann auch eine DB in einer RAM-Disk laufen lassen...
Lonesome Walker
Lonesome Walker