[Modul] Internet-Bandbreite überwachen

Ich hab schon mit meinem 500 Mbit/s Anschluss keine brauchbaren Wert emehr bekommen aus einer Linux-VM raus. Da spielen zu viele Faktoren rein, die das Ergebniss versauen.
Mit dem jetzigen GBit-Anschluss kann man das ganz knicken bei mir.

bei einer VM gibt es zwangsläufig noch zusätzliche Faktoren, aber ansonsten habe ich zuverlässige Werte. Natürlich gubt es immer Ausreisser (allein schon deswegen, weil es gar nicht so viele Server gibt, die in dem hohen Bereich mitspielen).

demel

Ok, bedeutet, das „speedtest“ einen Fehler geworfen gat.
Von daher wäre der Versuch auf der shell wichtig und der debug, um zu sehen, was ihm nicht passt

demel

Nachtrag: aus der Fehler-Situation kommt er nicht wieder heraus, da muss man im Konfigurationsformular erst was ändern und speichern. Muss keine echte Änderung sein, nur damit man speichern kann.
Dann sollte im Debug mehr stehen …
Das muss ich vielleicht etwas anpassen … muss mal überlegen.

demel

Hallo Demel,

auf dem Pi läuft „speedtest“ wie erwartet.

Im Debug sehe ich jetzt folgende Zeilen;
01.09.2020, 21:54:58 | PerformTest | cmd="/usr/local/bin/speedtest --format=json"
01.09.2020, 21:54:58 | PerformTest | duration=0,25, exitcode=0, status=ok, err=
01.09.2020, 21:54:58 | PerformTest | data=speedtest: error: unrecognized arguments: --format=json
01.09.2020, 21:54:58 | PerformTest | failed: exitcode=0, err=malformed data

Joachim

da passt was nicht zusammen, das ookla-speedtest kennt diese Option --format=json

mach bitte mal
speedtest --help
type speedtest
speedtest
… und zeig mal den output.

mein speedtest steht übrigens in /usr/bin, das von dir angrgebene /usr/local/bin ist doch die gleiche stelle wie speedtest-cli … schon komisch.

demel

pi@RPi4IPS:~ $ speedtest --help
usage: speedtest [-h] [--no-download] [--no-upload] [--single] [--bytes]
                 [--share] [--simple] [--csv] [--csv-delimiter CSV_DELIMITER]
                 [--csv-header] [--json] [--list] [--server SERVER]
                 [--exclude EXCLUDE] [--mini MINI] [--source SOURCE]
                 [--timeout TIMEOUT] [--secure] [--no-pre-allocate]
                 [--version]

Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli

optional arguments:
  -h, --help            show this help message and exit
  --no-download         Do not perform download test
  --no-upload           Do not perform upload test
  --single              Only use a single connection instead of multiple. This
                        simulates a typical file transfer.
  --bytes               Display values in bytes instead of bits. Does not
                        affect the image generated by --share, nor output from
                        --json or --csv
  --share               Generate and provide a URL to the speedtest.net share
                        results image, not displayed with --csv
  --simple              Suppress verbose output, only show basic information
  --csv                 Suppress verbose output, only show basic information
                        in CSV format. Speeds listed in bit/s and not affected
                        by --bytes
  --csv-delimiter CSV_DELIMITER
                        Single character delimiter to use in CSV output.
                        Default ","
  --csv-header          Print CSV headers
  --json                Suppress verbose output, only show basic information
                        in JSON format. Speeds listed in bit/s and not
                        affected by --bytes
  --list                Display a list of speedtest.net servers sorted by
                        distance
  --server SERVER       Specify a server ID to test against. Can be supplied
                        multiple times
  --exclude EXCLUDE     Exclude a server from selection. Can be supplied
                        multiple times
  --mini MINI           URL of the Speedtest Mini server
  --source SOURCE       Source IP address to bind to
  --timeout TIMEOUT     HTTP timeout in seconds. Default 10
  --secure              Use HTTPS instead of HTTP when communicating with
                        speedtest.net operated servers
  --no-pre-allocate     Do not pre allocate upload data. Pre allocation is
                        enabled by default to improve upload performance. To
                        support systems with insufficient memory, use this
                        option to avoid a MemoryError
  --version             Show the version number and exit
