Awstat Monatsstatistik fehlt

  • Thread starter Thread starter Deleted member 2251
  • Start date Start date
D

Deleted member 2251

Guest
Hallo,

ich habe neulich meine Statistik auf Awstat umgestellt...

Nun ist es leider so, dass ich nur die Statistik des aktuellen Monats angezeigt bekomme. Was muss in der Config geändert werden, dass ich auch die Vormonate bekomme??

Awstat läuft seit ca. mitte letzten Monat. Leider fehlt das Drop-Down Menu.

Gruß
Daniel
 
Das habe ich mich auch schon mal gefragt und mangels Zeit mich dazu entschieden jeden Monat einfach einen neuen Ordner zu erstellen. Man muss dazu sagen das ich die statische Ausgabe der Logs gewählt habe.

Ist zwar nur ein workaround aber vielleicht hilft es dir ja.
 
Hallo,

ja, so viel wie ich herausgefunden habe, ist es nur möglich, wenn die Ausgabe dynamisch ist und nicht statisch. Leider weiss ich nicht, wie ich es in Plesk umstellen kann.

Gruß
Daniel
 
MIt Plesk kenne ich mich nicht aus. Ich habe mir die conf unter /etc/awstat oder ähnlich zu gemüte geführt und die passenden Einstellung vorgenommen.
 
Ja, aber welcher Teil der Config ist es? Kann da nichts finden...
 
Etwas versteckt in der Dokumentation, da sich das nur per Kommandozeile machen lässt.

HIer der passende Ausschnitt aus der AWStats Doku:

b) If you want to build a report for a particular month, add the options -month=MM -year=YYYY where MM is the month expressed as two digits, i.e. 03, and year is the four digit year. To build a report for a full year, add the options -month=all -year=YYYY (warning: this is often resource intensive and might use a lot of memory and CPU. Unix/Linux like operating systems might benefit from use of the "nice" command.)

Ich hoffe es hilft dir weiter.

Nachtrag: Sorry, vergessen: Zu finden ist der Abschnitt hier: AWStats Documentation - Setup page
 
Last edited by a moderator:
danke, werde es morgen mal in Ruge anschauen...
 
Hast du das hinbekommen?

Ich würde auch gerne die alten Monate sehen - könnte mir auch vorstellen auf cgi umzustellen, allerdings weiß ich nicht wie das in Verbindung mit Plesk funktioniert.

Wenn du es geschafft hast wäre es nett, wenn du bescheid geben kannst.
 
Versucht ja, aber wohl nicht so wie es sein sollte.

Im Crontab steht /usr/local/psa/admin/sbin/statistics >/dev/null 2>&1 als Befehl, der die Stats baut - dort das -month=all -year=2007 anzuhängen funktioniert schon mal nicht, aber das ist vermutlich auch nicht die richtige Stelle?

Wäre halt gut, wenn es immer für alle Domains den kompletten Bericht 1x in der Nacht erstellt - so dass man eben auch die alten Monate anschauen kann.
 
Last edited by a moderator:
... steht /usr/local/psa/admin/sbin/statistics >/dev/null 2>&1 als Befehl, der die Stats baut - dort das -month=all -year=2007 anzuhängen funktioniert schon mal nicht ...

Ich bin etwas überrascht, der Befehl /usr/local/.../statistics ist mir im Zusammenhang mit AWStats neu ... Ich habe bei mir AWStats 6.5 im Einsatz.

Hier als Beispiel die AWStats Kommandozeile, mit der ich meine Mailstats für das gesamte Jahr 2006 (-months=ALL -year=2006) erstellt habe:

Code:
 /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=sendmail -month=all -year=2006 -output -staticlinks > /var/www/web10/html/aws/2006/awstats.sendmail.html

Wegen den Absoluten Pfadangaben sicherlich etwas lang, aber dafür unabhängig von dem Verzeichnis, wo man sich gerade aufhält. ;)

Wäre halt gut, wenn es immer für alle Domains den kompletten Bericht 1x in der Nacht erstellt - so dass man eben auch die alten Monate anschauen kann.

Als Voraussetzung würde ich hier erstmal entscheiden, ob du jeden Monat separat haben willst, oder immer das gesamte aktuelle Jahr.

Um das Domain abhängig zu machen, musst du für jede Domain eine separate Konfiguration anlegen und dann die entsprechenden Aufrufe für die Statistiken absetzen.

-

Ich bin mal so frei, und liefere hier mal eine Art HowTo für eine Domain, was erstmal keinen Anspruch auf Vollständigkeit/Fehlerfreiheit hat. Das ganze basierend auf meinem bisherigen Vorgehen, was nicht das effizienteste sein muß.

Annahmen
- Fertig installiertes AWStats, mit folgenden Pfaden:

AWStats Pfad
Code:
/usr/local/awstats/
AWStats Config Pfad:
Code:
/etc/awstats
- Domain, von der die Statistiken erstellt werden sollen:
Code:
www.beispieldomain.de
- Pfad, unter dem die HTML Dateien, CGI Skripte, etc. für diese Domain abgelegt sind:
Code:
/var/www/web1/html

