Entwickler-Ecke

Freeware Projekte - HTTP LogStat 1.4.3 (Weblog-Analyse und Statistik)


Gaijin - Sa 06.12.08 13:43
Titel: HTTP LogStat 1.4.3 (Weblog-Analyse und Statistik)
HTTP LogStat analysiert die Protokolle eines HTTP-Servers und zeigt umfangreiche Statistiken an.

Die wichtigsten Features:

HTTP LogStat benötigt das Microsoft .NET Framework 2.0.

Das Programm muss nicht installiert werden, da keine DLLs oder sonstigen Dateien in das System-Verzeichnis von Windows geschrieben werden.

[url=http://www.gaijin.at/getit.php?id=hlogstat]HTTP LogStat[/url] (~290 KB, RAR)
Produktseite [http://www.gaijin.at/dlhttplogstat.php]

[url=http://www.gaijin.at/samples/httplogstat/report.html]Beispielreport[/url]

Über Verbesserungsvorschläge / Feedback etc. würde ich mich sehr freuen.


BenBE - Mo 08.12.08 15:43

Kann man deinem Programm auch nicht-standard-konforme Log-Format-Strings übergeben?

Sprich, wenn meine Logfile mehr Informationen wie normal enthält.

Ferner sehe ich nicht, wie ich z.B. einen Combined-Log mit deiner Anwendung verarbeiten können soll.

Gibt es die Möglichkeit, dein Programm zum Füllen in ein Datenbank-Backend zu nutzen, d.h. dass die gelesenen Logfiles als Kopie in eine Datenbank eingepflegt werden?

Hast Du schon mal mit Logfiles größer 50 MB (komprimiert) experimentiert?


Gaijin - Mo 08.12.08 16:17

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Kann man deinem Programm auch nicht-standard-konforme Log-Format-Strings übergeben?

Sprich, wenn meine Logfile mehr Informationen wie normal enthält.

Welche Informationen meinst du? Kannst du mir bitte ein paar Zeilen eines solchen Logs zur Verfügung stellen?

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:

Ferner sehe ich nicht, wie ich z.B. einen Combined-Log mit deiner Anwendung verarbeiten können soll.

Wenn du das Format "NCSA Combined" meinst, so sollte dies keine Probleme machen, da ich das Programm damit getestet habe. Gibt es bei der Verarbeitung Fehler oder werden die Daten falsch bzw. nicht angezeigt?

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:

Gibt es die Möglichkeit, dein Programm zum Füllen in ein Datenbank-Backend zu nutzen, d.h. dass die gelesenen Logfiles als Kopie in eine Datenbank eingepflegt werden?

Das Programm soll eine Statistik ausgeben, so wie die meisten Programme dieser Art auch.
Die Übernahme der Datenbank ist doch eine etwas speziellere Funktion, die wohl nur wenige benötigen.

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:

Hast Du schon mal mit Logfiles größer 50 MB (komprimiert) experimentiert?

Ein Protokoll mit so vielen Einträgen in einer einzelnen Datei steht mir im Moment nicht zur Verfügung. Nachdem ich aus deiner "Frage" vermute, dass es dabei Probleme gibt, werde ich mir das noch genauer ansehen.


BenBE - Mo 08.12.08 16:24


Quelltext
1:
2:
[08/Dec/2008:14:20:59 +0000] geshi.org:80 41.234.180.229 - - - HTTP/1.1 GET /var/www/geshi.org/html/htdocs/index.php 200 200 30982 Req="GET / HTTP/1.1" Referer="http://www.google.com/search?q=GeSHi+highlighting+engine&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a" Agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0" SVN="-" SSL="- - -"
[08/Dec/2008:14:21:05 +0000] geshi.org:80 66.249.72.171 - - - HTTP/1.1 GET /home/www/web1/html/htdocs/developers/bugs/login_page.php 200 200 7553 Req="GET /developers/bugs/login_page.php?return=%2Fdevelopers%2Fbugs%2Flogin_page.php%3Freturn%3D%252Fdevelopers%252Fbugs%252Flogin_page.php%253Freturn%253D%25252Fdevelopers%25252Fbugs%25252Flogin_page.php%25253Freturn%25253D%2525252Fdevelopers%2525252Fbugs%2525252Flogin_page.php%2525253Freturn%2525253D%252525252Fdevelopers%252525252Fbugs%252525252Flogin_page.php%252525253Freturn%252525253D%25252525252Fdevelopers%25252525252Fbugs%25252525252Flogin_page.php%25252525253Freturn%25252525253D%2525252525252Fdevelopers%2525252525252Fbugs%2525252525252Flogin_page.php%2525252525253Freturn%2525252525253D%252525252525252Fdevelopers%252525252525252Fbugs%252525252525252Flogin_page.php%252525252525253Freturn%252525252525253D%25252525252525252Fdevelopers%25252525252525252Fbugs%25252525252525252Flogin_page.php%25252525252525253Freturn%25252525252525253D%2525252525252525252Fdevelopers%2525252525252525252Fbugs%2525252525252525252Flogin_page.php%2525252525252525253Freturn%2525252525252525253D%252525252525252525252Fdevelopers%252525252525252525252Fbugs%252525252525252525252Flogin_page.php%252525252525252525253Freturn%252525252525252525253D%25252525252525252525252Fdevelopers%25252525252525252525252Fbugs%25252525252525252525252Flogin_page.php%25252525252525252525253Freturn%25252525252525252525253D%2525252525252525252525252Fdevelopers%2525252525252525252525252Fbugs%2525252525252525252525252Flogin_page.php%2525252525252525252525253Freturn%2525252525252525252525253D%252525252525252525252525252Fdevelopers%252525252525252525252525252Fbugs%252525252525252525252525252Fview.php%252525252525252525252525253Fid%252525252525252525252525253D33 HTTP/1.1" Referer="-" Agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" SVN="-" SSL="- - -"


Der zugehörige Format-String ist:

Quelltext
1:
LogFormat "%t %v:%p %h %{X-Forwarded-For}i %u %l %>H %>m %>f %<s %>s %b Req=\"%r\" Referer=\"%{Referer}i\" Agent=\"%{User-Agent}i\" SVN=\"%{SVN-ACTION}e\" SSL=\"%{HTTPS}e %{SSL_PROTOCOL}e %{SSL_SERVER_S_DN}e\"" globallog                    


Das sind grad paar Live-Zeilen ... Hab auch gern paar Böse Test-cases mit, wo ich mal Border Cases zeigen kann ...


Gaijin - Mo 08.12.08 16:45

Jetzt verstehe ich was du meinst. Derzeit ist das noch nicht möglich, aber für eine zukünftige Version sicherlich eine sehr nützliche Erweiterung.

Derzeit werden nur die Formate

Quelltext
1:
%h %l %u %t \"%r\" %>s %b                    

bzw.

Quelltext
1:
%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"                    

unterstützt, wobei der Referrer und der User-Agent nicht zwingend notwendig sind. Zusätzliche Angaben nach dem User-Agent sind möglich, werden aber ignoriert.


Gaijin - Di 09.12.08 14:59

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Hast Du schon mal mit Logfiles größer 50 MB (komprimiert) experimentiert?

Bei einer komprimierten Datei mit knapp 100 MB (über 1.5 GB unkomprimiert) funktioniert alles einwandfrei. Ebenso bei einer unkomprimierten Datei mit 1.5 GB.


Gaijin - Mo 15.12.08 10:40

Version 1.1:
[+] Bei einigen Listen werden jetzt auch die Zugriffe in Prozent angezeigt (z.B. bei "Hosts", "Länder", "Betriebssysteme", "Browser" etc.).
[+] Die zu verwendende Reportvorlage kann jetzt in den Profileinstellungen ausgewählt werden.
[+] Im Profildialog werden unter den Eingabefeldern jetzt Beispiele angezeigt, um die Konfiguration zu erleichtern.
[+] Im Report kann in der Fehlerliste jetzt die IP-Adresse ausgegeben werden, wenn kein Referrer verfügbar ist.
[+] In der Profilliste des Hauptfensters wird jetzt auch der Pfad zu den Protokolldateien angezeigt.
[*] Die Downloads werden jetzt nach der Anzahl der erfolgreichen Zugriffe (effektive Downloads) anstatt der Gesamtzugriffe gereiht.
[*] Die Geschwindigkeit beim Parsen der Protokolldateien konnte erhöht werden.
[*] Die Referrer und die Suchmaschinen wurden in den Profileistellungen und im Report getrennt.
[*] Diverse kleinere Änderungen und Verbesserungen.
[-] Die Liste "Zugriffe pro Monat" wurde nicht sortiert ausgegeben.
[!] Bei einem Update überprüfen Sie bitte die Ausgabeeinstellungen für den Report, da sich die Punkte "Referrer" und "Suchmaschinen und Suchausdrücke" geändert haben.

(Download im ersten Posting)


Gaijin - Mo 22.12.08 10:09

Version 1.2:
[+] Die maximale Anzahl der anzuzeigenden Listeneinträge kann jetzt in den Vorlagen für jede Liste separat festgelegt werden. Weiters kann die Breite der Balkengrafik individuell festgelegt werden.
[+] Es können jetzt auch benutzerdefinierte Protokollformate festgelegt werden, mit denen auch nicht standardkonforme Protokolle verarbeitet werden können. Der "LogFormat"-Ausdruck des Apache-Servers wird ebenfalls unterstützt.
[+] In den Tabellen werden jetzt Balkengrafiken ausgegeben, die die prozentuale Aufteilung der einzelnen Einträge visuell darstellen.
[+] In den meisten Listen wird nun für jeden Eintrag ein grafischer Balken ausgegeben, der den prozentualen Anteil (meist der Zugriffe) darstellt. Die maximale Breite der Balken kann in den Optionen festgelegt werden.
[+] Zu jedem Land wird im Report jetzt auch die Landesflagge angezeigt. Dei Datei "IPCountry.dat" (zusätzlicher Download) wird dafür benötigt.
[*] Kleinere Änderugnen und Korrekturen an der Benutzeroberfläche.

(Download im ersten Posting)


BenBE - Mo 22.12.08 16:23

Hab das mal getestet: Er scheint mit meinem Log-Format soweit zurechtzukommen; was jedoch fehlt, ist eine Multi-Host\Multi-Domain-Unterstützung, da ich auf meinem Server z.B. 8 Domains liegen habe (%v-Eintrag in Logfile) wobei teilweise auch SSL verfügbar ist. Eine Auswertung nach Subdomain bzw. Einschränkung der zu betrachtenden Zugriffe wäre daher wünschenswert.

Auch wäre eine Auswertung nach typischen Remote File Inclusion-Angriffen, Directory Traversals (/etc/passwd ist sehr begehrt ;-)) sowie anderen untypischen Anzeichen wäre sicherlich noch anzufügen.

Auch würd ich mir wünschen, dass ich nicht nur den Report statisch in die Hand bekomme, sondern in der Programm-Oberfläche verschiedene Filter-Einstellungen setzen kann, teile des Logs mir anschauen kann oder anderweitig auflistungen machen kann.

Auch eine Suche nach Scripts, die rekursiv auf sich selbst verlinken wäre wünschenswert (Beispiel):

Quelltext
1:
[22/Dec/2008:14:13:22 +0000] geshi.org:80 65.55.208.122 - - - HTTP/1.1 GET /home/www/web1/html/htdocs/developers/bugs/login_page.php 200 200 5744 Req="GET /developers/bugs/login_page.php?return=%2Fdevelopers%2Fbugs%2Flogin_page.php%3Freturn%3D%252Fdevelopers%252Fbugs%252Flogin_page.php%253Freturn%253D%25252Fdevelopers%25252Fbugs%25252Flogin_page.php%25253Freturn%25253D%2525252Fdevelopers%2525252Fbugs%2525252Flogin_page.php%2525253Freturn%2525253D%252525252Fdevelopers%252525252Fbugs%252525252Flogin_page.php%252525253Freturn%252525253D%25252525252Fdevelopers%25252525252Fbugs%25252525252Flogin_page.php%25252525253Freturn%25252525253D%2525252525252Fdevelopers%2525252525252Fbugs%2525252525252Flogin_page.php%2525252525253Freturn%2525252525253D%252525252525252Fdevelopers%252525252525252Fbugs%252525252525252Fview_all_bug_page.php%252525252525253Ffilter%252525252525253D63324 HTTP/1.1" Referer="-" Agent="msnbot/1.1 (+http://search.msn.com/msnbot.htm)" SVN="-" SSL="- - -"                    


Genauso wie es praktisch wäre, fehlerhaft gelesene Zeilen auszugeben, damit man sich diese genauer anschauen kann (und ggf. zum Bugfixen einreichen kann). Ich weiß z.B. dass es bei meinen Logs zahlreiche Zeilen gibt, wo in der URL Leerzeichen im Request drin waren und damit die Protokoll-Kennung nicht stimmt:


Quelltext
1:
[14/Dec/2008:11:47:31 +0000] geshi.org:80 199.2.122.138 - - - + gaJsHost + \"google-analytics.com/ga.js HTTP/1.1 GET /home/www/web1/html/htdocs/highlighter/\" 404 404 216 Req="GET /highlighter/\" + gaJsHost + \"google-analytics.com/ga.js HTTP/1.1" Referer="-" Agent="Java/1.6.0_11" SVN="-" SSL="- - -"                    


Ist zwar ein Bug im Apache, aber sollte ein Log-Analyse-Tool mit klarkommen.


Gaijin - Mo 22.12.08 18:21

Danke für deine Vorschläge!
Ich werde sie mir für eine zukünftige Version vormerken.


NeoInDerMATRIX - Mo 22.12.08 22:39

Mir ist gerade aufgefallen das er keine aktuellen LOG-Files verarbeiten kann.
Also ich meine damit das er keine Log-Files Verarbeiten kann die gerade geöffnet sind.

MfG
neo


Gaijin - Mo 22.12.08 23:22

Ich fand es sicherer, keine Protokolle einzulesen, die gerade in Verwendung sind.

In der nächsten Version sollte es möglich sein, auch die aktuelle Protokolldatei auszuwerten. Im lokalen Test scheint weder HTTP LogStat noch der Apache Probleme damit zu haben.


NeoInDerMATRIX - Di 23.12.08 00:02

Dabei musst du aber aufpassen das es sein kann das du log Zeilen nicht komplett bekommst, in gewissen Situationen. (Erfahrung)
[hr]
Request: Es sollte eventuell möglich sein Unterverzeichnisse mit ein zu beziehen.
Sprich:

..\
..\Domain\
..\Domain\SubDomain.access.log
..\Domain\SubDomain.error.log

Damit man dieses einlesen kann.
[hr]
BUG: Es werden teilweise merkwürdige HTTP-Response Codes angegeben.
Fehler (Übersicht)
Statuscode Beschreibung Fehler Volumen Prozent
1 404 Not Found
72.052 14,6 MB 96,98%
2 401 Unauthorized
1.782 0,7 MB 2,40%
3 400 Bad Request
173 0,0 MB 0,23%
4 2546 Unknown response code
125 0,0 MB 0,17%
5 500 Internal Server Error
82 0,0 MB 0,11%
6 403 Forbidden
62 0,0 MB 0,08%
7 501 Not Implemented
7 0,0 MB 0,01%
8 405 Method Not Allowed
7 0,0 MB 0,01%
9 4018 Unknown response code
5 0,0 MB 0,01%
10 406 Not Acceptable
2 0,0 MB 0,00%
10 gesamt
[hr]
Frage: Was ist der unterschied zwischen Unbekannt und Sonstiges und Undefinierte Einträge bei Browser und OS angaben.
[hr]
BUG: Bei der Angabe "Eindeutige IP" wurde bei meinem Root-Server nur eine IP angezeigt. Ist das Korrekt und wenn ja was ist damit gemeint.

Zugriffe
Gesamt: 892.758
Pro Tag: 27.053
Über Suchmaschinen: 1.098
Durch Spider/Robots: 195.232
Eindeutige IP-Adressen: 1
[hr]
BUG: Bei dem Template für den Report "Default" fehlt der ":" bei Datenvolumen -> Gesamt

Datenvolumen
Gesamt 182.503,0 MB / 178,23 GB
Pro Tag: 5.530,4 MB / 5,40 GB
Pro Treffer: 214.356 B / 209 KB
[hr]
Request: Die angaben für "Dateizugriffe gesamt", "Dateizugriffe pro Tag" und "Anfragen gesamt" sollten besser in einer drei spalten Tabelle angezeigt werden.
[hr]

So das waren erstmal alle Sachen wie ich / wir gerade beim testen auf unseren Servern gefunden haben.

MfG
neo


Gaijin - Di 23.12.08 00:43

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Dabei musst du aber aufpassen das es sein kann das du log Zeilen nicht komplett bekommst, in gewissen Situationen. (Erfahrung)

Damit sollte es keine Probleme geben.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

Request: Es sollte eventuell möglich sein Unterverzeichnisse mit ein zu beziehen.

Danke, ich werde mir das vormerken.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

BUG: Es werden teilweise merkwürdige HTTP-Response Codes angegeben.

Ohne die entsprechende Zeile kann ich nicht viel dazu sagen.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

Frage: Was ist der unterschied zwischen Unbekannt und Sonstiges und Undefinierte Einträge bei Browser und OS angaben.

Das sind Kategorien, wie z.B. "Windows", welches XP, 2000, Vista etc. umfasst. Die Browser- bzw. Betriebssystem-Kategorien können in den Dateien im Verzeichnis "Data" eingesehen werden.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

BUG: Bei der Angabe "Eindeutige IP" wurde bei meinem Root-Server nur eine IP angezeigt. Ist das Korrekt und wenn ja was ist damit gemeint.

Scheinbar ist in jeder Zeile die selbe Host-IP eingetragen.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

BUG: Bei dem Template für den Report "Default" fehlt der ":" bei Datenvolumen -> Gesamt

Danke, das werde ich ändern.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

Request: Die angaben für "Dateizugriffe gesamt", "Dateizugriffe pro Tag" und "Anfragen gesamt" sollten besser in einer drei spalten Tabelle angezeigt werden.

Die Vorlagen können an die eigenen Bedürfnisse leicht angepasst werden bzw. eigene Vorlagen erstellt werden.


NeoInDerMATRIX - Di 23.12.08 18:16

user profile iconGaijin hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Dabei musst du aber aufpassen das es sein kann das du log Zeilen nicht komplett bekommst, in gewissen Situationen. (Erfahrung)

Damit sollte es keine Probleme geben.

Ich spiele damit darauf an das es passieren kann das der Apache oder Co. eine Log-Zeile nicht komplett geschrieben hat, in dem moment wo du versuchst das Ende der Datei zu lesen. Also resultiert daraus eine unvollständige Zeile.

user profile iconGaijin hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

BUG: Es werden teilweise merkwürdige HTTP-Response Codes angegeben.

Ohne die entsprechende Zeile kann ich nicht viel dazu sagen.

Leider sehe ich derzeit keine möglichkeit dir diese Zukommen zu lassen. Da diese LOG-Daten erstens auf meinen Produktiven Server leigen und dem entsprechend dort Daten von Kunden involviert sind.
Und zweitens kann ich dir dazu keine Detailierte Information geben da ich nur die Vermutung habe das dein Parser an dieser Stelle durch irgend einen Fehler oder Format Fehler nicht den HTTP-Respose-Code sondern die Gesendeten Bytes angibt.

user profile iconGaijin hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

Frage: Was ist der unterschied zwischen Unbekannt und Sonstiges und Undefinierte Einträge bei Browser und OS angaben.

Das sind Kategorien, wie z.B. "Windows", welches XP, 2000, Vista etc. umfasst. Die Browser- bzw. Betriebssystem-Kategorien können in den Dateien im Verzeichnis "Data" eingesehen werden.

LOL, ich glaube da habe ich mich wohl etwas falsch ausgedrückt. Ich meine in diesen Gruppen sind einträge die in meinen Augen fast das gleiche meinen aber bei dir anscheinend nicht. Und mich würde nun eine erklärung interessieren wie und warum du so unterscheidest.


user profile iconGaijin hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

BUG: Bei der Angabe "Eindeutige IP" wurde bei meinem Root-Server nur eine IP angezeigt. Ist das Korrekt und wenn ja was ist damit gemeint.

Scheinbar ist in jeder Zeile die selbe Host-IP eingetragen.

Das kann so nicht sein da dieser Server derzeit zwei IP's auf ingesamt 8 oder 10 Domains verteilt bearbeitet. Und alle Daten in dieser LOG-Datei landen.
Also es müssen dann definitiv 2 IP's vorhanden sein. Ich hoffe das ich jetzt nicht daneben liegen mit dem was diese Angabe aussagen soll.


Gaijin - Di 23.12.08 19:16

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Ich spiele damit darauf an das es passieren kann das der Apache oder Co. eine Log-Zeile nicht komplett geschrieben hat, in dem moment wo du versuchst das Ende der Datei zu lesen. Also resultiert daraus eine unvollständige Zeile.

Ich weiß worauf du hinaus willst. In so einem Fall wird entweder die Zeile komplett ignoriert, oder es fehlen für diesen Eintrag Daten, wie z.B. der Referrer. Was genau zutrifft, hängt von den Profileinstellungen ab.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Leider sehe ich derzeit keine möglichkeit dir diese Zukommen zu lassen. Da diese LOG-Daten erstens auf meinen Produktiven Server leigen und dem entsprechend dort Daten von Kunden involviert sind.
Und zweitens kann ich dir dazu keine Detailierte Information geben da ich nur die Vermutung habe das dein Parser an dieser Stelle durch irgend einen Fehler oder Format Fehler nicht den HTTP-Respose-Code sondern die Gesendeten Bytes angibt.

Mir genügt die eine Zeile, wobei Hostnamen/IP etc. unkenntlich gemacht werden können. Wichtig wäre für mich nur, dass das Format erhalten bleibt.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
LOL, ich glaube da habe ich mich wohl etwas falsch ausgedrückt. Ich meine in diesen Gruppen sind einträge die in meinen Augen fast das gleiche meinen aber bei dir anscheinend nicht. Und mich würde nun eine erklärung interessieren wie und warum du so unterscheidest.

Eine "Erklärung"? Ich habe es für mich persönlich so für richtig empfunden.
Wenn du andere Bezeichnungen für die Kategorien verwenden willst, kannst du diese in der Datei "OperatingSystems.dat" bzw. "UserAgents.dat" ändern.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Das kann so nicht sein da dieser Server derzeit zwei IP's auf ingesamt 8 oder 10 Domains verteilt bearbeitet. Und alle Daten in dieser LOG-Datei landen.
Also es müssen dann definitiv 2 IP's vorhanden sein. Ich hoffe das ich jetzt nicht daneben liegen mit dem was diese Angabe aussagen soll.

Kann es sein, dass dein Protokollformat nicht NCSA-konform ist? Das würde dieses und das Problem mit dem Statuscode bzw. der Dateigröße von oben erklären.
Nachdem ich das Format eines Protokolls nicht kenne, musst du ggf. ein benutzerdefiniertes Format in den Profileinstellungen angeben. In der Hilfe findest du genauere Informationen dazu.


Gaijin - Fr 02.01.09 10:07

Version 1.2.1:
[+] Das zu verwendende Profil kann nun mit einem Befehlszeilenparameter ausgewählt werden.
[+] Eine Liste der in Google eingestellten Sprachen kann jetzt ausgegeben werden.
[+] Für Dateitypen wird jetzt eine Beschreibung des Typs angezeigt.
[+] In der Hilfe wird jetzt die Bedeutung und der Aufbau der Datendateien (im Unterordner "Data") beschrieben. Dadurch können diese an die eigenen Bedürfnisse angepasst werden.
[+] Mit dem Befehlszeilenparameter "/Analyze" kann nach dem Programmstart automatisch ein Report für das zuletzt verwendete bzw. das mit "/Profile" übergebene Profil erstellt werden.
[*] Die Erstellung der Ausgabedatei (des Reports) erfolgt nun erheblich schneller.
[*] Diverse Änderungen und Ergänzungen an der Benutzeroberfläche und in den Vorlagen.
[*] Es kann jetzt auch die aktuell vom Apache Server verwendete Protokolldatei ausgewertet werden.
[*] Vorlagen: Der Link zur IP-Adresse in der Fehlerliste wird jetzt ohne Protokoll-Präfix angezeigt. Dies wirkt sich nur aus, wenn in den Profileistellungen die Option "Host-IP bei fehlendem Referrer in Fehlerliste anzeigen" aktiviert ist.
[*] Vorlagen: Die Links in den Vorlagen werden jetzt in einer neuen Seite bzw. in einer neuen Registerkarte des Browsers geöffnet.
[-] Das Konvertieren von Formatausdrücken des Apache-Servers wurde verbessert.

(Download im ersten Posting)


Gaijin - So 18.01.09 11:13

Version 1.3:
[+] Die Beschreibung der Dateitypen wurde erweitert.
[+] In der Übersicht können jetzt auch die Statuscodes (Serverantworten) aller Hits mit ihren Zugiffszahlen ausgegeben werden.
[+] Mit dem Befehlszeilenparameter "/Exit" kann nach dem Erstellen eines automatischen Reports (mit dem Parameter "/Analyze") HTTP LogStat automatisch beendet werden.
[+] Vorlagen: Mit dem Platzhalter "%USERAGENT%" kann für jeden Host der dazugehörige User-Agent ausgegeben werden.
[+] Über das Menü "Bearbeiten" > "Profil duplizieren" kann ein neues Profil, basierend auf den Einstellungen des aktuell ausgewählten Profils, erstellt werden.
[*] Diverse kleinere Änderungen und Ergänzungen an der Benutzeroberfläche und den Vorlagen.
[!] Die Liste "Fehler (Details)" wurde in "Fehler (nach Dateien und Referrer)" umbenannt. Auf Grund weiterer Änderungen sollten die Ausgabeeinstellungen des Reports überprüft und diese Tabelle ggf. deaktiviert werden.

(Download im ersten Posting)


BenBE - So 18.01.09 12:35

Könntest Du ggf. eine weitere Ausgabe-Datei optional erstellbar machen, in der Datenzeilen aufgenommen werden, die nicht korrekt geparst wurden?

Bzw. eine Filter-Option, die es einem erlaubt, Logzeilen mit bestimmten Kriterien (Statuscode > 600) anzulegen?

Ach ja: Welche dringende Notwendigkeit besteht, dass Du .NET FX 3.5 brauchst. Könntest Du schauen, ob Du das Programm auch mit .NET FX 2.0 lauffähig bekommst, da ich mit Win2K arbeite und nicht vorhabe, wegen einem Programm umzusteigen (oder das .NET FX 3.5 reinzuhacken).


Gaijin - So 18.01.09 14:25

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Könntest Du ggf. eine weitere Ausgabe-Datei optional erstellbar machen, in der Datenzeilen aufgenommen werden, die nicht korrekt geparst wurden?

Bzw. eine Filter-Option, die es einem erlaubt, Logzeilen mit bestimmten Kriterien (Statuscode > 600) anzulegen?

Statuscodes ab 600 (bis 999) werden bereits unter "Statuscodes" und in den Fehlerlisten ausgegeben.
Nachdem es 600er Code normalerweise nicht gibt, sollte das ausreichend sein.

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Ach ja: Welche dringende Notwendigkeit besteht, dass Du .NET FX 3.5 brauchst.

Die "dringende Notwendigkeit" war eine doppelt so hohe Verarbeitungsgeschwindigkeit bei der Erstellung der Reportdatei. Die Version 1.3.0.1 sollte nun auch mit .NET 2.0 funktionieren.


NeoInDerMATRIX - So 18.01.09 22:04

Hallo,

du sage mal gibt es die Möglichkeit das man beim Automatischen erstellen eines Reports die Priorität mit angeben kann? Damit man das Programm z.B. als CronJob laufen lassen kann.

Das problem mit den FehlerCodes besteht weiterhin. (Verwede bereits die von dir Vorgeschlagene FormatStr Version).

MfG
neo


Gaijin - Mo 19.01.09 08:35

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
du sage mal gibt es die Möglichkeit das man beim Automatischen erstellen eines Reports die Priorität mit angeben kann? Damit man das Programm z.B. als CronJob laufen lassen kann.

Ich werde mir das mal ansehen.
Danke für den Vorschlag!

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Das problem mit den FehlerCodes besteht weiterhin. (Verwede bereits die von dir Vorgeschlagene FormatStr Version).

Ich glaube du hast einige falsche Zeichen drin (sh. PM).


Gaijin - Fr 20.02.09 09:34

Version 1.3.1:
[+] Eventuelle Fehler beim Parsen der Protokolldateien können jetzt in eine Datei ausgegeben werden.
[*] Die Erkennung der Betriebssysteme, Suchmaschinen und User-Agents wurde erweitert.

(Download im ersten Posting)


Gaijin - Sa 14.03.09 09:06

Version 1.3.2:
[+] Es werden jetzt weitere Betriebssysteme erkannt, wie z.B. SymbianOS und Varianten von div. MacOS- und Windows-Systemen.
[+] Im Namen der Ausgabedatei für den Report können jetzt Platzhalter verwendet werden, die gegen diverse Datumsinformationen ersetzt werden.
[*] Die IPCountry-Datenbank zur Ermittlung des Landes zu einer IP-Adresse wurde aktualisiert.
[-] Kleinere Korrekturen am HTML-Code der Report-Vorlagen.

(Download im ersten Posting)


Gaijin - Mi 01.04.09 09:32

Version 1.3.3:
[+] Die Einstellung "Einträge ohne erfolgreiche Zugriffe nicht anzeigen" kann in den Vorlagen für jede Tabelle gesondert eingestellt werden.
[+] Diverse kleinere Änderungen an den Vorlagen. Für die Reporte wird u.a. im Webbroser jetzt das Programmicon als Fav-Icon angezeigt.
[+] Für jede Protokolldatei kann jetzt eine eigene Ausgabedatei erstellt werden.
[+] In der Browser- und Spider-Liste werden jetzt ebenfalls grafische Balken angezeigt.

(Download im ersten Posting)


Gaijin - Di 12.05.09 10:57

Version 1.3.4:
[+] Die Größe der angeforderten Daten kann jetzt in einer Tabelle aufgegliedert werden.
[+] Die Vorlageneinstellungen werden jetzt in einer eigenen Datei gespeichert.
[+] Festgelegte Referrer Sites können jetzt in einer eignen Liste ausgegeben werden. Dadurch können z.B. die Zugriffe von Partnerseiten einfach beobachtet werden.
[*] Es werden jetzt weitere Betriebssysteme und Browser erkannt. (Änderungen in den Dateien "OperatingSystems.dat" und "UserAgents.dat")

(Download im ersten Posting)


Gaijin - So 19.07.09 08:43

Version 1.3.5:
[+] Für Robots und Browser werden jetzt Links zur Informationsseite des jeweiligen Robots bzw. zur Produktseite des Browsers angezeigt.
[+] In den Referrern wird jetzt auch das Betriebssystem "Ubuntu" und die Suchmaschine "Bing" erkannt. Weiters werden einige weitere User-Agents erkannt.
[+] In der Übersicht wird jetzt, neben den eindeutigen IP-Adressen, auch die vermutliche Anzahl der eindeutigen Benutzer angezeigt. Diese wird auf Grund der IP-Adresse und des User-Agents ermittelt.

(Download im ersten Posting)


Gaijin - Mo 07.09.09 14:52

Version 1.4:
[+] Die maximale Anzahl der Einträge für untergeordnete Tabellen (z.B. wie unter "Fehler nach Dateien und Referrer") kann jetzt festgelegt werden.
[+] Im Report können für IP-Adressen jetzt die dazugehörigen Hostnamen angezeigt werden. Die Namensauflösung erfolgt benutzergesteuert und wirkt sich so nicht auf die Verarbeitungsgeschwindigkeit der Reporterstellung aus.
[*] Die optionale Datei "IPCountry.dat" wurde aktualisiert.
[*] Diverse Ergänzungen und Änderungen in der User-Agent-Liste und der Liste der Betriebssysteme.

(Download im ersten Posting)


Gaijin - Sa 28.11.09 10:26

Version 1.4.1:
[+] Das Betriebssystem "Windows 7" wird jetzt erkannt.
[+] Für die Dateinamen im Report kann jetzt optional eine Bezeichnung bzw. ein Name angezeigt werden. Damit kann beispielsweise für Downloads der Name des Programms oder der Name einer Webseite an Stelle oder zusätzlich zum Dateinamen angezeigt werden.
[*] In den Protokolldateien werden jetzt Zeilenumbrüche (CR und/oder LF) alleine, oder zusammen in beliebiger Reihenfolge erkannt.
[*] In der Hilfe wurde der Abschnitt "DNS-Auflösung verwalten" detaillierter ausgeführt.

(Download im ersten Posting)


NeoInDerMATRIX - Fr 04.12.09 00:16

Nach längerer Zeit hab ich deinen Log-Parser mal wieder getestet und dabei sind mir ein par dinge aufgefallen.

Ich habe derzeit eine Server Konfiguration mit mehreren IPs und Domains und SubDomains die alle in eine Log-Datei mit einer Tages Log-Rotation geschrieben wird. Mein Log Format ist etwas Umfangreicher. Soviel zur Server Umgebung.

Die zum Test herangezogenen Log-Dateien umfassen derzeit 1.16 GB in 460 Dateien.

Das im Test Verwendete Log Format ist:

"%t %V:%p %a (%I,%O) [%T] %{X-Forwarded-For}i %u %l %>H %>m %>f %<s %>s %b Req=\"%r\" Referer=\"%{Referer}i\" Agent=\"%{User-Agent}i\""

Daraus ergeben sich Log-Daten wie folgend:



[02/Dec/2009:01:44:06 +0200] http://www.domain_b.de:80 217.0.0.23 (918,203) [0] - - - HTTP/1.1 GET D:/home/web/80.de.domain_b.www/images/smiles/yahoo/jetzt_komm_schon.gif 304 304 - Req="GET /images/smiles/yahoo/jetzt_komm_schon.gif HTTP/1.1" Referer="http://www.domain_a.de/shoutbox_view.php?0?auto_refresh=1" Agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)"
[02/Dec/2009:01:44:11 +0200] http://www.domain_b.de:80 84.0.0.127 (598,10789) [1] - - - HTTP/1.1 GET D:/home/web/80.de.domain_b.www/portal.php 200 200 10124 Req="GET /portal.php HTTP/1.1" Referer="-" Agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9 (.NET CLR 3.5.30729)"
[02/Dec/2009:01:44:32 +0200] 85.0.0.149:80 217.0.0.89 (46,506) [0] - - - HTTP/1.1 GET - 400 400 315 Req="GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" Referer="-" Agent="-"
[02/Dec/2009:01:44:33 +0100] domain_a.de:80 66.0.0.132 (251,652) [0] - - - HTTP/1.1 GET - 303 303 353 Req="GET /robots.txt HTTP/1.1" Referer="-" Agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
[02/Dec/2009:01:44:41 +0100] http://www.domain_a.de:80 66.0.0.183 (255,581) [0] - - - HTTP/1.1 GET D:/home/web/80.de.domain_a.www/robots.txt 404 404 326 Req="GET /robots.txt HTTP/1.1" Referer="-" Agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
[02/Dec/2009:01:44:41 +0100] domain_a.de:80 66.0.0.132 (224,631) [0] - - - HTTP/1.1 GET - 303 303 343 Req="GET / HTTP/1.1" Referer="-" Agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
[02/Dec/2009:01:44:41 +0100] http://www.domain_a.de:80 66.0.0.183 (255,580) [0] - - - HTTP/1.1 GET D:/home/web/80.de.domain_a.www/robots.txt 404 404 326 Req="GET /robots.txt HTTP/1.1" Referer="-" Agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
[02/Dec/2009:01:44:41 +0100] http://www.domain_a.de:80 66.0.0.183 (228,2474) [0] - - - HTTP/1.1 GET D:/home/web/80.de.domain_a.www/index.php 200 200 2221 Req="GET / HTTP/1.1" Referer="-" Agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Nun die Dinge die mir aufgefallen sind:
1) Es ist bei dieser Log Konfiguration nicht Möglich ein Report für nur eine Domain oder SubDomain zu machen.
2) Das Parser dauert extrem Lang. Bei Nutzung eines CPU Kerns gestoppte 5 Minuten 20 Sekunden.
3) Man kann im Profil nur ein Hostname und co Eintragen.
4) Die per Default eingetragenen Dateinamenserweiterungen sind etwas Unvollständig. Dort gehören auch die gebräuchlichen Endungen für Videos und Medien Dazu oder besser sogar in eine extra Gruppe in den Report.
5) Idee: Es währe denke ich effektiver die Daten nicht direkt auszuwerten sondern in eine SQL-Lite oder ähnliche Datenbank zu Parsen und bei späteren erneuten Parser diese Daten nur aktualisieren. Den Report dann aus dieser Daten erstellen ist schneller. So handhabe ich das per PHP auf meinem Server.
6) Das Layout der Reports überarbeiten. So das jede Tabelle in einer Art einzel Seite Dargestellt wird und nicht wie jetzt alle Daten untereinander. Das macht es unübersichtlich.
7) Eine Frage: Hast du das mit dem CronJob aufrufen schon eingebunden. Damit man den Parser per Console alla
"HttpLogState.exe /Parse"
"HttpLogState.exe /Report /Profil=ALL"