pi@RPi4IPS:~ $ type speedtest
speedtest is hashed (/usr/local/bin/speedtest)
pi@RPi4IPS:~ $ speedtest
Retrieving speedtest.net configuration...
Testing from ropa GmbH & Co. KG (185.68.78.28)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Highspeed-Check.de (Hamburg) [41.46 km]: 22.405 ms
Testing download speed................................................................................
Download: 440.25 Mbit/s
Testing upload speed................................................................................................
Upload: 166.62 Mbit/s

Hallo,

das ist ganz eindeutig das alte speedtest. Das neue meldet sich so, wie ich in meinem Post geschrieben hatte.
Das musst du suchen, an welcher Stelle Du das installiert hattest und ggfs mit dem passenden Pfad aufrufen.

Gruß
demel

Hallo Demel,

ich habe es nach der Anleitung von dem Link in Deiner ReadMe installiert.

sudo apt-get install gnupg1 apt-transport-https dirmngr
export INSTALL_KEY=379CE192D401AB61
# Ubuntu versions supported: xenial, bionic
# Debian versions supported: jessie, stretch, buster
export DEB_DISTRO=$(lsb_release -sc)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
echo "deb https://ookla.bintray.com/debian ${DEB_DISTRO} main" | sudo tee  /etc/apt/sources.list.d/speedtest.list
sudo apt-get update
# Other non-official binaries will conflict with Speedtest CLI
# Example how to remove using apt-get
# sudo apt-get remove speedtest-cli
sudo apt-get install speedtest

Dort steht aber auch: Speedtest CLI wird vom Ookla-Team gewartet.

Möglicherweise entsteht das daraus?

Joachim

Ich habe kein WindowsöSystem, daher kann ich das nicht testen. Aber: es spielt keine Rolle, welche Pfad due bei deinem Nutzerlogin hast, sonder es zählen die Pfade, die IPS bei Start hat.

Da das anscheinend manchmal schwierig zu regeln ist, hatte ich das Feld mit der Angabe des vollständigen Pfades (Modulstore/beta) geschaffen.

demel

Hmm, das kann ich nicht sagen, ich weis auch nicht, wie du seinerzeit speedtest-cli installiert hast. Ob Du das damals per alt installiert hattest und wie das in /usr/local/bin gelandet ist - keine Ahnung.

Was aber sicher ist, ist, das du definitiv in /usr/local/bin noch das alte Programm speedtest abgelegt hast,.

Bei mir wurde das neuen speedtest in /usr/bin abgelegt (siehe Post von gestern 20:48).

Versuch doch einfach mal
a) /usr/local/bin zu bereinigen
b) /usr/bin/speedtest aufzurufen

Nur wenn der Output so ist, wie in dem og. Post, ist das das neue speedtest und kennt dann die geänderten Optionen

demel

…bin da jetzt etwas überfordert…[emoji2371]

Am Bestrn wäre es ja wohl beides zu deinstallieren und dann den Speedtest von Ookla neu zu installieren, nur wie bekommt man das hin?

Joachim

Ich würde als erstes mal probieren ob /usr/bin/speedtest funktioniert und welches ergebnis das ggfs ergibt.

In deinem Kommentar oben stand

#sudo apt-get remove speedtest-cli

hast du das so eingegeben? dann wurde das Kommand gar nicht ausgeführt - das # leitet ja in einer shell eine Kommentarzeile ein.

Also ohne # ausführen.

dann wüde ich speedtest erneut aufrufen und prüfen, ob es immer noch das alte ist,

Dann würde ich mal in /usr/local/bin schauen, welche Files mit dem Namen speedtest* da stehen und die ggfs von Hand löschen (rf /usr/local/speedtest*)
Das wäre schon ein klarer Hinweis, das du speedtest-cli nicht per apt installiert hast - da gibt es ja eine Reihe anderer Anleitungen, wo speedtest-cli von Hand kopiert wird…

