Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Administrative Auswertung der Apache Logs

Frage Linux Apache Server

Mitglied: demokrit

demokrit (Level 1) - Jetzt verbinden

18.10.2011 um 09:34 Uhr, 4373 Aufrufe, 14 Kommentare

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
Mitglied: Midivirus
08.11.2011 um 15:40 Uhr
Stichwort webalizer?
Bitte warten ..
Mitglied: demokrit
09.11.2011 um 08:19 Uhr
Ich hab jetzt nicht im Detail geschaut, aber der scheint ähnlich wie awstats auch eher auf Klickraten und ähnliches ausgelegt zu sein.

Es geht mir eher darum, herauszufinden, welche URLs brauchen im Mittel hohe Bandbreiten und im Vergleich dazu hohe Auslieferungszeiten.
Aus der kombinierten Analyse zwischen Bandbreite und Auslieferungszeit kann man z.B. Rückschlüsse auf die CPU-Belastung beim Aufruf ziehen. Das sind dann die Stellen, wo ich mal gezielt in den Code schaue und ggfs. diesen dem Programmierer um die Ohren haue ;)

Ich schreibe jetzt nächtlich die Logfiles in eine Postgresdatenbank und mach bei der Gelegenheit auch direkt noch ein Geotagging anhand der IP-Adresse. Über SQL-Abfragen kann ich darüber jetzt beliebige Auswertungen fahren.
Ist nur für Langzeitanalysen nicht so tauglich, da die Datenbank pro Tag ca. ein GB wächst ;)
Bitte warten ..
Mitglied: Midivirus
09.11.2011 um 09:30 Uhr
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!

Midi
Bitte warten ..
Mitglied: demokrit
09.11.2011 um 09:47 Uhr
Ich nutze Apache2 mit einer indivduellen Logkonfiguration:

LogFormat "%v %h %l %u %t \"%r\" %>s %B %D \"%{Referer}i\" \"%{User-agent}i\" \"%q\""

%D ist in diesem Fall die vom Apache zur Auslieferung benötigte Zeit in Microsekunden.
D.h. der Log sieht folgendermaßen aus:

www.xxx.de 138.246.2.xxx - - [09/Nov/2011:00:00:21 +0100] "GET / HTTP/1.1" 200 12518 561848 "http://www.google.de/url?sa=t&rct=j&q=4flow%20gehalt&source ..." "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2" ""

Die Auslieferung der Startseite hat also 561848 Microsekunden, sprich eine halbe Sekunde gedauert.
Bitte warten ..
Mitglied: Midivirus
09.11.2011 um 10:26 Uhr
Nun,
durch eine Recherche mit diversen Suchworten kam für mich die Erkenntnis:
Apache kann eine Menge mehr, als der Standard verwendet. Aber Tools, die über den Standard hinausgehen, hab ich jetzt keine groß gefunden.
Aber: habe mich auch nur mit webalizer bzw. astats beschäftigt.

Midi
Bitte warten ..
Mitglied: demokrit
09.11.2011 um 10:43 Uhr
Meine Rede^^
Daher erstmal der Workaround mit der Eigenentwicklung. Das Frontend wird dann irgendwann mal die Aufgabe für meinen Azubi ;)
Bitte warten ..
Mitglied: Midivirus
09.11.2011 um 10:48 Uhr
Womit machen wir es zu?
Bitte warten ..
Mitglied: demokrit
09.11.2011 um 10:59 Uhr
ist schon zugemacht. Aktuelle Lösung: Eigenentwicklung. Wenn jemand Bedarf hat, schicke ich gerne die Skripte.
Bitte warten ..
Mitglied: Midivirus
09.11.2011 um 11:08 Uhr
war einfach nicht auf dem neusten Stand und ist mir später auch aufgefallen ;)
Bitte warten ..
Mitglied: 16568
10.11.2011 um 09:30 Uhr
Es gibt ja auch die Möglichkeit, GLEICH/DIREKT in die DB zu loggen...


Lonesome Walker
Bitte warten ..
Mitglied: Midivirus
10.11.2011 um 09:43 Uhr
Kollege ;)
Bitte warten ..
Mitglied: demokrit
10.11.2011 um 10:03 Uhr
Klar gibt es die.

Aber ich schreibe die Apache-Logs aus Performance-Gründen schon in eine Ramdisk. Da würde das Loggen direkt in die DB allen Performance-Optimierungen zuwider laufen. Das ist weder sonderlich performant, noch besonders ausgereift.
Bitte warten ..
Mitglied: 16568
10.11.2011 um 13:24 Uhr
Man kann auch eine DB in einer RAM-Disk laufen lassen...

Lonesome Walker
Bitte warten ..
Mitglied: demokrit
10.11.2011 um 14:47 Uhr
Das ist richtig, aber deswegen ist das Logging in eine DB trotzdem langsamer als in eine Textdatei.
Zudem müsste man auch da eine Rotation in eine weitere DB basteln, da man bei 1GB Logs pro Tag schon eine verdammt große Ramdisk braucht, wenn man den Server länger betreiben möchte.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...