So glaube das war erstmal alles, denke ich. Wie gesagt das sind nur kleine Anmerkungen von mir.

MfG
neo


Gaijin - Fr 04.12.09 09:37

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

2) Das Parser dauert extrem Lang. Bei Nutzung eines CPU Kerns gestoppte 5 Minuten 20 Sekunden.
5) Idee: Es währe denke ich effektiver die Daten nicht direkt auszuwerten sondern in eine SQL-Lite oder ähnliche Datenbank zu Parsen und bei späteren erneuten Parser diese Daten nur aktualisieren. Den Report dann aus dieser Daten erstellen ist schneller. So handhabe ich das per PHP auf meinem Server.

Das Parsen und Auswerten der Daten in einer GZip-komprimierten Datei erfolgt mit einer Geschwindigkeit von ca. 100.000 Zeilen pro Sekunde. Abhängig vom Computer und der Länge der Zeilen kann dies natürlich variieren.

Gestern habe ich ein kommerzielles Analyseprogramm getestet, bei dem das Parsen einer Datei (ohne Reporterstellung) knapp 2 Minuten gedauert hat. HTTP LogStat hat die selbe Datei in 2 Sekunden verarbeitet - mit Report.

Dieses Programm hat beispielsweise eine Datenbank zum Speichern der Informationen verwendet. Ich denke nicht, dass eine SQL-Anweisung schneller verarbeitet wird als dies bei meiner Lösung der Fall ist. Davon abgesehen ist SQLite beim Schreiben von Daten relativ langsam.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

