Nowy Piwik, czyli po co komu statystyki na blogu?

Dziś Piwik powiadomił mnie, że jest dostępna wersja 2.0.1. Lekko się zdziwiłem, bo pojawienie się 2.0.0 jakoś mi umknęło. Uznałem, że to dobry moment na podsumowanie statystyk, tym bardziej, że z Piwika korzystam od kwartału.

Pierwsze wrażenie – jest znacznie szybciej, ale kolorystyka mniej mi się podoba. Upgrade bardzo bezproblemowy, z dokładnością do tego, że upgrade bazy zrobiłem z CLI, bo przywitała mnie biała strona. Ale wszystko jest ładnie opisane w FAQ. Zdecydowanie polecam upgrade, jeśli ktoś z Piwika korzysta.

No właśnie… Czy ktoś potrzebuje Piwika? Od bardzo dawna korzystam ze statystyk stat4u.pl i przyznam, że owszem, Piwik jest ładniejszy, daje trochę więcej informacji, ale… nie odczułem jakiejś wielkiej poprawy. Jedyne co warto odnotować, to informacja, które strony na blogu są odwiedzane częściej. Szału nie ma.

Czy ktoś potrzebuje statystyk Piwik na stronie? Po odzewie na moją propozycję darmowych statystyk sądzę, że nie. Odzew wynosił okrągłe zero, co przyznam, lekko mnie zdziwiło. Ja się lubię bawić, szczególnie, że wysiłek zerowy, a dane jakby mało krytyczne. Tj. jakby mi zależało, to często gęsto jestem w stanie dość dokładnie oszacować ilość wejść na czyjegoś bloga czy najpopularniejsze wpisy. Ale jakoś mi nie zależy.

W ogóle uważam, że Google dość drastycznie zmienia obraz statystyk i ogólnie rynku reklamy w sieci. I bardziej wiąże do siebie ludzi. I stawiam, że robią to z premedytacją i będzie się to pogłębiać. Po pierwsze, wymuszenie HTTPS i idące za tym ukrycie fraz z wyszukiwarki utrudnia autorom stron analizę, czego szukają ludzie (no chyba, że ktoś korzysta z Google webmaster tools, wtedy jak najbardziej ma dostęp do danych). Po drugie, ostatni ruch czyli cache’owanie obrazków w gmailu też wpływa na rynek spa^H^H^Hmarketingu email. I nie mam złudzeń, że nie chodzi im o prywatność użytkowników, tylko przymierzają się do kolejnego kawałka tortu.

Aktualizacja Debiana do wersji Wheezy (7.0) z użyciem apt-p2p – HOWTO.

Ponieważ na dniach ma pojawić się nowe stabilne wydanie Debiana (Wheezy), postanowiłem zrobić upgrade na tym desktopie, gdzie jeszcze z niej nie korzystam. Przy okazji postanowiłem skorzystać z dobrodziejstw p2p i odświeżyć sytuację związaną z opisywanym kiedyś apt-p2p, tym bardziej, że nowe wydania są doskonałym momentem na wykorzystanie p2p do aktualizacji systemu (możliwe obciążenie mirrorów z uwagi na ilość zainteresowanych, sporo peerów). Tym bardziej, że pojawiło się trochę głosów na Twitterze/ideni.ca promujących apt-p2p.

Wpis jest w założeniu tylko szczegółowym howto dotyczącym konfiguracji i użycia apt-p2p, bez samego opisu aktualizacji do Wheezy.

Po co to wszystko?

Krótko w punktach, czemu idea p2p do dystrybucji pakietów mi się podoba:

  • Uniezależnienie się od poszczególnych mirrorów
  • Lepsze skalowanie
  • Mniejsze wymagania dotyczące sprzętu i łącz w stosunku do projektu Debian
  • Bezpieczeństwo jest zachowane (sumy kontrolne pakietów, podpisy GPG)

To oczywiście przy większej ilości węzłów. Przy mniejszej może być wręcz wolniej, ale apt-p2p ma zaimplementowany mechanizm fallbacku do tradycyjnego pobierania, więc nawet przy niewielkiej ilości węzłów nic nie przestaje działać.

Wymagania:

  • możliwość otwarcia/przekierowania portu na routerze do komputera, gdzie uruchomiony będzie apt-p2p
  • dwa razy więcej wolnego miejsca na pakiety .deb, niż przy zwykłej aktualizacji (apt-p2p ma swój katalog na cache, niezależny od /var/cache/apt)

Krok 1 – przekierowanie portów na routerze

Przekierowanie portów jest wymagane. Bez tego nie będziemy w stanie udostępniać pobranych pakietów, a taka jest idea p2p. Przekierowujemy zarówno protokoły TCP, jak i UDP.

Krok 2 – instalacja apt-p2p

wajig install apt-p2p

