Erinevus lehekülje "Webalizer" redaktsioonide vahel

Allikas: Kuutõrvaja
25. rida: 25. rida:
  
 
Perli skript access_log_splitter.pl mis logisid tükeldab oleks ise järgnev
 
Perli skript access_log_splitter.pl mis logisid tükeldab oleks ise järgnev
 
<source lang=perl>
 
#!/usr/bin/perl
 
%is_open = ();
 
@hosts = ("elukas","kala","karu");
 
while ($log_line = <STDIN>) {
 
        foreach $host (@hosts) {
 
                $host_dir = '/' . $host;
 
                if ($log_line =~ m/GET $host_dir/) {
 
                        if (! $is_open{$host}) {
 
                                $host_dir = '/www/tago' . $host_dir;
 
                                open $host, ">>${host_dir}/access.log" or die ("Can't open ${host_dir}/access.log");
 
                                $is_open{$host} = 1;
 
                        }
 
                        printf $host "%s", $log_line;
 
                }
 
        }
 
}
 
exit 0;
 
</souce>
 

Redaktsioon: 24. august 2010, kell 16:56

Webalizer on tarkvara mis loodud veebiserveri logide analüüsimiseks ning nende alusel statistika koostamiseks.

Webalizeri install..


Webalizer ei toeta eraldi virtuaalseid domeene ja nende kohta statistika genereerimist. Selleks, et iga domeeni kohta oma logi tekitada tuleb kas a) logida iga domeen eraldi faili (mis on tülikas kuna suurte veebimajutus serverite puhul hoitakse nii avatuna palju väikesi faile) või b) tükeldada enne webalizeri kasutamist eraldi skriptiga üldine logi ära jagades iga domeeni info eraldi faili.

Näide ühe suure logifaili kasutamise kohta

Meil on veebiserver kus asuvad domeenid elukas.zoo.tartu.ee, kala.zoo.tartu.ee, karu.zoo.tartu.ee, kõikide veebiserverite logi suunatakse kõik ühte faili /var/log/apache/access.log

Sellisel juhul aitab skript

#!/bin/bash
cat /var/log/apache/access.log | /root/bin/access_log_splitter.pl
sleep 10
echo > /var/log/apache/access.log

webalizer -o /www/elukas/stat -c /www/elukas/webalizer.conf
webalizer -o /www/kala/stat -c /www/kala/webalizer.conf
webalizer -o /www/karu/stat -c /www/karu/webalizer.conf

Perli skript access_log_splitter.pl mis logisid tükeldab oleks ise järgnev