4) Die per Default eingetragenen Dateinamenserweiterungen sind etwas Unvollständig. Dort gehören auch die gebräuchlichen Endungen für Videos und Medien Dazu oder besser sogar in eine extra Gruppe in den Report.

Welche Dateiendungen meinst du konkret?

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

6) Das Layout der Reports überarbeiten. So das jede Tabelle in einer Art einzel Seite Dargestellt wird und nicht wie jetzt alle Daten untereinander. Das macht es unübersichtlich.

Danke für den Vorschlag. Ich werde ihn mir für eine der nächsten Versionen vormerken.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:

1) Es ist bei dieser Log Konfiguration nicht Möglich ein Report für nur eine Domain oder SubDomain zu machen.
3) Man kann im Profil nur ein Hostname und co Eintragen.
7) Eine Frage: Hast du das mit dem CronJob aufrufen schon eingebunden. Damit man den Parser per Console alla
"HttpLogState.exe /Parse"
"HttpLogState.exe /Report /Profil=ALL"

Diese Funktionen sind bereits enthalten und werden vermutlich in einer der nächsten Versionen auch in der Freeware-Version verfügbar sein.

Wobei bei der Verarbeitung von mehereren Domains ein Profil für jede Domain erstellt werden muss. Mit Hilfe einer Filterfunktion (RegEx-Ausdrücken) werden dann die von der Domain stammenden Informationen ausgewertet.


