Poslední příspěvky
Rubriky
- /dev/null (33)
- bublinka (6)
- hračky (6)
- Linux (12)
- Mac OS X (5)
- Nezařazené (1)
- O čemkoli (22)
- programování (4)
Mrak tagů
štěstí ženy Apple bash blog bublinka Chlup divadlo FEL fotografie hry internet jabber Java láska Linux MacBook Melkor O čemkoli obrázky OS X poezie programování python Seznam smutek web4u.cz xkcd.comArchivy
- Duben 2008 (3)
- Březen 2008 (3)
- Únor 2008 (7)
- Leden 2008 (11)
- Prosinec 2007 (10)
- Listopad 2007 (14)
- Říjen 2007 (13)
- Září 2007 (12)
Statisktika nuda je, má však cenné údaje …
Tak jsem si jednoho dne řekl, že když už mám ten server a když už na něm běží ten Apache a nad tím Apachem běží weby s nenulovou návštěvností, tak proč si tu návštěvnost nezměřit. Popravdě mě docela zajímalo jaká ta návštěvnost je. A tak to začalo …
Jako měřící udělátko jsem si vybral awstats, protože jsem je už dříve viděl a líbil se mi jejich výstup. Tak fajn. Nalistoval jsem Gentoo wiki a nalezl návod na to jak zprovoznit awstats. Awstats jsou vlastně perlový skriptíček, který projede log z Apache a vygeneruje z něj informace. Umí běžet ve dvou módech. Jednak jako cgi skript a jednak umí generovat html soubory z těch informací co získal z logu Apache.
Kolega mi radil, že nechat vygenerovat ty statické stránky je bezpečnější. Tak jsem tedy přistoupil k této metodě. Chvíli jsem laboroval s nástrojem awstats_buildstaticpages.pl a pak ještě chvíli s nastavením cest ke knihovnám a k ikonkám, ale nakonec z toho něco vylezlo. A i poměrně srozumitelného. Ale nebylo to úplně ono. Tak jsem si teda řekl, že přistoupím k druhé metodě a pustím awstats jako cgi skript. Chvilka laborování s nastavením Apache a šup! Awstats běží jako cgi. Chvilku jsem si s tím hrál až jsem udělal co jsem udělat neměl…. Zmáčkl jsem tlačítko “rebuild stats”. A nic se nedělo. Tak jsem na něj klepl jestě jednou a potom ještě jednou. Jasně, byla to hloupost. Za chvíli se už něco dít začalo. No a tak jsem hodinu čekal než se bublinka vzpamatuje a já budu moci zabít Apache.
Po tomto hororovém zážitku, kdy jsem čekal jestli si se mnou ten server bude nebo povídat, jsem se tedy rozhodl pro to, jít cestou statických stránek generovaných skriptem. Dobře tedy. Statistiky jakž takž fungovaly. Ale nastal další problém. Apache mám nastavený tak, aby všechny subdomény měli v rámci jedné domény jeden access log. Takže jsem po awstats chtěl, aby rozeznávali subdomény. Našel jsem několik návodů, ale bohužel nic nefungovalo.
Trik spočíval v tom, že se vezme combined log a přidá se na jeho začátek direktiva %v čímž bude na začátku logu adresa o kterou žádá prohlížeč:
stats.chlup.info 89.176.xx.xx - - [17/Sep/2007:19:29:49 +0200] “GET /favicon.ico HTTP/1.1″ 404 1007 “-” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/419.3 (KHTML, like Gecko) Safari/419.3″
A do proměnné LogFormat v konfiguraci Awstats se na začátek přidá direktiva %virtualhost čímž by mělo být řečeno, že se má brát v potaz ta adresa na začátku logu. Nevím jestli mám špatnou verzi, ale mně to prostě takhle nefungovalo ať jsem dělal co jsem dělal.
Trápil jsem se s tím dva dny. Až dneska! Kolega měl spásný nápad. Sice je to řešení maličko obskurní, ale více méně funguje tak jak chci. Když někdo přijde na něco lepšího jistě se nechám inspirovat. Tak tedy. Vezmeme ten combined log z Apache a upravíme ho jak jsem psal výše. Proměnou LogFormat nastavíme na hodnotu 1. A teď ta kouzelná obskurnost v konfiguraci awstats:
LogFile=”/path/to/awstats/tools/logresolvemerge.pl /path/to/www/folder/virtuals/domain/logs/access_log* | sed ’s/\([A-Za-z.1-9]*\) \([^”]*”[A-Z]*\ \)/\2\/\1/’ |”
Na logy od apache mám nastavený logrotate, proto tedy používám logresolvemerge.pl. Ještě do toho musím nějak zakomponovat gzip, jinak by mi ta rotace byla na dvě věci. Potom co ty logy pomocí toho nástroje spojím je proženu sedem a hned za GET vložím toho hosta. Následovně:
89.176.xx.xx - - [17/Sep/2007:19:29:49 +0200] “GET /stats.chlup.info/favicon.ico HTTP/1.1″ 404 1007 “-” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/419.3 (KHTML, like Gecko) Safari/419.3″
A tenhle log awstats zpracují s tím, že si myslí, že /stats.chlup.info/favicon.ico jsou GET data. Takže to spokojeně zpracují a já jsem taky spokojený, protože aspoň vidím na jakou subdoménu ten dotaz šel. Je to takové maličko nesystémové, ale prozatím mě nic lepšího nenapadlo. Jakékoli vylepšení uvítám.
Posted by Chlup
17.09.2007 20:46
Post A Comment
You must be logged in to post a comment.