Login
Newsletter

Thema: Webalizer-Statistiken für viele virtuelle Hosts

20 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Manuel Capellari am Di, 13. Mai 2003 um 23:14 #
ich kann mir nicht helfen, aber irgendwie hat dieses shellscript ziemliche ähnlichkeit mit einem das ich vor ein paar jahren mal in einer newsgroup gepostet hab *g*

... nur meins war konfig-file gesteuert *ätsch*

[
| Versenden | Drucken ]
  • 0
    Von Hubik am Mi, 14. Mai 2003 um 10:36 #
    Angeber ...
    ...auch wenn, glaube nicht, dass Du immer das Rad neu erfindest
    Gruß hubik
    [
    | Versenden | Drucken ]
    • 0
      Von Manuel Capellari am Do, 15. Mai 2003 um 00:01 #
      >...auch wenn, glaube nicht, dass Du immer das Rad neu erfindest

      das war nicht so gemeint wie es sich liest, mich hats nur gewundert dass die scripts wirklich ziemlich ähnlich sind, ein kleinigkeiten sind anders gelöst aber im grossen und ganzen sind sie vom grundgedanken bzw. von der funktionsweise identisch :-)

      abgesehen davon bin ich auch sicher, dass jemand vor mir die selbe idee auch schon hatte ...

      ... am ende kommt immer das selbe raus ... *g*

      [
      | Versenden | Drucken ]
0
Von sim0n am Di, 13. Mai 2003 um 23:53 #
du solltest mal awstats ausprobieren !
viel besser als webalizer !!

awstats.sf.net

[
| Versenden | Drucken ]
  • 0
    Von Hey am Mi, 14. Mai 2003 um 08:47 #
    Kann ich nur beipfilchten, Webalizer ist passé.

    Hab gerade letzte Woche an der Uni ein für Nicht-Informatiker sehr einfach gehaltenes Referat über Logfileanalyse gehalten. Die dort angesprochenen Probleme werden von AWStats einiges intelligenter angegangen als von Webalizer. Auch die Art der Auswertung finde ich besser, so findet man in AWStats immer die komplette Listen, in Webalizer nur die Top50 der Besucher, der Seiten, der Suchbegriffe, usw.

    [
    | Versenden | Drucken ]
    • 0
      Von Wolfgang am Mi, 14. Mai 2003 um 11:19 #
      >in Webalizer nur die Top50 der Besucher, der Seiten, der Suchbegriffe, usw.

      Kannst du alles in der config-Datei bei Webalizer einstellen.

      [
      | Versenden | Drucken ]
      0
      Von RipClaw am Mi, 14. Mai 2003 um 23:03 #
      Kann AWStats auch die Daten der bisherigen Auswertungsläufe zwischenspeichern, so wie webalizer es mit der webalizer.hist und der webalizer.current macht ? Ich habe dazu auf der Webseite nichts gefunden.
      [
      | Versenden | Drucken ]
      • 0
        Von Hey am Do, 15. Mai 2003 um 01:16 #
        Ich kenne zwar die Files webalizer.hist und webalizer.current nicht, deiner Beschreibung nach gibt es aber bei AWStats etwas ähnliches. Die aus den Logfileanalysen gewonnenen Daten werden in Textfiles zwischengespeichert, aus denen du dann jederzeit neu die HTML-Seiten mit den graphischen Auswertungen rausholen kannst.

        Hast du sowas gemeint?

        Ach ja, AWStats läuft übrigens auch standalone als perl-script. Ihr könnt es darum relativ einfach mal runterladen und lokal auf eurem PC testen.

        Gruss
        Hey

        [
        | Versenden | Drucken ]
    0
    Von arni am Mi, 14. Mai 2003 um 09:58 #
    Warum soll "awstats" viel besser sein als "webalizer"? Möglicherweise hast du Recht, wäre halt nur gut das auch mit ein paar Fakten zu untermauern.
    [
    | Versenden | Drucken ]
    • 0
      Von Hey am Mi, 14. Mai 2003 um 18:37 #
      Ich muss sagen, ich habe mich nicht ausführlich mit Webalizer beschäftigt, sondern nur das was mein Provider mir als Webalizer-Reports geboten hat mit den von mir selber generierten Reports von AWStats verglichen. Darum vielleicht ein kleiner «Äpfel mit Birnen Vergleich»?

      IMHO hat aber Webalizer soviel ich weiss keine Robots-Erkennung, du weisst also im Extremfall nie genau, ob sich auf deiner Webseite nur Roboter tummeln, oder ob du auch echte Menschen drauf hast.

      Vielleicht nützt euch bei der Evaluation die Vergleichstabelle auf http://awstats.sourceforge.net/#COMPARISON

      Auch in der FAQ finden sich einige Hinweise vor allem in diesem Bereich: http://awstats.sourceforge.net/docs/awstats_faq.html#DIFFERENT_RESULTS

      Gruss
      Hey

      [
      | Versenden | Drucken ]
      • 0
        Von arni am Mi, 14. Mai 2003 um 20:32 #
        Hmm, also ich habs mir angeschaut. Generiert ohne Frage einiges mehr an Informationen als Webalizer, was natürlich nicht gerade zur Übersichtlichkeit beiträgt :)
        Aber schlecht ist es auf jedenfall nicht...
        [
        | Versenden | Drucken ]
    0
    Von Lord am Mi, 14. Mai 2003 um 11:10 #
    Auch ich bin der Meinung die Reports von awstats sind weitaus besser.
    [
    | Versenden | Drucken ]
    0
    Von chris am So, 18. Mai 2003 um 11:28 #
    Dann installiert doch einfach beide!
    [
    | Versenden | Drucken ]