NeoInDerMATRIX - Fr 04.12.09 17:34

Ich habe nicht gesagt das andere Programme das besser können ich wollte nur sagen das ich es für recht lang empfinde. Da die Log Dateien jedes mal komplett neu gelesen werden müssen. Und genau hier greift der Punkt wenn du das in eine Datenbank oder irgend einem anderen Format zwischen speicherst. Dann müssen die Daten nur einmal gelesen werden können aber relativ leicht per Web Frontend oder ähnliches als Report ausgegeben werden. Und das lesen der Log Daten ist auch etwas schneller weil du nur ab dem letzten Punkt weiter lesen musst und nicht alles immer wieder neu. Das war eigentlich mein Vorschlag. Wie gesagt ich selber habe das auf meinem Server mit PHP so ähnlich geregelt. Sprich ich lasse den Server alle 30 Minuten die Log Daten lesen. Aber nur was neu ist. Und packe die Daten dann in die Datenbank. Wenn ich dann ein Report haben möchte brauche ich die Infos nur aus der Datenbank zu lesen. Und da ich die Daten nicht ständig komplett neu lesen muss kann ich die etwas größere Latenz zum schreiben der Daten auch noch verkraften.

Wie gesagt es ist keine Kritik bei weitem nicht. Dein Projekt ist recht interessant für jeden mit eigenem Log Dateien. Da so ein Report einige Informationen bereit hält die Interessant sind. Ich dachte nur das ich dir ein par von meinen Ideen von mir nahe bringe.