gruß
demel

Hallo Demel,

ich vermute/hoffe ich bin ein Stück weiter. Sie Ausgabe im Debug:

TXT: 02.09.2020, 20:12:39 |   CheckPrerequisites | version=1 prog=speedtest, cmd=/usr/bin/speedtest --version
TXT: 02.09.2020, 20:12:39 |   CheckPrerequisites | exitcode=0 data=of your internet connection., output=Array<LF>(<LF>    [0] => Speedtest by Ookla 1.0.0.2 (5ae238b) Linux/arm-linux-musleabihf 5.4.51-v7l+ arm/armv7l<LF>    [1] => <LF>    [2] => The official command line client for testing the speed and performance<LF>    [3] => of your internet connection.<LF>)<LF>
TXT: 02.09.2020, 20:12:39 |   CheckPrerequisites | version=1 prog=speedtest, cmd=/usr/bin/speedtest --version
TXT: 02.09.2020, 20:12:39 |   CheckPrerequisites | exitcode=0 data=of your internet connection., output=Array<LF>(<LF>    [0] => Speedtest by Ookla 1.0.0.2 (5ae238b) Linux/arm-linux-musleabihf 5.4.51-v7l+ arm/armv7l<LF>    [1] => <LF>    [2] => The official command line client for testing the speed and performance<LF>    [3] => of your internet connection.<LF>)<LF>
TXT: 02.09.2020, 20:13:20 |          PerformTest | cmd="/usr/bin/speedtest --format=json"
TXT: 02.09.2020, 20:13:20 |          PerformTest | duration=0,37, exitcode=1, status=fail, err=    speedtest --accept-license
TXT: 02.09.2020, 20:13:20 |          PerformTest | failed: exitcode=1, err=    speedtest --accept-license

Was kann denn jetzt mit der Lizenz sein?:confused:

Joachim

Nachtrag: Auf dem Pi läuft es…

Hallo,

nen, das sagt mir nichts, ausser das speedtest der Meinjng zu seinscheint, das du vermutlich die Lizenz akzeptieren solltest. Ich ahtte das Problem nicht.

hast du mal diesem neuen speedtest von Hand aufgerufen? Ich hatte sch vor einigen Post um die Durchführung bestimmter Kommandos gebeten. ich finde etwas schwierig, wenn ich nur so Teile mitbekomme. ist schon schwierig, „bilnd“ zu helfen.:mad:

Also bitte, den neuen speedtest (hast du die Bereinigung durchgeführt?) aufrufen und den Output posten.

gruß
demel

Hallo Demel,

sorry, hier der Output:

pi@RPi4IPS:~ $ speedtest --help
Speedtest by Ookla is the official command line client for testing the speed and performance of your internet connection.

Version: speedtest 1.0.0.2

Usage: speedtest [<options>]
  -h, --help                        Print usage information
  -V, --version                     Print version number
  -L, --servers                     List nearest servers
  -s, --server-id=#                 Specify a server from the server list using its id
  -I, --interface=ARG               Attempt to bind to the specified interface when connecting to servers
  -i, --ip=ARG                      Attempt to bind to the specified IP address when connecting to servers
  -o, --host=ARG                    Specify a server, from the server list, using its host's fully qualified domain name
  -p, --progress=yes|no             Enable or disable progress bar (Note: only available for 'human-readable'
                                    or 'json' and defaults to yes when interactive)
  -P, --precision=#                 Number of decimals to use (0-8, default=2)
  -f, --format=ARG                  Output format (see below for valid formats)
  -u, --unit[=ARG]                  Output unit for displaying speeds (Note: this is only applicable
                                    for ‘human-readable’ output format and the default unit is Mbps)
  -a                                Shortcut for [-u auto-decimal-bits]
  -A                                Shortcut for [-u auto-decimal-bytes]
  -b                                Shortcut for [-u auto-binary-bits]
  -B                                Shortcut for [-u auto-binary-bytes]
      --selection-details           Show server selection details
      --ca-certificate=ARG          CA Certificate bundle path
  -v                                Logging verbosity. Specify multiple times for higher verbosity
      --output-header               Show output header for CSV and TSV formats

 Valid output formats: human-readable (default), csv, tsv, json, jsonl, json-pretty

 Machine readable formats (csv, tsv, json, jsonl, json-pretty) use bytes as the unit of measure with max precision

 Valid units for [-u] flag: 
   Decimal prefix, bits per second:  bps, kbps, Mbps, Gbps
   Decimal prefix, bytes per second: B/s, kB/s, MB/s, GB/s
   Binary prefix, bits per second:   kibps, Mibps, Gibps
   Binary prefix, bytes per second:  kiB/s, MiB/s, GiB/s
   Auto-scaled prefix: auto-binary-bits, auto-binary-bytes, auto-decimal-bits, auto-decimal-bytes