0
Von sundp am Mi, 14. Mai 2003 um 09:43 #
Um ehrlich zu sein suche ich schon seit einer ganzen Weile nach Scripten die für Multi vhosts Statistiken erstellen können. awstats finde ich persönlich von Layout und Design wesentlich besser aber es ist mir einfach mal zu aufgebläht und ich will _nicht_ 100 plugins laden damit ich alle Funktionen habe :)
super tipp für webalizer fans ;) funktioniert wenigstens!

sundp

[
| Versenden | Drucken ]
  • 0
    Von RipClaw am Mi, 14. Mai 2003 um 23:14 #
    Ich hab ein paar Rechner zu betreuen, da reichen die File Handles nicht aus, um gleichzeitg alle Logs offen zu halten. Es sind einfach zu viele Virtuelle Hosts.
    Daher hab ich mir ne andere Methode ausgedacht.
    Es wird ein zentrales Logfile geschrieben.
    Dann wird vor dem Auswertungslauf das Logfile auf separate Logfiles aufgesplittet und diese nacheinander bearbeitet.
    Um das ganze zu Trennen sieht der LogFormat Eintrag einfach so aus: LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

    Der erste Eintrag ist der Name der Domain. Bei Aufsplitten wird er dann entfernt.

    [
    | Versenden | Drucken ]
0
Von gass am Mi, 14. Mai 2003 um 14:04 #
fuer "feinde" der Kommandozeile gibts natuerlich auch ein Webmin-Modul fuer Webalizer mit dem sich relativ einfach das selbe erreichen laesst.
[
| Versenden | Drucken ]
0
Von Kay Bach am Fr, 16. Mai 2003 um 00:38 #
# gab. Ihr könnt es natürlich auch erstmal ohne rm -rf ... probieren :)

das du gerne rm -rf machst wissen wir ja ;-)

bye

[
| Versenden | Drucken ]
0
Von Juri Albert am Mo, 2. Juni 2003 um 00:18 #
Da bei mir in der Apache-Konfigurationsdatei die Virtuellen Hosts namenbasiert sind,
unterscheidet sich der Aufbau eines typischen VHost-Eintrags von der hier vorgestellten Form.

#subdomain.mydomain.de

ServerName subdomain.mydomain.de
ServerAlias alias.mydomain.de
ServerAlias www.myseconddomain.net
ServerAdmin webmaster@mydomain.de
DocumentRoot /var/www/subdomain.mydomain.de/public_html
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /mailman/ "/usr/lib/mailman/cgi-bin/"
#ScriptAlias /cgi-bin /var/www//cgi-bin/
ErrorLog /var/www/subdomain.mydomain.de/logs/subdomain.mydomain.de-error.log
CustomLog /var/www/subdomain.mydomain.de/logs/subdomain.mydomain.de-access.log combined


Das ganze wird bei mir mit drei verschiedenen Skripten erledigt:

Skript1: Liest saemtliche VHost-Eintraege aus der Apache-Konfigurationsdatei

#!/usr/bin/perl
#########################################
#Name: vh.sh
#########################################
#Prints all vhost-Entries on screen
#########################################
#Author : $Author: albert $ Juri Albert
#Created : 20030601
#Changed : $Date: 2003/06/01 21:43:49 $
#Filename: $Source: /var/lib/cvs/webalizer_vhost/vh.pl,v $
#Version : $Revision: 1.4 $
#########################################