In diesen Sinne
MfG
neo


Gaijin - Fr 04.12.09 20:17

Ich glaube, dass da ein Mißverständnis war. Ich vermute mal, dass du nicht nur den letzten Tag oder die letzten Tage auswertest sondern einen längeren Zeitraum. Dafür wäre ein Datenbank vermutlich besser.

Da ich regelmäßig nur das Protokoll des letzen Tages auswerte, ist das Programm auch für diesen Zweck optimiert.

Für die tägliche oder mehrmals tägliche Auswertung von vielen Protokollen - etwa die des gesamten Jahres - ist HTTP LogStat nicht ausgelegt und somit auch nicht das optimale Werkzeug dafür. Eine serverseitige Lösung dürfte dafür geeigneter sein.


BenBE - Fr 04.12.09 20:21

Dennoch wäre es nicht gan verkehrt, wenn man eine Möglichkeit bietet, die von HTTP LogStat zwischengespeicherten Daten zwischen mehreren Profilen zu "sharen", um beim Analysieren vieler Domains, die in die gleichen Logfiles geloggt werden (durchaus üblich*) nicht jedes Mal die Logfiles neu lesen zu müssen.

*Hab selber nur eine große Logfile für ~20 Domains. Selbst wenn ich die pro Domain\Subdomain in 10 Sekunden analysiert bekomme, sind das bei 20 Domains mit je 2-10 Subdomains mal schnell 15 Minuten Arbeitszeit, nur damit er Daten neu auswertet, die er bereits kennt.


