Ookla Speedtest.net und PowerShell

Die Firma Ookla, mit der bekannten Seite speedtest.net für den Test der Internetgeschwindigkeit, bietet auch Tool für die Kommandozeile an. Das Tool selbst kann die Ausgabe im JSON Format liefern und damit sehr gut geeignet um die Daten an verschiedene andere Anwendungen weiterzugeben. So lässt sich eine hübsche Übersicht der Internetverbindungsgeschwindigkeit erstellen.

Ich habe ein kleines Powershell Script erstellt, welches die Daten aus dem Speedtest Tool entsprechend verarbeiten und die Ausgabe für PRTG, InfluxDB oder als CSV Datei aufbereitet. Vielleicht kann es ja mal jemand gebrauchen, aktuell lässt sich damit ganz gut die Internetgeschwindigkeit von verschiedenen Anschlüssen der zahlreichen Homeoffice Nutzer visualisieren.

Hier mal ein Beispiel aus Chronograf bzw. InfluxDB:

image

Oder hier die Ausgabe als CSV Datei:

image

Beispiele für das Script

Um die Ausgabe in eine InfluxDB zu schreiben, kann die folgende Syntax verwendet werden. Damit die Ausgabe funktioniert, ist das PowerShell Influx Modul erforderlich:

.\Speedtest.ps1 -Output INFLUXDB -InfluxDBHost "http://localhost:8086" -InfluxDBName "demo" -InfluxDBCredential (Get-Credential)

Mit dem folgenden Befehl können die Daten in eine CSV Datei geschrieben werden:

.\Speedtest.ps1 -Output CSV -CSVFile demo.txt

Das Script lässt sich auch direkt als PRTG Sensor verwenden, damit die Daten im PRTG Format ausgegeben werden, reicht es das Script mit dem Parameter Output-Parameter PRTG zu starten:

 

.\Speedtest.ps1 -Output PRTG

 

image

Auch die Ausgabe auf der Konsole ist möglich:

.\Speedtest.ps1 -Output TXT

image

Und die Ausgabe der JSON Daten funktioniert mit dem OutputParameter “JSON”. Die JSON Ausgabe liefert noch ein paar mehr Daten, welche sich entsprechend weiter verarbeiten lassen:

.\Speedtest.ps1 -Output JSON

image

Download

Voraussetzung für das Script ist die SpeedTest CLI von Ookla, wenn die Daten nach InfluxDB exportiert werden sollen, ist ausserdem das InfluxDB PowerShell Modul erforderlich:

Ookla Speedtest CLI

PowerShell Influx Modul

Das Script selbst kann hier runtergeladen werden:

4 thoughts on “Ookla Speedtest.net und PowerShell”

  1. Wie bekommt man die Daten eigentlich zu Influxdb Cloud? Habe mich da kostenlos angemeldet und eine Datenbank erstellt. Aber welche url und Credentials muss ich da nun eingeben?

    Reply
  2. Funktioniert super, aber wie bekomme ich das hin, dass mir ein Output in einer Datei automatisch mit der Aufgabenplanung erstellt wird? Für einen Tipp wäre ich Dankbar.

    Reply
  3. Moin,
    das sieht ja sehr interessant aus. Hast du einen Hinweis oder eine Quelle, wo beschrieben wird wie das ganze in PRTG eingebunden werden kann?
    LG

    Reply
  4. Scheinbar mag PRTG das Script nicht sonderlich.
    Mehr als: XML: Das zurückgelieferte XML entspricht nicht dem erwarteten Schema. (Code: PE233) — JSON: Das zurückgelieferte JSON entspricht nicht der erwarteten Struktur (Invalid JSON.). (Code: PE231) kommt bei mir nicht raus.

    Reply

Leave a Comment