vServer (server4free) - webalizer läuft nicht

flo77

Registered User
Hat außer mir noch jemand folgendes Problem?

Der Webalizer funktioniert nicht richtig. Ich kann für jeden Kunde (web1, web2, web3,...) eine Statistik aufrufen, es werden auch für jeden Kunden unterschiedliche Zahlen angezeigt, jedoch sind die Referer, Top URLs usw. immer nur Werte von EINEM Kunden (immer dem selben).

Ich habe das Gefühl, dass der Webalizer nicht regelmäßig und vorallem nicht mit den richtigen Daten ausgeführt wird.

An der Konfiguration von confixx, apache usw habe ich nichts geändert...

Weiß jemand, wie das in den Griff zu kriegen ist?

Flo
 
Ich gehe mal davon aus, daß Du über Confixx in Webalizer gehst.

Der Confixx-Webalizer nutzt die Logfiles die in den Verzeichnissen
/var/www/webX/log/access_log
liegen. Findet es hier nichts wird ein default log (wahrscheinlich /var/log/httpd/access_log) genommen.
Nun passieren manchemal beim Anlegen von neuen Kunden ein paar Probleme mit der Confixx-Verlinkung unter
/var/log/httpd/confixx/domains/access/
Und zwar (und jetzt kommt der Hammer!) immer wenn man eine (Sub-)Domain mit Großbuchstaben geschrieben hat!!!

Problemlösung:
im letzten genannten Verzeichnis die Verlinkung auf Kleinbuchstaben umsetzen/dazusetzen, und schon sollte der Webalizer in Zukunft (nur rückwirkend für die laufende Woche!!!) korrekte Ergebnisse bringen.

huschi the husch
 
ja, über confixx light.

leider hat es in meinem fall wohl nichts mit subdomains zu tun, da ich gar keine angelegt habe...

zudem ist mein
/var/log/httpd/confixx/domains/access/
leer !

ich habe die vermutung, dass es mit dem cronjob zu tun hat.
in der datei
/etc/cron.daily/00webalizer
steht folgendes:

[code:1]#! /bin/bash
# update access statistics for the web site

if [ -s /var/log/httpd/access_log ] ; then
/usr/bin/webalizer
fi

exit 0[/code:1]

nun frage ich mich, ob
a) diese datei überhaupt benutzt wird, oder confixx das irgendwo überschreibt und
b) was dort richtigerweise stehen müsste, denn die kunden-logfiles unter
/var/www/webX/log/access_log werden hier ja offenbar gar nicht benutzt...
 
flo77 said:
leider hat es in meinem fall wohl nichts mit subdomains zu tun, da ich gar keine angelegt habe...
Egal, sobald Du eine Domain in Confixx nicht vollständig klein schreibst, kommt es zu fehlern. (Zumindest in den light-Versionen.)

zudem ist mein
/var/log/httpd/confixx/domains/access/
leer !
Da haben wir doch schon eine Fehlerquelle.
Dieses Verzeichnis wird nämlich vom (Confixx-)Webalizer genutzt.

ich habe die vermutung, dass es mit dem cronjob zu tun hat.
in der datei
/etc/cron.daily/00webalizer
Nur bedingt. Das Ding wird nicht benutzt. (ausser Du hast selbst Ausführungsrechte vergeben und die Konfiguration geändert...)

Lösungspunkte:
a) Schau mal nach ob Confixx denn einen Logfile eintrag in die VirtualHost-Sektionen von Apache gesschrieben hat (/etc/httpd/conf/confixx_virthost.conf).
b) Schau mal nach, welche Dateien sich unterhalb von /var/log/httpd/ aktuellere Datumseinträge haben.
c) Werden die Logfiles in /var/www/webX/log/ aktualisiert?
d) Sind Logrotate Dateien vorhanden? (access_log.1 ....4)

huschi the husch
 
Lösungspunkte:
a) Schau mal nach ob Confixx denn einen Logfile eintrag in die VirtualHost-Sektionen von Apache gesschrieben hat (/etc/httpd/conf/confixx_virthost.conf).

Es hat einen Eintrag geschrieben:
Code:
LogFormat "%V:#:%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" confixx
LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" confixx2
CustomLog |/root/confixx//pipelog.pl confixx
Aber ehrlich gesagt kann ich damit nicht so viel anfangen ;-(

b) Schau mal nach, welche Dateien sich unterhalb von /var/log/httpd/ aktuellere Datumseinträge haben.
die access_log hat ein aktuelles Datum und beinhaltet Logs von dieser Woche für alle Kunden.

c) Werden die Logfiles in /var/www/webX/log/ aktualisiert?
Ja.

d) Sind Logrotate Dateien vorhanden? (access_log.1 ....4)
Ja, access_log_2003_w43-0.gz usw. im Verzeichnis /var/www/webX/log/old
 