Domyślna konfiguracja jest OK, jedyne co warto zrobić, to pomyśleć nad zmianą portu na inny, niż domyślny 9977, jeśli mamy taką potrzebę. Paranoicy mogą wyłączyć zdalny podgląd statystyk.

Uwaga: jeśli chcemy, aby nasz apt-p2p posłużył jako proxy dla większej ilości maszyn w LAN (działa bez problemu, także dla różnych architektur na pojedynczej instancji apt-p2p), należy, zgodnie ze zgłoszonym bugreportem, zmodyfikować linię w pliku /usr/share/pyshared/apt_p2p/HTTPServer.py[1]:

if request.remoteAddr.host != "127.0.0.1:

na

    if not (request.remoteAddr.host == "127.0.0.1" or            request.remoteAddr.host.startswith("192.168.")):

gdzie 192.168 to początek (pierwsze 2 oktety) adresacji z naszej sieci LAN.

Krok 3 – edycja plików z repozytoriami (/etc/apt/sources.list)

Załóżmy prosty przypadek (jeśli ktoś grzebał w /etc/apt/preferences, lub ma więcej repozytoriów to zakładam, że wie, co zrobił i umie się dostosować), czyli, że mieliśmy wpisy:

deb http://http.debian.net/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

zmieniamy je na

deb http://localhost:9977/ftp2.de.debian.org/debian/ wheezy main contrib non-free
deb http://localhost:9977/security.debian.org/ wheezy/updates main contrib non-free

Uwaga: jeśli zmienialiśmy port z domyślnego 9977, lub łączymy się do maszyny w sieci LAN, na której działa apt-p2p, to stosownie modyfikujemy localhost:9977

Zauważmy, że nie korzystamy z http.debian.net, tylko podajemy wprost adres repozytorium. Niestety apt-p2p nie działa za http.debian.net, wkrótce zgłoszę buga.

Krok 4 – sprawdzenie działania apt-p2p

Łączymy się przeglądarką z hostem, na którym działa apt-p2p i sprawdzamy statystyki. W przypadku uruchomienia lokalnie wpisujemy w pasku adresu http://localhost:9977/

Sprawdzamy czy adres IP w Contact jest taki sam, jak adres IP, z jakiego jesteśmy widoczni w sieci. Jeśli jest, to OK.

W DHT statistics sprawdzamy wartość Reachable. Jeśli poprawnie przekierowaliśmy porty, to będzie True.

Ostatnia rzecz do sprawdzenia w statystykach to Number of nodes. Wiadomo, że im więcej, tym lepiej (domyślnie apt-p2p nie pobiera przez p2p, jeśli ilość węzłów z danym plikiem jest mniejsza niż 3), po paru minutach powinniśmy widzieć tam ok. 30 węzłów (co nie znaczy, że wszystkie z nich mają potrzebne nam pakiety!). Wydaje mi się, że to minimalna sensowna wartość, by zacząć korzystać z apt-p2p.

Na koniec możemy zrobić wajig update i zobaczyć, czy pliki są pobierane bez błędów ze wskazanego źródła[2].

Uwaga: jeśli jesteśmy za NAT i zmieni się IP, to pole Contact nie ulegnie zmianie. Nadal będziemy mogli pobierać pakiety (choć nie dam głowy, czy z użyciem p2p), natomiast nic nie wyślemy. Do odświeżenia wymagany jest restart demona apt-p2p.

W tym momencie jesteśmy gotowi do aktualizacji systemu z użyciem technologii p2p.

[1] Tak, brzydkie grzebanie na żywca w plikach przychodzących w paczce; okolice linii 266.

[2] Stosunkowo często widziałem 500 internal server error w pierwszym przebiegu i poprawne działanie przy kolejnych. Proponuję najpierw wykonać aktualizację w trybie samego pobierania pakietów.

Data wydania Wheezy’ego podana.

Odbieram dziś pocztę, a tam:

We now have a target date of the weekend of 4th/5th May for the release. We have checked with core teams, and this seems to be acceptable for everyone.  This means we are able to begin the final preparations for a release of Debian 7.0 – „Wheezy”.

Yay!

Jest szansa, że akurat będę u rodziców, co oznacza… Upgrade na desktopie (jedyny desktop bez testing/unstable)! I może na Dockstarze też! I oczywiście wpisik na ten temat. Nie mogę się doczekać. 😉

Z innych ciekawych rzeczy, opisywany kiedyś wajig rozwija się w interesujący sposób. Pojawiły się na przykład opcje update-pciids oraz update-usb-ids, o których wspominano w komentarzu do wpisu o 3 rzeczach, których nie aktualizujesz w Debianie. Co prawda wolałbym mikrokod, ale pożyjemy, zobaczymy… Dotyczy wersji wajig dostępnej we Wheezy.