pi@RPi4IPS:~ $ type speedtest
speedtest is hashed (/usr/bin/speedtest)
pi@RPi4IPS:~ $ speedtest

   Speedtest by Ookla

     Server: bc-networks - Remseck (id = 17811)
        ISP: ropa GmbH & Co. KG
    Latency:    16.43 ms   (0.95 ms jitter)
   Download:   758.04 Mbps (data used: 1.1 GB)                               
     Upload:   185.01 Mbps (data used: 145.9 MB)                               
Packet Loss:     0.0%
 Result URL: https://www.speedtest.net/result/c/1d3d72ba-f298-4cbd-bf92-29eb07d4ae13

Joachim

ruf doch mal unf der shell

speedtest --accept-license

auf

demel

Hallo Demel,

hatte vorher schon mal dieses probiert (im Internet gefunden):

pi@RPi4IPS:~ $ speedtest --accept-license --accept-gdpr -s 18613 -f json 
{"type":"result","timestamp":"2020-09-03T17:17:47Z","ping":{"jitter":0.035999999999999997,"latency":15.909000000000001},"download":{"bandwidth":25220078,"bytes":248255872,"elapsed":13800},"upload":{"bandwidth":23297140,"bytes":159976579,"elapsed":6906},"packetLoss":0,"isp":"ropa GmbH & Co. KG","interface":{"internalIp":"192.168.178.9","name":"eth0","macAddr":"DC:A6:32:04:63:12","isVpn":false,"externalIp":"185.68.78.192"},"server":{"id":18613,"name":"TelemaxX Telekommunikation GmbH","location":"Karlsruhe","country":"Germany","host":"speedtest.telemaxx.net","port":8080,"ip":"85.115.3.102"},"result":{"id":"cf4c2748-152e-4204-8d75-953a4e6cc25a","url":"https://www.speedtest.net/result/c/cf4c2748-152e-4204-8d75-953a4e6cc25a"}}

Eben dann noch mal allein:

pi@RPi4IPS:~ $ speedtest --accept-license --accept-gdpr

   Speedtest by Ookla

     Server: TelemaxX Telekommunikation GmbH - Karlsruhe (id = 18613)
        ISP: ropa GmbH & Co. KG
    Latency:    14.90 ms   (0.52 ms jitter)
   Download:   116.37 Mbps (data used: 204.7 MB)                               
     Upload:   182.44 Mbps (data used: 132.2 MB)                               
Packet Loss:     0.0%
 Result URL: https://www.speedtest.net/result/c/a72be88a-1759-4cb1-8278-0968c1321da6

Das sieht alles ganz gut aus - nur aus dem Modul lauft es bei der Datenanforderung auf den Fehler…:confused:

Joachim

ich werde das am WE mal auf einem diesbezüglich jungfräulichem pi (buster) installieren. mal schauen was da passiert

demel

ps: versuch das mal als user root, also mit sudo -i root werden und dann ein speedtest etc

Hallo Demel,

das war es!!!:slight_smile:

Als root fragte Speedtest noch mal ob ich die Lizenz akzeptiere. Jetzt geht es auch aus IPS.

Vielleicht kannst Du

--accept-license --accept-gdpr

bei der Initialisierung einmal mitsenden?

Joachim