Last edited by a moderator:
Kurze Zusammenfassung von Webalizer unter Confixx:
1.) Webalizer wird über /root/confixx/confixx_counterscript.pl einmal am Tag aufgerufen.
2.) Speziell wird das Shellscript /root/confixx/runwebalizer.sh gestartet.
3.) Im Shellscript steht, daß es alle Home-Verzeichnisse Unterhalt von /var/www/ bearbeiten und dort nach einer Datei .configs/webalizer.conf suchen und dann arbeiten soll.
4.) Steht in dieser conf dann die Pfade wo die Auswertung erstellt wird, und woher er die Logfiles bekommt. (/var/www/webX/log/access_log)

Wenn sich die webX-Log-Dateien (/var/www/webX/log/access_log) sich ändern wird also korrekt geloggt.
Ist also die Frage, ob Webalizer überhaupt startet oder starten kann.
a) Prüf mal ob die PID-Datei aus runwebalizer.sh angelegt ist. (wenn ja, mal löschen)
b) Schau in der Datenbank nach, ob Confixx in der Tabelle 'Kunden' wirklich 'statistik' auf 1 gesetzt hat.

Mehr fällt mir gerade nicht ein.

Gute Nacht,
huschi the husch
 
Gleiches Problem

Hallo,

ich habe das gleiche Problem wie oben beschrieben und habe versucht die hier beschriebenen Tipps nachzuvollziehen. (Soweit mir das möglich war ;-))

Also die "access_log" wird aktualisiert, die Cronjobs aufgerufen usw...

Trotzdem bekomme ich die falschen Auswertungen, z.B. bei den Top 10 der aufgerufenen Seiten stehen die am häufigsten aufgerufenen Seiten aller Kunden und nicht nur desjenigen, der die Statistik aufruft...

Hat noch jemand eine Idee???
 
Pixelpaul said:
habe versucht die hier beschriebenen Tipps nachzuvollziehen. (Soweit mir das möglich war ;-))
Wo war es Dir nicht mehr möglich?

Bei Dir scheinen alle Logfiles in webalizer vermischt zu werden. Da Webalizer nicht einfach verschiedene Logfiles zieht, gehe ich davon aus, daß es nur ein Logfile ist, welches er auswertet. Entweder /var/log/httpd/access_log oder /var/www/web1/log/access_log.
Prüf mal (anhand der o.g. vorgehensweise von webalizer unter Confixx), welche Datei Webalizer wirklich verarbeitet.

Zur Not könntest Du webalizer per Hand aufrufen:
Code:
strace -e trace=file -o webalizer.log /root/confixx/runwebalizer.sh
Die neue Datei webalizer.log sollte danach ein paar Auskünfte darüber geben, welche Dateien er geöffnet hat.

huschi.
 
Hi, vielen Dank schon einmal für die schnelle Hilfe, auch wenn ich noch nicht erfolgreich war...

Habe zunächst folgendes (wie oben vorgeschlagen) eingegeben und die nachfolgende Fehlermeldung erhalten:

[root@157060 confixx]# strace -e trace=file -o webalizer.log /root/confixx/runwebalizer.sh strace: exec: Exec format error​

Da meine Linuxkenntnisse trotz ständiger aufgezwungener Bastelmaßnahmen leider z.Zt. noch sehr unvollständig sind, kann ich damit leider nicht viel anfangen.

Übrigens: Nichts anfangen konnte ich auch mit folgendem Tipp aus Posting #6:

a) Prüf mal ob die PID-Datei aus runwebalizer.sh angelegt ist. (wenn ja, mal löschen)​

Weil ich a) nicht weiß was eine PID-Datei ist und b) nicht weiß wohin runwebalizer.sh diese legen würde und sie deshalb auch nicht löschen könnte.

Jetzt habe ich mich wahrscheinlich als totaler Nullpeiler geoutet ;-)

Gruß

pp
 
Oh, ich wußte nicht, daß strace nicht mit shell-Scripts kann.
Dann mußt Du Dir die Befehlszeile pro webX halt selber zusammenbasteln und statt dem Shell-Script (.sh) inter strace schreiben. Wie es aussehen sollte, steht alles in der o.g. .sh. Auch wo die PID (Process-ID)-Datei zu finden ist.

huschi.
 
Ich hatte auch das Problem der vermischten Logfiles, und manchmal auch: Kein Update "späterer" Kunden; also mit höherer Nummer (Web2 > Web1).
Anscheinend trat Folgendes auf: In einer zentralen Datei "/var/lib/webalizer/webalizer.current" speichert Webalizer bei inkrementeller Auswertung (und die ist bei mir an) den jeweils letzten Zugriff (und andere Details). Das geht aber bei mehreren Virtualhosts (offensichtlich) in die Hose.
Also habe ich in jeder webalizer.conf (je Kunde WebX) eine eigene webalizer.current angegeben.

z.B.

in /var/www/web1/.configs/webalizer.conf:

"IncrementalName /var/www/confixx/html/webalizer/web1/webalizer.current"

zusätzlich hinzu. Wenn die Datei nicht vorhanden ist, wird sie beim ersten Lauf angelegt.
Auf diese Weise läuft die Auswertung der Logs unabhängig voneinander, und die Vermischung ist gestoppt. Zumindest sieht es bis jetzt so aus.
 
Back
Top