Die Auswertung der Log-Dateien


Ablauf der Auswertung

Das Perl-Programm logs.pl (Quelltext) wertet eine oder mehrere Log-Dateien aus. Das Ergebnis der Auswertung sind drei XML-Dateien:

open.xml

Am Ende der Auswertung sind einige Besuche möglicherweise noch nicht abgeschlossen, weil der letzte Zugriff der Besuchs weniger als fünf Minuten vor dem letzten protokollierten Zugriff erfolgte. Ich zähle einen Besuch dann als abgeschlossen, wenn fünf Minuten lang keine Anfrage erfolgte. Die Daten open.xml enthält Daten der noch offenen Besuche. Sie wird zu Beginn der nächsten Auswertung gelesen. Dann kann sich herausstellen, dass ein zunächst offener Besuch gar nicht zählt, weil er keine Bildergeschichte oder kein Bild angefordert hat.

detailed.xml

Detaillierte Daten zu den abgeschlossenen Besuchen

finished.xml

Zusammengefasste Daten der abgeschlossenen Besuche (Zahlen der Anfragen der Bildergeschichten, Bilder und Sprachen)

Das Programm sums.pl (Quelltext) fasst die Daten aus der Datei finished.xml mit früheren Besuchen aus der Datei visits.xml zur neuen Datei visits.xml zusammen. Diese Datei ist die Grundlage der Anzeige der beliebtesten Bildergeschichten und Bilder in der Website.

Die XML-Dateien nutzen den Namensraum http://herbaer.de/xmlns/20170605/visits/. Alte Dateien werden nicht automatisch überschrieben. Der Dateiname jeder Datei enthält einen Zeitstempel. Die Verzeichniseinträge ohne Zeitstempel sind symbolische Verweise auf die neuesten Dateien.

Ausgewertete Logdateien werden aus dem Unterverzeichnis newlogs in das Unterverzeichnis evallogs verschoben.

Natürlich sollen nicht alle Einzelheiten im Web präsentiert werden. Die Transformation visits_reduce.xslt wählt aus der Datei visits.xml die zu präsentierenden Daten aus. Das Ergebnis verwendet Elementnamen aus nur einem Zeichen: http://herbaer.de/xmlns/20170613/vis/. Die anschließende Transformation vis_add_details.xslt (Text) fügt zu Bildergeschichten das beliebteste Bild hinzu und verwendet dazu auch die vorab erstellten Bildbewertungsdateien. Zu Bildern werden die Fragment-Bezeichner hinzugefügt, die zur Anzeige des Bildes innerhalb der Bildergeschichte führen.

Ablaufskizzen

So läuft die Auswertung neuer Log-Dateien. Der „Zeitstempel” ZEITNEU ist für alle Dateien derselbe, während die Zeitstempel ZEITALT verschieden sein können.

    open.xml.ZEITALT       <- open.xml       --|  ( visits_in.xslt )
    newlogs/access_log_JJJJ-MM-TT.gz         --|
                                          logs.pl (Quelltext)
                                               |-- open.xml.ZEITNEU
                       ( visits_logs.xslt ) -- |-- detailed.xml.ZEITNEU
                                     |         |-- finished.xml.ZEITNEU
                                     |
    newlogs/access_log_JJJJ-MM-TT.gz --> evallogs/access_log_JJJJ-MM-TT.gz
    open.xml.ZEITNEU       <- open.xml
    finished.xml.ZEITNEU   <- finished.xml   --|  ( visits_num.xslt )
    visits.xml.ZEITALT     <- visits.xml     --|  ( visits_num.xslt )
                                          sums.pl (Quelltext)
                                               |-- visits.xml.ZEITNEU
    visits.xml.ZEITNEU     <- visits.xml

    visits.xml  --|
                  visits_reduce.xslt
                  |
                  |       |-- <Bildergeschichte[STORYID]>
                  |       |-- <Bildbewertung[STORYID]>
                  vis_add_details.xslt (Text) --> DOCROOT/f/f.xml