1

Temat: Monitorowanie wydajności sieci

Witam, zainstalowałem na routerze Xiaomi Router 3G skrypt "speedtest-netperf.sh" do pomiaru przepustowość, opóźnienia i użycie procesora podczas przesyłania plików.
Czy jest możliwość cyklicznego uruchamiania skryptu i zapisywania tych wyników do pliku tak abym mógł te dane zobrazować w Home Assistant postawionym na Raspberry Pi?

W ostatnim czasie router Xiaomi 3G co jakiś czas zwalnia (co 2-3 dni) i po restarcie wraca do nominalnej predkości.
ISP to Multimedia na światłowodzie z modemo-ruoterem Zhone, na którym bezpośrednio po kablu otrzymuję prędkość gwarantowaną 600/50Mbs.
Jak Xiaomi zwalnia to nie dość, że spada prędkość po LANie ok.300 Mbs to również zwalnia WiFi 5G do ok. 100 Mbs.
Oprogramowanie było Gargoyle 1.12, a od dzisiaj zrobiłem aktualizację do 1.13 i zobaczę czy to pomoże.

2

Odp: Monitorowanie wydajności sieci

Uruchamiasz np. w crone. A później przesyłasz wynik od HA, jakoś to było możliwe z tego co pamiętam.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez arek86 2021-01-06 17:39:49)

Odp: Monitorowanie wydajności sieci

Zrobiłem skrypt na wzór innego z forum:

#!/bin/sh
while true; do
    date >> /tmp/testpredkosci.txt
    speedtest-netperf.sh -n 15 -t 30 -H netperf.bufferbloat.net >> /tmp/testpredkosci.txt
    sleep 3600
done

i dodałem wpis do /etc/rc.local

/usr/bin/speed.sh &

Zapisuję mi się wszystko do pliku txt.
Zostawić to w rc.local, czy zmienić na uruchamianie przez cron?

Dzieki za sugestię.

4

Odp: Monitorowanie wydajności sieci

To działa cały czas, więc nie możesz tego uruchamiać w cronie.

Tak swoją drogą to pomieszałeś dwie rzeczy - datę zapisujesz w /mnt... a wynik w /tmp. Zaraz się zgubisz który wynik jest do której daty.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Monitorowanie wydajności sieci

Fakt, w pliku na routerze zapisałem poprawnie do /tmp.
Jak będę chciał o określonej godzinie to wtedy uruchamiam w cronie, tak samo jak restart routera.

6

Odp: Monitorowanie wydajności sieci

Jak w cronie to  wtedy nie możesz pętli nieskończonej  robić tak jak masz teraz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Monitorowanie wydajności sieci

Czy do Gargoyle 1.13 jest pakiet mosquitto, bo wygląda na to że brak.
"No package named mosquitto found"

8

Odp: Monitorowanie wydajności sieci

Bo już nie ma takiego pakietu jak napisałes. mosquitto-ssl jest.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez arek86 2021-01-06 23:47:22)

Odp: Monitorowanie wydajności sieci

Po komendzie:

 mosquitto --help
/usr/sbin/mosquitto: line 1:EL@@: not found
/usr/sbin/mosquitto: line 2: 4@4@4@@t@t@tp▒@▒@p▒@▒@▒@@#P#P+▒C+▒C+▒▒H▒@▒@▒HHdt▒Qdt▒R+▒C+▒C+▒@@/lib/ld-musl-mips-sf.so.1: not found
/usr/sbin/mosquitto: line 3: syntax error: unexpected word (expecting ")")

Tak się zainstalowało:

opkg install mosquitto-ssl
Preparing to install the following packages, which will require 191768 bytes:
        libwebsockets-openssl, mosquitto-ssl

Preparing to install package libwebsockets-openssl...
        Downloading...
        Downloaded libwebsockets-openssl successfully.
        Installing libwebsockets-openssl...
        Successfully installed libwebsockets-openssl.
Preparing to install package mosquitto-ssl...
        Downloading...
        Downloaded mosquitto-ssl successfully.
        Installing mosquitto-ssl...
        Successfully installed mosquitto-ssl.
Installation of packages successful.

10

Odp: Monitorowanie wydajności sieci

Pomieszałeś repo i zainstalowałeś pakiet dla innej architektury? Pokaż

cat /etc/opkg.config

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Monitorowanie wydajności sieci

 

