Temat: Statystyki wykorzystania routerów
Gargoyle od wydania 1.5.11.7 zostało wzbogacone o moduł statystyczny:
Po zaznaczeniu i zapisaniu zmian, losowana jest godzina/minuta i wpisywane jest polecenie wywołania skryptu do crona.
Jego zadaniem będzie zebranie kilku informacji i wysłanie ich (kilkadziesiąt bajtów) raz dziennie na dl.eko.one.pl w celu zebrania statystyk. Wysyłanie jest zrobione jawnie przez jeden ze skryptów, więc będzie można zobaczyć co on faktycznie robi. Wysyłane będą następujące informacje:
* unikalny identyfikator urządzenia, generowany jako suma md5 z mac adresu interfejsu br-lan (jeszcze raz - wysyłany jest nie mac adres, a wyliczona z niego suma kontrolna) - np. b1c82f91c9996547aac853776643b0c8
* uptime systemu w sekundach - np. 1199
* model routera - np. TL-WR1043ND v1
* protokół wan - np. dhcp, static, 3g, ndis czy pppoe (odczytywane jest network.wan.proto)
* wersja gargoyle lub openwrt - np. 1.5.11.7 (r39154)
Należy pamiętać że serwer zbierający dane posiada także adres IP z którego przyszło połączenie. Wykorzystywany jest on do zrobienia mapy zgłoszeń oraz wyświetlania nazwy operatora. Wspomniane dane pobierane są z bazy GeoIP.
Informacje będą później wykorzystywane do zrobienia statystyk typu: najpopularniejszy router na przestrzeni miesiąca, najpopularniejszy router który jest używany do połączeń komórkowych itd.
Opcja wysyłanie statystyk jest domyślnie WYŁĄCZONA i nie jest w żaden sposób obowiązkowe używanie tego. Jednak namawiam do włączenia tej opcji bo dzięki temu będzie można się zorientować co faktycznie jest używane i w jakiej konfiguracji.
Obecna wersja skryptu dostępna jest w moim gicie: https://raw.githubusercontent.com/obsy/ … in/stat.sh
Jeżeli ktoś ma starszą wersję Gargoyle lub czyste OpenWrt wystarczy jak pobierze ten skrypt do systemu i uruchomi w cronie. Np. dla gargoyle będzie to wyglądało tak:
ewget https://raw.githubusercontent.com/obsy/packages/master/ekooneplstat/files/sbin/stat.sh -O /sbin/stat.sh
chmod 755 /sbin/stat.sh
Jeżeli ktoś chce użyć skryptu dla zwykłego OpenWrt to należy wykonać:
opkg update
opkg install libustream-mbedtls # lub opkg install libustream-openssl
wget https://raw.githubusercontent.com/obsy/packages/master/ekooneplstat/files/sbin/stat.sh -O /sbin/stat.sh
chmod 755 /sbin/stat.sh
Następnie należy to uruchomić w cronie raz dziennie (np. o 21:42):
echo "37 12 * * * /sbin/stat.sh" >> /etc/crontabs/root
/etc/init.d/cron restart
Należy wybrać losową godzinę i minutę żeby skrypty nie wykonywały się wszystkie w tym samym czasie. Aktualizacja częściej niż raz na dobę nie ma sensu, do statystyk i tak brane jest jedno ostatnie zgłoszenie w ciągu dnia.
Skrypt można także uruchomić ręcznie.
Do skryptu można dodać parametry:
- debug (wywołanie: /sbin/stat.sh debug) wyświetli polecenie które zostanie wykonane aby wysłać statystyki
- token (wywołanie: /sbin/stat.sh token) podaje token którym będzie identyfikowane urządzenie w statystykach. Można go wykorzystać do wyświetlenia statystyk dla tego konkretnego routera
Statystyki dostępne są pod adresem http://dl.eko.one.pl/stat.html
Mapa zgłoszeń do statystyk dostępna jest pod adresem http://dl.eko.one.pl/maps.html