Witam
W trakcie upgradu firmware (Tomato) do mojego WRT'ka ciągle musiałem instalować od nowa wszystkie dodatki których używam. Jest to proces czasochłonny i trzeba pamiętać o kolejności działań w trakcie instalacji.
Traciłem również wszystkie statystyki z zakładki Bandwith monitoring (dzienne, tygodniowe i miesięczne),
oraz statystyki pobrań przez poszczególnych użytkowników.
Wobec czego zebrałem wszystko w jedną paczkę z jednym prostym instalatorem.
W skład pakietu wchodzą:
- statystyki rstats (te z zakładki Bandwidth) oraz ich backup na serwer ftp (by psychowood z linksysinfo.org),
- instalacja tablicy board (tablica by Tabor + patch do wyświetlania statystyk w kolejności rosnących IP by Soldi),
- statystyki per user oraz ich backup na serwer ftp (staty per user by NeoX i Dziadek + odtwarzanie statystyk by Jordan_jrd)
- instalacja skórki do tomato (TomatoCrystal eVerest Mod).
Wszystkie powyższe pakiety zmodyfikowałem w mniejszy lub większy sposób. Do niektórych dodałem nową funkcjonalność.
Może po krótce: 1) Statystyki rstats są trzymane w ramie.
Odtwarzanie statystyk odbywa się automatyczne z serwera ftp po restarcie routera.
Po każdym wgraniu nowego firmware np.: tomato 1.19, i instalacji mojej paczki z instalatora stare statystyki rstats są również odtwarzane z serwera ftp, o ile wcześniej zostały tam zapisane.
Backup statystyk odbywa się co godzinę. 2) W tablicy board zmieniłem plik stats.cgi (by Soldi) w celu ładnego wyświetlania statystyk w kolejności, oraz dodałem numer miesiąca, do którego te statystyki się odnoszą. 3) Statystyki per user (download + upload poszczególnych użytkowników) są zapisywane na serwerze ftp każdego dnia o określonej porze w pliku pod nazwą np. statday_2008-07-14_23.58.txt.
Dodatkowo jest robiony backup aktualnych statystyk co godzinę.
Odtwarzanie statystyk odbywa się automatyczne po restarcie routera oraz również po przeładowaniu reguł firewalla iptables np. odnowienie dzierżawy adresu IP interfejsu WAN.
Statystyki są zerowane pierwszego dnia każdego miesiąca, przy czym wszystkie pliki statday_yyyy-mm-dd_hh.mm.txt są zawsze dostępne na serwerze ftp. Możemy sprawdzić kto ile ściągnął przez cały miesiąc zaglądając do pliku z ostatniego dnia danego miesiąca. 4) Skórka do tomato jest trzymana na partycji jffs w katalogu skintomato. Po restarcie routere jest robiony link symboliczny do katalogu /var/wwwext.
Wszystkie stare statystyki oraz pliki instalacyjne są trzymane na serwerze ftp (może to być ftp działający w sieci lokalnej lub zewnętrznej). Ja używam ftp zewnętrznego. Wykorzystanie ftp w stosunku do opisywanego w innych tematach i postach dysku cifs ma tą zaletę, że nie musimy mieć cały czas uruchomionego komputera w sieci lokalnej z włączonym udostępnianiem zasobów. W folderze jffs na routerze są trzymane tylko skrypty, natomiast aktualne statystyki rstats, oraz pliki ze statami użytkowników z aktualną wartością pobrań w danym miesiącu 'stat.txt' oraz z wartością pobrań w danym dniu 'statday.txt' są trzymane w ramie routera co jest zaletą, ponieważ jffs jest pamięcią flash o określonej liczbie cykli zapis/odczyt.
Jeśli nie posiadasz konta ftp polecam to na www.drivehq.com (powierzchnia 1GB więc nie trzeba się martwić brakiem miejsca). Konto jest darmowe a rejestracja pod adresem: http://www.drivehq.com/secure/FreeSig...om=storage.
Chyba są tu limity dotyczące transferów (50MB za jednym razem i wyświetla sie okno o wznowienie połączenia), ale na potrzeby backupów w zupełności wystarcza (max. wielkość pliku ze statami chyba nigdy nie przekroczy kilkunastu - kilkudziesięciu kB).
INSTALACJA KROK PO KROKU
1. Używając przeglądarki zaloguj się do routera. 2. W zakładce Administration>Admin Access włącz dostęp przez ssh 3. W zakładce Administration>JFFS2 zaznacz opcję Enabled i kliknij Format/Erase. 4. W zakładce Administration>Bandwidth Monitoring włącz zapisywanie statystyk rstats co godzinę do RAM(Temporary)
oraz Save on Shutdown 5. Pobierz paczkę na lokalny dysk Twojego PC z http://www.mafon.pl/widek611_scripts_...s_v1.2.zip 6. Rozpakuj i edytuj skrypt ftpparametry.sh podając swoje dane do serwera ftp
Użyj edytora zachowującego linuksowy format plików.
Pod Windows np.: Notepad++ http://dobreprogramy.pl/index.php?dz=...ad+++5.0.1.
W pliku statusers.sh wpisz listę adresów ip dla którch mają być zliczne statystyki pobrań. Można wpisać adresy z zapasem,
nawet jeśli obecnie nie są wykorzystywane. 7. Wyślij wszystkie pliki na serwer ftp do katalogu np. tomato. 8. Zaloguj się na router do konsoli za pomocą putty 9. Wykonaj następujące polecenia:
W trakcie instalacji w konsoli będą wyświetlane różne komunikaty. Jeśli instalujesz skrypt pierwszy raz i na zdalnym serwerze ftp nie ma plików ze statystykami to powninny pojawić się dwa komunikaty o treści: ftpget: RETR error: File not found.
Partycja JFFS ma po sformatowaniu jakieś 700 kB wolnego miejsca, po zainstalowaniu wszystkich skryptów za pomocą mojego instalatora zostanie ok. 552 kB wolnego. Pliki ze statystykami dziennymi statday_yyyy-mm-dd_hh.mm.txt u mnie przy 10 adresach IP w tym 5 aktywnych zajmują jakieś 50-70kB, co nie obciążeniem dla pamięci ram routera oraz łącza w trakcie wysyłania na serwer ftp.
Ponieważ do tablicy board można zalogować się z zewnątrz (spoza sieci lokalnej) polecam zmianę hasła w .htaccess
Opis by eRd:
Cytat
Wbijamy na stronę http://home.flash.net/cgi-bin/pw.pl
wpisujemy nazwę użytkownika i hasło, generuje sie ciąg znaków , kopiujemy ten ciąg znaków
wbijamy na tomato przez putty (ssh) wpisujemy vi /jfss/board/board/.htpasswd
pojawi się zawartość pliku, naciskamy małe a (znaczek na dole zmieni się z - na I)
wywalamy stary wpis (czyli root:zaszyfrowane_hasło) i wklejamy nowy (shift+insert), naciskamy esc (zapisuje zmiany)
piszemy
:wq
naciskamy enter i zamykamy okno putty.
Za powstałe ewentualnie awarie i uszkodzenia nie ponoszę żadnej odpowiedzialności.
Testowane na Linksys WRT54GL v1.1 + Tomato 1.19.
Dzięki kolego fajne to :) wykorzystując to można się pokusić o dorobienie GUI i prezentowanie statów per user podobnie jak w https://192.168.1.1/bwm-daily.asp ale to inna bajka....
zmieniając http://192.168.1.1:8000/board/stats.cgi na to co poniższe zyskujemy według mnie lepsze sortowanie bo po ilości ściągniętych danych dopiero potem po IP generalnie można to dowolnie modyfikowac np. po upload-zie itd odpowiadają za to parametry programu sort zawartego w busybox.
Witam jestem tu nowy trochę czytam udało mi sie załadowac te statystyki dla userów i mam jeszcze takie pytanko czy jest możliwość dopisania przy każdym ip żeby wyświetlało nazwę danego ip np. 10.1.1.15 (mój komputer) oczywiście ma to wyświetlać w zakładce użytkownicy tak jak jest normalnie tyle że z dopiskiem przy IP
pozdrawiam
ftpget "minusu Administrator minusp Sabukp0 192.168.10.30 install.sh /tomato/installall.sh // napisałem tu na forum słownie minus u bo po edycji postu zmienia na jakieś r11 ?? //
i analogicznie z ftpparametry.sh - nie wyskakuja żadne błedy - wydaje sie być ok, a po wpisaniu # chmod 755 installall.sh wyskakuje mi ze nie znajduje katalogu - no such file or directory...
Ftp jest na lokalnym kompie i działa ok, w logach ftp pisze:
sabuk napisał/a:
Witam, mam problem: wpisuje polecenie:
ftpget "minusu Administrator minusp Sabukp0 192.168.10.30 install.sh /tomato/installall.sh // napisałem tu na forum słownie minus u bo po edycji postu zmienia na jakieś r11 ?? //
Czy tak?
Ale co tam robi ten cudzysłów na początku?
Cytat
i analogicznie z ftpparametry.sh - nie wyskakuja żadne błedy - wydaje sie być ok, a po wpisaniu # chmod 755 installall.sh wyskakuje mi ze nie znajduje katalogu - no such file or directory...
Bo do polecenia 'ftpget' wpisałeś 'install.sh' zamiast 'installall.sh'.
Cala instalacja przebiegla prawidlowo, jednak stats per user nie dzialaja z komunikatem:
iptables: No chain/target/match by that name iptables: No chain/target/match by that name
jednak plik statusers.sh posiada wpisy do zliczania danych dla poszczegolnych IP. Co moze byc nie tak?
EDIT:
Problem rozwiazany, z jakiegos powodu w scripts/firewall brakowalo wpisu:
widek611 napisał/a:
W trakcie upgradu firmware (Tomato) do mojego WRT'ka ciągle musiałem instalować od nowa wszystkie dodatki których używam. Jest to proces czasochłonny i trzeba pamiętać o kolejności działań w trakcie instalacji.
Traciłem również wszystkie statystyki z zakładki Bandwith monitoring (dzienne, tygodniowe i miesięczne),
oraz statystyki pobrań przez poszczególnych użytkowników.
Wobec czego zebrałem wszystko w jedną paczkę z jednym prostym instalatorem.
Dzięki!
Kawał dobrej roboty!
:)
Skorzystałem z Twojego pakietu skryptów ale pozwoliłem sobie do nich wprowadzić pewne modyfikacje jeszcze bardziej poprawiające komfort użytkowania i proponuję, żeby je również wprowadzić do Twojego pakietu skryptów:
1. Ponieważ dotychczasowe kolorowe statystyki były dość słabo czytelne przy dziennym oświetleniu, zmieniłem ich kolory na żywsze i bardziej kontrastowe:
tło statystyk - #004586
download - #23ff23
upload - #ffff00
2. Ponieważ podczas rebootu pewien mój dyskomfort powodowało przepadanie statystyk transferów z ostatniej godziny, więc w zakładce Administration/Scripts/Shutdown dodałem wpis:
3. Na stałe ustawiłem wyświetlanie transferów w MB, co pozwala już na pierwszy rzut oka wychwycić użytkowników najbardziej obciążających łącze (im dłuższa liczba, tym większy ssacz)
Wskazanym wydaje mi sie wprowadzenie jeszcze także poniższych zmian, ale one jak na razie przekraczają moje możliwości:
4. W tablicy ze statystykami dane justować do prawej strony - to jeszcze bardziej podniesie czytelność statystyk
5. Statystyki w tablicy wyświetlać fontem o stałej szerokości czcionki (monospaced) - cel j.w. Dodane: Po przetransferowaniu trochę większej ilości danych widać, że obecnie używany font spełnia ten warunek
Do każdego wpisu w łańcuchach download i upload proponuję dopisać: -j RETURN
Zyskamy troszkę na wydajności, bowiem routerek nie będzie musiał za każdym razem przetwarzać całego łańcucha. Wyjdzie z niego jak tylko znajdzie pasującą regułkę.
Taki wpis może naszemu routerkowi zaoszczędzić mnóstwo niepotrzebnej roboty, zwłaszcza przy dużej ilości adresów IP.
Problem polega na tym, że taki wpis rozwala nam statystyki w momencie ich automatycznego wczytywania z backupu.
Należało by odpowiednio do tej zmiany dostosować skrypt wczytujący zbackupowane statystyki, co już wymaga nieco więcej wiedzy.
Gdyby ktoś posiadający taką wiedzę spróbował podjąć ten temat, byłoby bardzo fajnie :)
A na zakończenie ponowny apel do adminów o wyczyszczenie z pornospamu wątku http://openlinksys.info/readarticle.p...icle_id=75, a w miarę możliwości także innych.
Edytowany przez Dziadek dnia 28-08-2008 00:02
Ropson2 napisał/a:
zmieniając http://192.168.1.1:8000/board/stats.cgi na to co poniższe zyskujemy według mnie lepsze sortowanie bo po ilości ściągniętych danych dopiero potem po IP generalnie można to dowolnie modyfikowac np. po upload-zie itd odpowiadają za to parametry programu sort zawartego w busybox.
Mógłbys usunąć "smiley'e" z kodu?
(zaznacz "Wyłącz uśmieszki w tym poście")
Chciałem wypróbować tę Twoją wersję skryptu, ale w obecnej postaci sie nie da.
Edytowany przez Dziadek dnia 11-02-2009 00:45
zgodnie z sugestią dodałem do każdego łańcucha upload i download "-j RETURN". Nie zalezy mi tak bardzo na backupie tych danych wiec postanowilem sprobowac. Niestety po takiej operacji w statystykach nie ma zadnego IP tylko 0.0.0.0
Czemu tak?
Poza tym widek odwalił kawał dobrej roboty i niestety znikł, czy ktoś mógłby spróbować uwzględnić nowe pomysły w paczce? Może ty Dziadek?
schwung napisał/a:
zgodnie z sugestią dodałem do każdego łańcucha upload i download "-j RETURN". Nie zalezy mi tak bardzo na backupie tych danych wiec postanowilem sprobowac. Niestety po takiej operacji w statystykach nie ma zadnego IP tylko 0.0.0.0
Czemu tak?
To jest właśnie ten efekt, o którym powyżej pisałem, że:
"taki wpis rozwala nam statystyki w momencie ich automatycznego wczytywania z backupu.
Należało by odpowiednio do tej zmiany dostosować skrypt wczytujący zbackupowane statystyki".
Na ten temat pisałem już w innym temacie ale chciałem ponowić prośbę u źródła odnośnie statystyk. Po rebocie nie mam statystyk, bo piszę, że jest zajęty (rstats busy). Próbowałem już wszystkiego u nic nie pomaga. Jak wyłączę (# /jffs/rstatbackup/rstatinit.sh) to statystyki działają potem z palca w ssh uruchomię skrypt to ściąga pliki z FTP (drivehq) do tmp i to by było na tyle. Statystyki są zacięte.
# rstatinit.sh
.
Done.
ftpget: unexpected server response: 426 File not found, transfer aborted
#
Skrypt rstatinit.sh bez problemu pobiera pliki z serwera (drivehq) ale i tak to nie pomaga z tym problemem.
Edytowany przez Gangster dnia 13-03-2009 22:20
Witam po długiej przerwie.
Problem tkwi w pliku "rstats-source", którego rozmiar wynosi 0b i dlatego podczas transferu z ftp dostajemy komunikat "File not found" (widocznie drivehq.com zmienił zasady), podejrzewam, że jeśli użyjemy innego ftp to będzie ok. Ale mam rozwiązanie problemu.
# ftpget -u $USER -p $PASSWORD $HOST rstats-source $FOLDER/rstats-source
# if [ $? != 0 ] ; then
# # Proba uruchomienia rstatinit co 10 min jesli brak polaczenia z serwererm ftp
# cru a rstatinitfail "4,14,24,34,44,54 * * * * /jffs/rstatbackup/rstatinitfail.sh";
# return 1
# fi
Funkcjonalność statystyk pomimo braku wysyłania i ściągania pliku "rstats-source" z serwera ftp się nie zmienia.
Na końcu pliku "rstatinit.sh" jest komenda service rstats start;, która uruchamia statystyki i tworzy ten plik.
Aha. Po zakomentowaniu tych linii reboot routera.
Edytowany przez widek611 dnia 17-03-2009 09:16
Więc tak:
1. Mam TT 1.21
2. W związku z powyższym na jffs zostaje tylko 188kb co jest ilością zbyt małą by poprawnie przeszedł etap instalacji tablicy ogłoszeń
3. Zmodyfikowałem installall.sh tak by pobierał board.tar.gz oraz skórkę nie na jffs tylko do /var/temp
4. Po powyższych zmianach instalacja przebiega poprawnie, na jffs pozostaje 60kb wolnego miejsca, jednak /board/stats.cgi nie wyświetla statystyk, tylko sam nagłówek.
5. po połączeniu przez putty stats.sh zachowuje się podobnie ale gdy dodam do skryptu firewalla "/jffs/statperuser/statusers.sh" to przez putty statystyki zliczają się poprawnie jednak po www w stats.cgi nadal nie ma zmian, nie wyświetla ani adresów IP ani ilości przesyłanych danych.
6. dodatkowo dodanie nowych adresów MAC poprzez www (users.cgi) kończy się komunikatem że użytkownik został dodany ale praktycznie nic się nie dzieje, nie widać go na liście.
7. Statystyki rstat Daily, Weekly, Mountly zgłaszają błąd że są zajęte.
8. Po zatwierdzeniu resetu pliku statystyk w Administration>Bandwidth Monitoring, tworzony jest nowy i nie ma już błędu o zajętośći ale po restarcie WRTka sytuacja znowu się powtarza - zjętość i brak statystyk Daily, Weekly, Mountly
9. Na FTPie kopie statystyk rstats-history.gz i rstats-speed.gz tworzą się poprawnie.
No i to tyle, ma ktoś jakieś sugestie?
paczkę pobrałem z http://update.groov.pl/paczka.zip
Edytowany przez eVerest dnia 15-04-2009 14:48
· Łącznie użytkowników: 24,115 · Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.
Maniek91PL
06-11-2024 22:37
dzięki !
maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia
Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa
overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.
maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.
overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?
maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach
maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności", więc prawdopodobnie gdzieś przepięcie.
servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.
maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?