Ziele:
  1. Tägliche aktualisierte Monats Statistik (bezieht sich ausschließlich auf den aktuellen Monat)
  2. Monatlich aktualisierte Jahres Statistik (hier ist spätestens nach Jahreswechsel Handarbeit notwendig)

Schritte zu Punkt 1:
  1. Anlegen eine Konfigurationsdatei, basierend auf der awstats.conf, welche Standardmäßig mitgeliefert wird.
    Code:
    cp /etc/awstats/awstats.conf /etc/awstats/awstats.de_beispieldomain.conf

    Das ich den Domain Namen umgekehrt verwende, bringt spätestens bei vielen Domains den Vorteil der Sortierung bei einem ls innerhalb dieses Verzeichnisses. Wobei "viele" aber eine individuelle Einschätzung ist.
    Statt der Domain kann man natürlich auch den Kundennamen (web1, web2, webx ... o.ä.) verwenden.

  2. Anpassung der Konfigurationsdatei für diese Domain, wie in der Dokumentation von AWStats beschrieben. Am wichtigsten sind hier die Punkte Logdatei für diese Domain und Domain Aliase, unter denen man die Webpräsenz erreichen kann.
    Domain / - Aliase:
    Code:
     www.beispieldomain.de, beispieldomain.de
    und, was manchmal vergessen wird, die Möglichkeit des Aufrufes basierend auf der Domain des Hosters. Bei S4Y zum Beispiel:
    Code:
    web1.vs<Kundennummer>.vserver.de
    Sollten noch andere Subdomains, außer www existieren, sollte das ganze entsprechend erweitert werden.
    Beispiel:
    Code:
    mail.beispieldomain.de

    Logdatei (Beispiel):
    Code:
    /var/www/web1/log/access.log

  3. Erstellung des Zielverzeichnisses, in welchem die Statistiken abgelegt werden sollen:
    Code:
    mkdir /var/www/web1/html/aws
    Danach noch den Eigentümer setzen:
    Code:
    /bin/chown web1:<GRUPPE> /var/www/web1/html/aws
    <GRUPPE> mit dem Wert ersetzen, der auch bei den anderen Verzeichnissen für diesen Kunden/Nutzer gesetzt ist.

  4. Erstellung eines Shell Skriptes, welches dann wiederum per cron aufgerufen wird.
    Ein separates Skript macht hier durchaus Sinn, da man sich so innerhalb der crontab die Übersicht erhält, auch wenn man das ganze für 100 Domains macht.
    Wo dieses Skript abgelegt wird, ist im Grunde genommen egal, da man (vorzugsweise) eh mit absoluten Pfaden arbeitet. Sinn macht es natürlich, dieses Skript in eines der bereits im Zusammenhang mit AWStats existierenden Verzeichnisse abzulegen:
    Code:
    touch /etc/awstats/awstats.de_beispieldomain.daily.sh
    chmod +x /etc/awstats/awstats.de_beispieldomain.daily.sh
    vi /etc/awstats/awstats.de_beispieldomain.daily.sh
    Das Skript beinhaltet die AWStats Aufrufe für die Beispiel Domain. Für den Anfang ist es genau einer, der einfach die Start/Index Seite der Statistiken erstellt. Hinzu kommt noch ein Eintrag, der die Zugriffsrechte entsprechend setzt:
    Code:
    /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=de_beispieldomain -output -staticlinks > /var/www/web1/html/aws/awstats.de_beispieldomain.html
    chown web1:<GRUPPE> /var/www/web1/html/aws/awstats*
    Man kann sich neben der Start/Index Seite der Statistiken, noch andere Reports erstellen lassen. Als Beispiel wäre zu nennen: Report über 404 HTTP Fehler, Alle IP Adressen bzw. DNS Namen, welche auf die Seite zugegriffen haben, Browser Statistiken, Betriebssysteme etc. In der Dokumentation sind alle möglichen Varianten aufgelistet: AWStats Documentation - Setup page
    Hier ist auch die Möglichkeit erklärt, sich mit einem Aufruf alle möglichen Seiten auf einmal generieren zu lassen.

  5. Einbindung von AWStats in die crontab

    Hier ist der erste Schritt, das update Skript von AWStats aufzurufen, bevor man überhaupt die Statistiken für eine Domain generiert. Ein zweiter Eintrag sorgt dann dafür, das die Statistiken für eine Domain erstellt werden.

    Crontab zum Editieren öffnen:
    Code:
    crontab -e
    Folgendes einfügen:
    Code:
    #=== AWStats - Update Database
    22 00 * * *    /usr/local/awstats/tools/awstats_updateall.pl now > /dev/null
    Der Kommentar ist kein Pflicht, aber wie immer und überall empfehlenswert. :)
    In dieser Konfiguration, wird das Update Skript jeden Tag 00:22 Uhr aufgerufen. Der Zeitpunkt des Aufrufes Sollte natürlich an die Gegebenheiten des eigenen Servers angepasst werden. Stichwort: Auslastung.
    Dabei aber schon daran denken, das natürlich die Aufrufe für die Domain Statistiken zeitlich nach dem Update Skript zu erfolgen haben.
    Jetzt noch den Eintrag für die Domain Statistik einfügen:
    Code:
    27 00 * * * /bin/sh /etc/awstats/awstats.de_beispieldomain.daily.sh
    Damit wird das Skript, welches die Statistik Seiten für die Domain www . beispieldomain . de erstellt, jeden Tag um 00:27 Uhr aufgerufen.

    Das Update Skript braucht bei vielen Domains entsprechend lange, man sollte also genug Zeit zwischen dem Aufruf dieses Skriptes und dem ersten Aufrufe für eine Domain einplanen. Die von mir hier verwendeten 5 Minuten sind schon recht knapp bemessen.

    Warum 2 separate Aufrufe?
    Das Update Skript liest die konfigurierten Logdateien für (in diesem Fall) alle vorhandenen /etc/awstats/awstats.*.conf Dateien und erstellt entsprechende History/Statistik Dateien. Erst der 2. Aufruf generiert aus diesen History/Statistik Dateien entspechende HTML Ausgaben.

