Hacking Webalizer

Konačno sam našao dovoljno vremena da podesim Webalizer kako bi prilagodio statistike posećenosti sajta svojim potrebama. Obzirom da je Webalizer iako delimično zastareo još uvek prisutan na velikom broju Web hostinga, evo nekoliko saveta kako da ga učinite preciznijim i prilagodite prikaz svojim potrebama.

Prvo malo o Webalizeru, ali zaista kratko. Webalizer je “command line utility” koji generiše statistiku parsovanjem logova. U praksi najčešće se koristi za parsovanje Apache-ovih logova kako bi generisao statistike posećenosti sajta, ali može parsovati i razne druge log fajlove. Kod generisanja Web statistike obično se startuje kao cron job koji se uobičajeno obavlja odmah nakon rotiranja apache logova (log rotate).

Kao i kod ostalih unix-oidnih programa, webalizeru se prilikom startovanja može proslediti brdo argumenata što je sve lepo dokumentovano (koga interesuje – man webalizer). Međutim, najvažnije od svega je podešavanje webalizer.conf fajla koji se po defaultu nalazi u /etc/webalizer.conf.

Default verzija webalizer.conf fajla će i bez finog podešavanja raditi. No, statistika koju ona prikazuje nije precizna. Naime, veliki broj hitova dolazi od strane raznih botova (msn, pogodak, google …), što nije nešto što se računa kao poseta. Pored toga refereri uključuju i sam sajt, pa je jako teško nakon šume linkova sa sopstvenog sajta na listi top 10 Referera videti odakle ljudi zaista dolaze. Vreme je za promene.

Da bi ste isključili sopstveni sajt sa liste referera, dodajte ga u HideReferrer. Primer:

HideReferrer dinke.net/

A sada da isključimo sve ove spidere, botove i sl. Evo kako:

# opcijom IgnoreSite ignorisemo sajtove sa koga dolaze botovi
IgnoreSite spider.pogodak.co.yu
IgnoreSite msnbot.msn.com
#ignorisemo i planetoid
IgnoreSite supa.sekjur.com

# opcijom IgnoreAgent ignorisemo recorde
# na osnovu useragenta bota
IgnoreAgent Pogodak.co.yu
IgnoreAgent msnbot
IgnoreAgent Googlebot
IgnoreAgent lmspider
IgnoreAgent Yahoo
IgnoreAgent ZyBorg
IgnoreAgent Jeeves/Teoma

Imajte u vidu da prilikom zadavanja stringa u gornjim opcijama važi da za recimo “www.yourmama.com”, svi stringovi poput “your”, “*mama.com” and “www.your*” zadovoljavaju upit.

Da bi se sakrile posete određenom delu sajta koristite IgnoreURL. Na primer, ja želim da se na mom sajtu ne vidi statistika poseta /test delu sajta, gde uobičajeno vršim testiranja pa sam zato dodao i :

#ignorisemo posete test delu saja
IgnoreURL /test*

I poslednje ali ne i najmanje bitno, lista user agenta. Radi grupisanja istih browsera (MSIE i Mozilla recimo) može se iskoristiti sledeće :

GroupAgent MSIE Interent Exploder
HideAgent MSIE
GroupAgent Mozilla Mozilla Based
HideAgent Mozilla

GroupAgent će grupisati broj istih “user agenata”, tako da će recimo pisati nešto tipa “MSIE – 156 hits” ako stavite MSIE na listu. Ako ne dodate i HideAgent opciju, svi agenti koji sadrže string “MSIE” će svejedno biti izlistani. Iz nekog čudnog razloga, ništa drugo osim MSIE i Mozilla nije radilo (recimo gecko ili opera) tako da sam odustao od korišćenja ove opcije.

Nakon samo par “tweakova”, statistika je mnogo preciznija uz doduše jednu manu. Sada kada smo isključili računanje search engine-ova u posetioce sajta, značajno se smanjio se broj hitova koje su očigledno generisali spideri.

Eto toliko. Ovo su naravno samo najinteresantnije od mnogobrojnih opcija koje možete koristiti prilikom podešavanja webalizera. Za pun opis svih opcija konsultujte dokumentaciju.

Comments

  1. nq
    August 31st, 2005 | 8:42

    Veoma koristan tekst. Hvala.

  2. August 31st, 2005 | 11:34

    Ovo će biti od pomoći ;)

  3. nq
    August 31st, 2005 | 13:10

    Interesantno, ali meni se u etc folderu ne nalazi webalizer.conf, sta vise ne mogu nigde da ga nadjem ?

  4. August 31st, 2005 | 15:40

    Moguce je da se na tvom sistemu ne zove webalizer.conf probaj da pretrazis file sistem. U svakom slucaju, ako ga nema nigde, skini ga sa ftp://ftp.mrunix.net/pub/webalizer/sample.conf

    Onda prilikom startovanja webalizera koristis -c /putanja/to/tvog/webalizer.conf.fajla

    Na primer kod mene se startuje ovako:
    /usr/bin/webalizer -p -n http://www.dinke.net -o /www/dinke.net/wblzr /var/log/httpd/dinke.net/access_log -c /etc/webalizer.conf.dinke

  5. nq
    August 31st, 2005 | 20:07

    Sto je najtuznije, Ehost .co .yu ne dozvoljava promenu:

    eHost Tehnicka podrska (Wed, 31 Aug 2005 18:55:46 +0200): Postovanje,

    “Nazalost nismo u mogucnosti da Vam dozvolimo rucno uredjenje CONF datoteke webalizer.conf.

    Hvala Vam sto koristite eHost !

    Srdacno,

    Dario Ristic

    Sluzba tehnicke podrske || podrska@ehost.co.yu
    eHost web hosting provajder”

    Mislim sta reci….

    Mislis da bi sa tim tvojim upustvom mogao da, zaobicem ovu “zabranu” da li bi to radilo ?

    pozdrav i hvala!

  6. August 31st, 2005 | 20:56

    Iskreno, ne znam. Premalo podataka imam o mogucnostima tvog hostinga da bih ti ista savetovao. Jedno je sigurno, cak i ako ti tvoj hosting provider ne dozvoljava da sam menjas webalizer.conf, oni sami mogu ubaciti izmene koje si trazio u confu koji generise statistiku za tvoj sajt.

  7. nq
    September 1st, 2005 | 15:16

    Ehost:

    “Na serveru se koristi global CONF i zbog toga nismo u mogucnosti da Vam ispuno zahteve.”

    Toliko o tome :(

    poz :)

  8. September 1st, 2005 | 15:29

    Pa sta :) ? I na mom hostingu postoji jedan globalni webalizer.conf za sve hostove i moj conf samo za mene. Kod ostalih hostova log se kreira koristeci taj globalni fajl, a kod mene moj lokalni, tj. webalizer koji kreira moj log se startuje sa -c /putanja/do/mog/webalizer.conf

    Ovo nije uopste komplikovano implementirati. No dobro, to je stvar politike hosting kompanije.

  9. nq
    September 1st, 2005 | 20:39

    Uzevsi u obzir mnogo brojne komentare na rad Ehost .co. yu, nisam se ni najmanje iznenadio.

    Uskoro menjam host, tako da je ok.

    Sve u svemu, odlican tekst, jednostavno a nadasve korisno.

    poz :)

  10. Војислав
    March 14th, 2007 | 20:27

    Хвала ти брате. Ово је одлично.
    Војислав

Leave a reply