NeoInDerMATRIX - Fr 04.12.09 23:20

OK, wenn du es natürlich so siehst hast du recht. Aber wieso wertet man denn Log Dateien nur für einen Tag aus? Und nein die frage ist nicht böse gemeint, sondern es wundert mich nur gerade etwas. Da die meisten Informationen aus dem Report eigentlich erst Statistischen Sinn machen wenn man über einen Längeren Zeitraum auswertet.
Deshalb hatte ich es auch entsprechend verwendet.


Gaijin - Sa 05.12.09 11:50

Wie bereits geschrieben, finde ich für diese Art der Auswertung eine serverbasierte Lösung besser. Ich werde mir die inkrementelle Protokollauswertung mal vormerken und sobald die bereits geplanten Features umgesetzt wurden mal in Angriff nehmen (bzw. dies zu versuchen).


Gaijin - Mo 15.02.10 13:56

Version 1.4.2:
[+] Die Eintritts-Seiten (Webseiten mit einem Referrer einer anderen Seite) können jetzt im Report ausgegeben werden.
[+] Im benutzerdefinierten Format können jetzt zusätzliche Platzhalter verwendet werden, welche hauptsächlich für das Parsen von IIS-Logs ausgelegt sind.
[*] Die Datei "IPCountry.dat" wurde aktualisiert.
[*] Diverse kleinere Änderungen und Ergänzungen.

