[an error occurred while processing this directive]

technikum29 

 
 

Modulares Logfileanalyseprogramm

Das in der Programmiersprache Perl selbstgeschriebene Logfileanalyseprogramm ist modular aufgebaut, d.h. unterschiedliche größtenteils unabhängige Teile des Programmes können unabhängige Aufgaben übernehmen. Ein ganz normaler Aufruf im gegenwärtig vollem Funktionsumfang benutzt folgende (produktive) Module:

Spezifischere Informationen zum Programmaufbau

Das Programm, welches in Perl (practical error reporting language, sehr weit verbreitete Scriptsprache mit sehr abstraktem Syntax, der sehr "komprimiertes" Programmieren ermöglicht) geschrieben ist, ist neben seiner Modularität auch noch unabhängig von der Benutzerschnittstelle, d.h. es existieren neben dem statischen Terminalinterface auch ein interaktiver Modus (mit ziemlich viel Hilfsausgaben), dazu andere erweiterte Modi sowie auch ein grafisches Interface, welches das GTK+ (Gimp Toolkit) nutzt.

In seiner gegenwärtigen Struktur ist das Programm so ausgelegt, dass es auf den Windows-Betriebssystemen (activeperl vorrausgesetzt) sowie UNIX-Distributionen läuft.

mod_analyse

Das eigentliche Modul, welches Logfileanalysen anstellt, nennt sich mod_analyse. Die Statistikauswertungen dieses Moduls sollten sich von denen anderer Programme dadurch auszeichnen, dass für jede einzelne erreichbare Datei auf dem Server (einem sogenannten job) eine individuelle Statistik angefertigt wird. So kann man z.B. schauen, wie viele Leute auf eine bestimmte Seite wann, woher, etc. geschaut haben. Natürlich lassen sich diese jobs dann auch nach Themenbereichen (Kategorien) ordnen, für welche es Statistiken gibt.

Neben diesen Jobspezifischen Statistiken gibt es die globalen Statistiken, d.h. Statistiken, die die gesamten Zugriffe/die gesamte Webpräsenz umfasst.

Der nun neue und ironischerweise als erstes realisierte Teil nennt sich 1like1, abgeleitet von den Analysen des 1und1-Programms. Hierbei werden umfangreiche wochentliche Statistiken angefertigt, die viele Daten in Tabellen sowie eine Menge Grafiken anfertigen. Dieser Modulpart (etwa 1000 Zeilen Perlcode!) hat keinen anderen Anspruch als den der 1und1-Statistiken.

Das Modul ist durch seine überwältigende Konfigurationsdatei ziemlich flexibel - das merkt man selbst an den Ausgaben, die mit einem einheitlichen praktischen Templatesystem erzeugt werden und mit unterschiedlichen Designs zum Anzeigen jedem Anspruch gerecht werden.

Informationen vom Programm

Folgende Ausgaben gibt das Programm bei Aktivierung des Hilfemoduls (mod_help) aus:

Modulares Logfileanalyseprogramm v3.5NG
  loganalyse.pl [PARAMETERS]

     Das modulare Logfileanalyseprogramm ist anhand unterschiedlicher
     Module in der Lage, die vielfältigsten Aufgaben in einem Arbeits-
     gang zu bewältigen.


  Parameter
     -c  --collect      aktiviert die Benutzung von mod_collect
     -r  --rewrite      aktiviert das Rewriten des Logs in mod_collect
     -w  --webalizer    aktiviert die Benutzung von mod_webalizer
     -f  --ftp          aktiviert die Benutzung von mod_getlog
     -u  --upload       aktiviert die Benutzung von mod_upload
     -h  --help         zeigt die Hilfe an (mod_help)
     -a  --fileanalyser aktiviert die Benutzung von mod_fileanalyse

     -v  --verbose      gibt weitere Informationen zum Programmverlauf
                        aus

     -i  --interactive  benutzt zur Parametersetzung mod_interactive
     -s  --silent       zeigt im interaktiven Modus keine Hilfe an
     -x  --extended     ermöglicht erweiterte Programmfunktionen, z.b.
                        Fortschrittsbalken (ProgressBar)

  Startprogramme
     * loganalyse.pl   Standardprogramm
     * web.pl          Webinterface
                       Mit dem Webinterface bietet sich eine vollwertige
                       Lösung, das Programm über das Web aufzurufen.
                       Das Programm web.pl generiert dazu eine komplette
                       Umgebung; es kann über CGI benutzt werden.
     * help.pl         Vereinfachtes Standardprogramm, welches die Hilfe
                       einblenden kann.

  Module laden
     welche Module geladen werden, kann über die Parameter sowie
     die Voreinstellung in settings.inc.pm eingestellt werden.
     Die Angabe über Parameter überschreibt dabei *immer* die
     Voreinstellungen.

  (Vor-)Einstellung bearbeiten
     So ziemlich alle Einstellungen lassen sich in der Datei
     settings.inc.pm machen. Jede Einstellmöglichkeit ist dort
     ausführlichst erklärt.

  Parametersetzarten
     Neben der Standardmethode, in der die Parameter vor Programm-
     start gesetzt werden, gibt es auch den interaktiven Modus, der
     einfach mit dem Parameter "-i" gestartet wird.
     Hier werden alle Einstellungen während dem Programmverlauf
     vorgenommen.
     Mit dem "-s"-Flag lässt sich zu dem die (vermutlich) überflüssige
     zusätzliche Hilfe ausblenden.

  Fehlercodes (Errorcodes)
     Da bei den Aufgaben, die die Module des Programms erledigen
     können, die unterschiedlichsten Probleme und Fehler auftreten
     können, ist ein kleines Fehlercode-System entwickelt worden,
     mit dem jeder Fehler, der einkalkuliert ist, eindeutig
     identifiziert werden kann.
     Über die Parameter "-h:errorcodes" oder auch "--help=errorcodes"
     kann sich die Tabelle der Fehlercodes angeschaut werden. Zu jedem
     Fehlercode kann man sich dann eine Beschreibung und Hilfe durch-
     lesen. Diese Hilfen kann mod_help auch automatisch suchen, in
     dem man das Programm mit "-h:[der errorcode]" startet

  Übersicht über die Module
     Folgende Module stehen zur Verfügung:

     mod_core - Kernprogramm
         * Wertet Parameter aus und setzt Variablen
         * Stellt zahlreiche Untermodule für den allgemeinen
           Gebrauch bereit, z.b. ProgressBar
     mod_interactive - Interaktives Programm
         * Gibt interaktive Hilfen aus
         * Ermöglicht Parametereintellung interaktiv
     mod_help - Hilfe
         * Gibt einfache Hilfe aus (-h)
         * Kann Fehlercodespezifische Informationen ausgeben
     mod_ftp - FTP-Client
         * Holt aktuelle Logdaten von einem FTP-Server
         * regelt Speicherung für Logs
     mod_collect
         * Schreibt verschiedene (auch gz-komprimierte) Logdateien
           in eine Logdatei zusammen
         * kann alle Logeinträge umschreiben (rewriten)
     mod_webalizer - Webalizer starten
         * startet den Webalizer
     mod_analyse
         * Webserveranalyseprogramm mit Datei-/Bereichsschwerpunkt
         * Stellt umfangreiche Analysen an
     mod_upload
         * ermöglicht Upload von Verzeichnissen auf den FTP-Server
         * wendet auf dem Server auch eine Archivierung an