BusyBox v1.30.1 () built-in shell (ash)


  _____                             _         _____  _
 |  __ \                           | |       |  __ \| |
 | |  \/ __ _ _ __ __ _  ___  _   _| | ___   | |__) | |
 | | __ / _` | '__/ _` |/ _ \| | | | |/ _ \  |  ___/| |
 | |_\ \ (_| | | | (_| | (_) | |_| | |  __/  | |    | |__
  \____/\__,_|_|  \__, |\___/ \__, |_|\___|  |_|    |____|
                   __/ |       __/ |
                  |___/       |___/

 -----------------------------------------------------------------------------
 |                                                                           |
 | Gargoyle PL 1.13.0.0pre8 (c066e2fb)                                       |
 | OpenWrt 19.07-SNAPSHOT, r11261-3f5fecfd33                                 |
 |                                                                           |
 | Build time: 2020-12-16 12:51 CET                                          |
 | Cezary Jackiewicz (obsy), http://eko.one.pl                               |
 |                                                                           |
 -----------------------------------------------------------------------------
 | Machine: Xiaomi Mi Router 3G                                              |
 | Uptime: 0d, 02:34:42                                                      |
 | Load: 0.15 0.08 0.07                                                      |
 | Flash: total: 93.9MB, free: 72.7MB, used: 18%                             |
 | Memory: total: 247.8MB, free: 209.9MB, used: 15%                          |
 | Leases: 7                                                                 |
 | lan: static, 192.168.1.11                                                 |
 | wan: dhcp, 192.168.1.10                                                   |
 | wan6: dhcpv6, ?                                                           |
 | radio1: lan, mode: ap, ssid: Note7R 5G, channel: 52, conn: 1              |
 | radio0: lan, mode: ap, ssid: Note7R, channel: 6, conn: 6                  |
 -----------------------------------------------------------------------------
root@Gargoyle:~# cat /etc/opkg.conf


dest root /
dest ram /tmp
dest plugin_root /plugin_root
lists_dir ext /var/opkg-lists
option overlay_root /overlay

src/gz openwrt_base http://downloads.openwrt.org/releases/19.07-SNAPSHOT/packages/mips_24kc/base
src/gz openwrt_luci http://downloads.openwrt.org/releases/19.07-SNAPSHOT/packages/mips_24kc/luci
src/gz openwrt_packages http://downloads.openwrt.org/releases/19.07-SNAPSHOT/packages/mips_24kc/packages
src/gz openwrt_routing http://downloads.openwrt.org/releases/19.07-SNAPSHOT/packages/mips_24kc/routing
src/gz openwrt_telephony http://downloads.openwrt.org/releases/19.07-SNAPSHOT/packages/mips_24kc/telephony
src/gz openwrt_freifunk http://downloads.openwrt.org/releases/19.07-SNAPSHOT/packages/mips_24kc/freifunk
src/gz gargoyle_base https://dl.eko.one.pl/gargoyle-pl/openwrt-19.07/packages/mips_24kc/base
src/gz gargoyle_luci https://dl.eko.one.pl/gargoyle-pl/openwrt-19.07/packages/mips_24kc/luci
src/gz gargoyle_packages https://dl.eko.one.pl/gargoyle-pl/openwrt-19.07/packages/mips_24kc/packages
src/gz gargoyle_routing https://dl.eko.one.pl/gargoyle-pl/openwrt-19.07/packages/mips_24kc/routing
src/gz gargoyle_telephony https://dl.eko.one.pl/gargoyle-pl/1.13/packages/mips_24kc/telephony
src/gz gargoyle_freifunk https://dl.eko.one.pl/gargoyle-pl/openwrt-19.07/packages/mips_24kc/freifunk
src/gz gargoyle_kmods https://dl.eko.one.pl/gargoyle-pl/openwrt-19.07/targets/ramips/mt7621/kmods-4.14.209/

root@Gargoyle:~#

12

Odp: Monitorowanie wydajności sieci

Nie, normalnie wszystko jest. Odinstaluj mosquitto i jego zależności, spróbuj zainstalować jeszcze raz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Monitorowanie wydajności sieci

Wrzuciłem od nowa system i już działa

14

Odp: Monitorowanie wydajności sieci

Czy można zmienić skrypt speedtest-netperf.sh, który daje dane wyjściowe w bashu tak by formatował je do JSON? Potrzebuje to wysłać poprzez mosquitto_pub do brokera w Home Assistant bo jak dam:

 speedtest-netperf.sh | mosquitto_pub -h 192.168.1.1 -u homeassistant -P password -t speed/router -l 

To wypisuje mi w Home Assistant wszystkie wiersze ale nic z tym nie mogę zrobić.

15

Odp: Monitorowanie wydajności sieci

Zapisz najpierw wynik speedtest-netperf.sh do pliku, dodaj nawiasy żeby było zgodne jsonem i wyślij przez mqtt. Ew sobie przeformatuj tak jak chcesz.

PS. Dodatek do luci z iperfem3 będzie, wraz z możliwością czytania wyniku w jsonie przez ubusa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: Monitorowanie wydajności sieci

Iperf3 bardzo słabę wyniki daję dla publicznych serwerów ale rzeczywiście w prosty sposób dał mi wynik w JSON.

 iperf3 -c bouygues.iperf.fr -p 9200 -J