(Download im ersten Posting)


NeoInDerMATRIX - Do 18.02.10 22:37

So nach langem mal wieder ein Bericht von mir. ^^



In diesem Sinne,

Cu
neo


Gaijin - Do 18.02.10 23:37

Danke, ich habe mir deine Vorschläge vorgemerkt.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
[*] Immer noch der Fehler beim Parsen meiner Logdateien bei den Fehlercodes und Statuscodes.

Welche Fehler treten bei Statuscodes auf?
Die Protokollzeilen und der Format-Ausdruck aus deinem Posting vom 03.12.2009 funktionieren bei mir scheinbar problemlos (2x 303 und 404, 1x alle anderen Statuscodes). Auch die übrigen Informationen werden im Report angezeigt und es gibt keine fehlerhaften Zeilen.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
[*] Im Template wird anstelle "Januar" "Jänner" ausgegeben

In Österreich ist "Jänner" das richtige Wort für den ersten Monat. Wenn dich das stört, kannst du ja eine Sprachdatei für Deutschland erstellen. :D
Klingt vielleicht witzig, fuktioniert aber sehr einfach:
Erstelle eine neue Sprachdatei im Ordner "Languages", z.B. "Deutsch - BRD.lng" und schreibe nur die Zeile "DefVal.MonthNames.January=Januar" rein.

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
[*] Das Template sollte ein komplette box herum bekommen damit eine Tabelle nicht breiter ist wie die anderen.

Das ist schlecht, wenn bei automatisierten Zugriffen sehr lange - nicht existente - Pfade übergeben werden. Dann wären alle Tabellen zu breit, so ist es nur die mit den entsprechenden Einträgen.


NeoInDerMATRIX - Fr 19.02.10 17:44

Wenn du möchtest dann sende ich die die Debug Output LOG wegen dem falschen Parsen.
Das mit der Sprach Datei ist so OK. Dann währe eventuel das mit den einzelnen html seiten pro tabelle besser und oben drüber sowas wie ne tab wo die einzelnen gruppen oder tabelen auszuwählen sind.


Gaijin - Fr 19.02.10 21:11

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Wenn du möchtest dann sende ich die die Debug Output LOG wegen dem falschen Parsen.

Es wäre nett, wenn du mir ein paar Zeilen daraus, sowie den Formatausdruck per E-Mail schicken könntest.


NeoInDerMATRIX - Sa 20.02.10 00:09

Wegen dem Template da dachte ich mir das so hier.
Hatte auch versucht das so hin zu bekommen doch leider ist das Templating nicht so sonderlich gut dazu zu gebrauchen das Layout um zu stellen.

MfG
neo


Gaijin - So 21.02.10 10:34

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Wegen dem Template da dachte ich mir das so hier.