#Position of Apache Configuration File
$FILE="/etc/apache/httpd.conf";

$MODE=0;
$i=0;
undef(@RESULTS);
open(STUFF, "$FILE");
while () {

#Virtual Host tag opens
if ($MODE==0)
{
#The section begins
if ($_ =~ /\/)
{
#print "BEGIN:".$_."\n";
$MODE=1;
}
}
#Virtual Host tag closes
else
{
#The section ends
if ($_ =~ /\/)
{
#print "END:\n";
$MODE=0;
$LAST_POS=rindex($_,"\");
$RESULTS[$i].=substr($_,0,$LAST_POS);
$i++;
}
#Concatenate lines to each other
else
{
$RESULTS[$i].=$_;
}
}
}

#Print results
#foreach (@RESULTS)
#{
# print $_."\n";
#}

#Print results
foreach (@RESULTS)
{
foreach (split(/\n/, $_))
{
if ($_=~/ServerName/)
{
@s_name=split(/\s+/, $_);
print "$s_name[2]\n";
}
}
}

Skript2: erzeugt eine separate Konfigurationsdatei fuer jedes VHost mittels Text::Template-CPAN Modules

#!/usr/bin/perl -W
#########################################
#Filename: $Source: /var/lib/cvs/webalizer_vhost/webalizer.pl,v $
#########################################
#Creates webalizer configuration files
#for all vhosts
#########################################
#Author : $Author: albert $ Juri Albert
#Created : 20030601
#Changed : $Date: 2003/06/01 21:44:50 $
#Version : $Revision: 1.5 $
#########################################

use Text::Template;

my $PATH="/etc/webalizer/conf";
my $template = Text::Template->new(SOURCE => 'webalizer.conf.tmpl')
or die "Couldn't construct template: $Text::Template::ERROR";
while ()
{
chop $_;
$domain=$_;
my %vars = (DOMAIN => $domain);

my $result = $template->fill_in(HASH => \%vars);

$filename="webalizer-$domain.conf";
if (defined $result)
{
print "Creating $PATH/$filename\n";
open (FILE_OUT, ">$PATH/$filename");
print FILE_OUT $result;
}
else { die "Couldn't fill in template: $Text::Template::ERROR" }
}

Skript3: Legt die Verzeichnisse innerhalb des VHost-Baumes an und anschliessend
wird webalizer ausgefuehrt

#!/bin/sh

#########################################
#Filename: $Source: /var/lib/cvs/webalizer_vhost/webalizer_run.sh,v $
#########################################
#Executes webalizer for each vhost
#########################################
#Author : $Author: albert $ Juri Albert
#Created : 20030601
#Changed : $Date: 2003/06/01 21:52:52 $
#Version : $Revision: 1.4 $
#########################################

#Creating Webalizer subdirectory
./vh.pl|xargs -i mkdir -pv /var/www/{}/public_html/webalizer

#Executing Webalizer
./vh.pl|xargs -i webalizer -c /etc/webalizer/conf/webalizer-{}.conf

In dem Template /etc/webalizer/webalizer.conf.tmpl
legt man die zu ersetzende Variable wie folgt fest:

# LogFile defines the web server log file to use. If not specified
# here or on on the command line, input will default to STDIN.

#LogFile /var/log/apache/access.log
LogFile /var/www/{$DOMAIN}/logs/{$DOMAIN}-access.log
#LogFile /var/www/{$DOMAIN}/logs/{$DOMAIN}-access.log.1

# OutputDir is where you want to put the output files. This should
# should be a full path name, however relative ones might work as well.
# If no output directory is specified, the current directory will be used.

OutputDir /var/www/{$DOMAIN}/public_html/webalizer

...

# HostName defines the hostname for the report. This is used in
# the title, and is prepended to the URL table items. This allows
# clicking on URL's in the report to go to the proper location in
# the event you are running the report on a 'virtual' web server,
# or for a server different than the one the report resides on.
# If not specified here, or on the command line, webalizer will
# try to get the hostname via a uname system call. If that fails,
# it will default to "localhost".

HostName {$DOMAIN}


Anschliessend wird das ganze per CronJob stuendlich aktualisiert:
30 * * * * root /usr/sbin/vh.pl|/usr/sbin/webalizer.pl
34 * * * * root /usr/sbin/webalizer_run.sh


Dies ist natuerlich nicht die eleganteste und kuerzeste Loesung.
Jedoch vielleicht wuerde meine Modifikation der von Robert Tulke geschriebenen Routinen jemandem nuetzlich sein.

Ciao, Juri.

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten