Erinevus lehekülje "Webalizer" redaktsioonide vahel

Allikas: Kuutõrvaja
(Uus lehekülg: 'Webalizer on tarkvara mis loodud veebiserveri logide analüüsimiseks ning nende alusel statistika koostamiseks. Webalizeri install.. Webalizer ei toeta eraldi virtuaalseid domee...')
 
10. rida: 10. rida:
 
Näide ühe suure logifaili kasutamise kohta
 
Näide ühe suure logifaili kasutamise kohta
  
Meil on veebiserver kus asuvad domeenid zoo.tartu.ee, elukas.zoo.tartu.ee, kala.zoo.tartu.ee, karu.zoo.tartu.ee, kõikide
+
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
 
veebiserverite logi suunatakse kõik ühte faili /var/log/apache/access.log
  
29. rida: 29. rida:
 
  #!/usr/bin/perl
 
  #!/usr/bin/perl
 
  %is_open = ();
 
  %is_open = ();
  @hosts = ("animals","loomad","taimed","matk","tour","noor","models","mudelid");
+
  @hosts = ("elukas","kala","karu");
 
  while ($log_line = <STDIN>) {
 
  while ($log_line = <STDIN>) {
 
         foreach $host (@hosts) {
 
         foreach $host (@hosts) {

Redaktsioon: 24. august 2010, kell 16:46

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

<source lang=perl>

#!/usr/bin/perl
%is_open = ();
@hosts = ("elukas","kala","karu");
while ($log_line = <STDIN>) {
        foreach $host (@hosts) {
                $host_dir = '/' . $host;
                if ($host eq "animals") {
                        $host_dir = '/loomad/animals'
                }
                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>