Schritte zu Punkt 2:

  1. Erstellung des Zielverzeichnisses, in welchem die Jahres Statistiken abgelegt werden sollen:
    Code:
    mkdir /var/www/web1/html/aws/2007
    Danach noch den Eigentümer setzen:
    Code:
    /bin/chown web1:<GRUPPE> /var/www/web1/html/aws/2007
    <GRUPPE> mit dem Wert ersetzen, der auch bei den anderen Verzeichnissen für diesen Kunden/Nutzer gesetzt ist.

  2. Erstellung eines Shell Skriptes, welches dann wiederum per cron aufgerufen wird:
    Code:
    touch /etc/awstats/awstats.de_beispieldomain.monthly.sh
    chmod +x /etc/awstats/awstats.de_beispieldomain.monthly.sh
    vi /etc/awstats/awstats.de_beispieldomain.monthly.sh
    Das Skript beinhaltet die AWStats Aufrufe für die Beispiel Domain, um die Statistik für ein Jahr zu erstellen:
    Code:
    /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=de_beispieldomain -month=ALL -year=2007 -output -staticlinks > /var/www/web1/html/aws/2007/awstats.de_beispieldomain.html
    /bin/chown web1:<GRUPPE> /var/www/web1/html/aws/awstats*

  3. Einbindung von AWStats in die crontab
    Code:
    32 00 1 * * /bin/sh /etc/awstats/awstats.de_beispieldomain.monthly.sh
    Damit wird das Skript, welches die Statistik Seiten für das Jahr 2007 für die Domain www . beispieldomain . de erstellt, jeden 1. des Monats um 00:32 Uhr aufgerufen.

    Hier komme ich zurück zu meinem Kommentar bei Punkt 2:
    Mario said:
    (hier ist spätestens nach Jahreswechsel Handarbeit notwendig)
    Nach dem Jahreswechsel muss sowohl das Shell Skript angepasst als auch ein Verzeichnis für das neue Jahr erstellt werden:
    Im Skript die Zeile
    Code:
    /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=de_beispieldomain -month=ALL -year=2007 -output -staticlinks > /var/www/web1/html/aws/2007/awstats.de_beispieldomain.html
    durch
    Code:
    /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=de_beispieldomain -month=ALL [COLOR=Red]-year=2008[/COLOR] -output -staticlinks > /var/www/web1/html/aws/[COLOR=Red]2008[/COLOR]/awstats.de_beispieldomain.html
    ersetzen. Und das Spiel beginnt von vorn. :)


    Zu erreichen sind die Statistiken jetzt unter folgender URL:
    Code:
    Tagesaktuelle Monats Statistik: http://www.beispieldomain.de/aws/awstats.de_beispieldomain.html
    Monatsaktuelle Jahres Statistik: http://www.beispieldomain.de/aws/2007/awstats.de_beispieldomain.html

Ich hoffe es haben sich jetzt kein groben Schnitzer eingeschlichen und das die Beschreibung dir bzw. anderen weiterhilft, AWStats pro Domain erfolgreich zum laufen zu bringen.

Dies und Das:
- das ganze habe ich als root User gemacht, deshalb hier und da die chown Befehle
- die Einrichtung habe ich völlig losgelöst von installierten AdminPaketen wie Plesk, Confixx etc. betrachtet
- soll das Verzeichnis .../aws nicht öffentlich zugänglich sein, dann mit dem üblichen Mechanismus htaccess absichern
- was die Jahres Statistik betrifft: ein anderer Weg wäre, das Jahr mit in den Dateinamen einzubauen, da benötigt man dann nicht mehr die Trennung durch Verzeichnisse ( ../2007, ../2008, etc.)
- wer es ganz ausührlich haben will, kann auch unterhalb des Jahresverzeichnisses noch die Monatsverzeichnisse anlegen und darin immer nur die Statistik für genau den Monat ablegen ...

Und jetzt Erschdmal: Have a nice day. :)
 
Last edited by a moderator:
Back
Top