Ich werde versuchen, den Report wahlweise auf einer und mehreren Seiten (z.B. eine Seite pro Kategorie) auszugeben.


MDX - Mi 07.04.10 05:13

Eine kleine Verbesserung hätte ich noch:
Seitenweise die Auswetung anzeigen, bzw. pro Kategorie eine Seite.

Ansonsten super tool, gefällt mir sehr gut :)


Gaijin - Do 08.04.10 11:13

Danke!

Ich habe mir deinen Vorschlag notiert.


NeoInDerMATRIX - Di 13.04.10 23:45

Wenn man mit folgendem Parameter HttpLogStat.exe /Analyze /Exit /Profile="<Profile>" dann wird der Dialog angezeigt während der Arbeit und danach wie sonst auch wird der Report im Browser aufgemacht. Was beim automatischen erstellen kein Sinn macht in meinen Augen. Sollte man eventuell einen Parameter machen oder Option die das unterbindet. Ist etwas blöde wenn man das per CronJob oder ähnliches Startet der as Service läuft also ohne WinStation und die Browser dort auch aufgemacht werden. Die muss man dann per Task killen.

MfG
neo


Gaijin - Mi 14.04.10 07:40

Danke für deinen Vorschlag.

In der nächsten Version werde ich dafür einen Parameter hinzufügen, mit dem das Öffnen des Browsers unterbunden werden kann.


Gaijin - Mi 23.06.10 10:19

Version 1.4.3:
[+] Der neue Befehlszeilenparameter "/NoReport" verhindert das Öffnen des Reports, wenn HTTP LogStat mit dem Parameter "/Analyze" gestartet wurde.
[+] In der Übersicht werden jetzt auch die Gesamt- und Tageszugriffe ohne Zugriffe von Spidern angezeigt.
[*] Im Report wurde bei der Anzahl der fehlerhaften Zeilen ein Link zum Öffnen der Protokolldatei hinzugefügt.

(Download im ersten Posting)


NeoInDerMATRIX - Do 24.06.10 23:10

Also bei mir scheint diese Version einen Fehler zu haben und die LOG nicht mehr sauber zu lesen oder aber zu berechnen. Die Daten von dieser und der Vorgänger Version unterscheiden sich stark von einander.


Gaijin - Fr 25.06.10 12:30

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Also bei mir scheint diese Version einen Fehler zu haben und die LOG nicht mehr sauber zu lesen oder aber zu berechnen. Die Daten von dieser und der Vorgänger Version unterscheiden sich stark von einander.

Der Umfang und die Werte des Reports der aktuellen und der vorhergehenden Version sind bei mir völlig ident.

Vielleicht wurde eine andere Protokolldatei geladen oder es werden andere Vorlagen zur Reporterstellung verwendet.


NeoInDerMATRIX - Fr 25.06.10 16:31

Nö, sind die gleichen Daten da ich das gleiche Verzeichnis nutze. Wenn du möchtest kann ich dir das auch live zeigen, dann melde dich mal per PN bei mir damit wir was ausmachen können. Habe die neue Version neben der alten installiert und beide gleichzeitig auf die gleichen Daten los gelassen und doch arge Unterschiede allein schon in der angeblichen Transfer menge erkannt. Anbei ist diese immer noch maximal in GB geschrieben. Wie gesagt melde dich mal bei mir.


NeoInDerMATRIX - Fr 30.07.10 13:14

Es macht aber scheinbar einen unterschied ob man die Daten neu eingibt oder aber die alten Profile Kopiert.


mdacko - Mi 16.02.11 18:03

Kann das Programm auch Partial Content Anfragen (206) richtig zuordnen und nur einmal zählen?


Gaijin - Mi 16.02.11 18:25

user profile iconmdacko hat folgendes geschrieben Zum zitierten Posting springen:
Kann das Programm auch Partial Content Anfragen (206) richtig zuordnen und nur einmal zählen?
Zeilen mit einem Statuscode 206 werden nicht gesondert behandelt. Jede Zeile in der Protokolldatei wird als ein Zugriff gesehen.


NeoInDerMATRIX - Mi 09.03.11 00:55

Wie viele Tage kann dein Tool verarbeiten? Teste es seit einiger Zeit bei mir, allerdings scheint er keine neuen Daten mehr dazu zurechnen. Es sieht seit geraumer Zeit so aus als ob er alles was jetzt neu kommt nicht mehr beachtet. Das Tool wird bei mir derzeit täglich per CronJob ausgeführt.


Gaijin - Mi 09.03.11 06:53

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Wie viele Tage kann dein Tool verarbeiten? Teste es seit einiger Zeit bei mir, allerdings scheint er keine neuen Daten mehr dazu zurechnen. Es sieht seit geraumer Zeit so aus als ob er alles was jetzt neu kommt nicht mehr beachtet. Das Tool wird bei mir derzeit täglich per CronJob ausgeführt.

Wenn mit der Dateimaske keine Einschränkung für Dateinamen angegeben wurde, gibt es keine Limitierung.


NeoInDerMATRIX - Mi 09.03.11 17:44

Also es scheint aber so, als ob es dort ein Problem bei gibt. :!:

Darum frage ich ja. Da die angeblich versandte Datenmenge sich seit Tagen nicht mehr ändert.


Gaijin - Mi 09.03.11 18:48

user profile iconNeoInDerMATRIX hat folgendes geschrieben Zum zitierten Posting springen:
Also es scheint aber so, als ob es dort ein Problem bei gibt. :!:

Darum frage ich ja. Da die angeblich versandte Datenmenge sich seit Tagen nicht mehr ändert.

Wie ich bereits schrieb, ist mir bei korrekter Konfiguration kein Problem bekannt, das eine Einschränkung der Log-Dateien betrifft.


NeoInDerMATRIX - Sa 05.05.12 00:47

Changelog hat folgendes geschrieben:

Version 1.4.5:
[+] Für den Dateinamen der Reportdatei kann jetzt per Platzhalter auch der Dateiname der zuletzt verarbeiteten Protokolldatei eingefügt werden.
[+] In den Profileinstellungen kann jetzt angegeben werden, ob und wie anonymisierte IP-Adressen (z.B. "127.0.0.x") ersetzt werden sollen.
[+] Professional: In den Profileinstellungen (unter "Report") kann das automatische Öffnen der Reportdatei ausgeschaltet werden.
[+] Professional: Mit dem Befehlszeilenparameter "/NoReport" kann das automatische Öffnen des Reports nach dessen Generierung unterbunden werden.
[+] Über das Menü und die Werkzeugleiste kann jetzt die Ausgabedatei (der Report) des ausgewählten Profils geöffnet werden.
[*] Diverse kleinere Änderungen.


Kann es sein das dieser Parameter seit der Version 1.4.5 nur noch in der Pro Version geht?


Gaijin - Sa 05.05.12 06:52

Ja, das muss irgendetwas schiefgegangen sein. Ich werde das überprüfen und ggf. in der nächsten Version ändern.