Git Product home page Git Product logo

speedtestplusplus's Introduction

Speedtestplusplus

Dashboard

A easy to setup speedtest worker for speedtest.net based on speedtestplusplus (https://github.com/taganaka/SpeedTest).

As this supports raw tcp and aggressive multithreading it can act as a more precise replacement for the "standard" speedtest.net collector https://hub.docker.com/r/atribe/speedtest-for-influxdb-and-grafana/ which are all based on the speedtest-cli by swivel.

Be nice, this is my first repo.

Blog: https://www.valki.com/dockerized-speedtest/

Dockerimage @ Dockerhub: https://hub.docker.com/repository/docker/valki/speedtestplusplus

Github Sources: https://github.com/valki2/Speedtestplusplus

Installation instructions

Optional: Build the image (as you may pull this image from dockerhub too)

git clone https://github.com/valki2/Speedtestplusplus

then enter the created repo and build your image

cd Speedtestplusplus

docker build --tag="valki/speedtestplusplus" .

Set up your docker network

To tangle everything together please create a network for your containers called speedtestnet. You can click through a tool like portainer or just use the docker command somehow like this:

docker network create speedtestnet --driver=bridge --subnet=172.29.99.0/22 --ip-range=172.29.99.0/25 --gateway=172.29.99.1 

Fire up the docker containers

In order to store the collected data we need an influxdb container... or feel free to use your existing instead!

docker run --name influxdb --hostname influxdb --net speedtestnet -d --restart always -e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_PASSWORD=password -e INFLUXDB_DB=speedtest -v speedtest_influxdb:/var/lib/influxdb influxdb:1.5

Finally fire up your speedtestplusplus worker container

docker run -d --name=speedtest --net speedtestnet -d --restart always -e SPEEDTEST_INTERVAL=600 -e SPEEDTEST_HOST=local valki/speedtestplusplus

SPEEDTEST_HOST is to distinct multiple instances in one database

SPEEDTEST_INTERVALL is the time in seconds between the tests

TESTSERVER is use a specific testserver (https://telcodb.net/explore/speedtest-servers/) instead of letting the tool find the best one. Example: -e TESTSERVER=speedtest.telfs.com:8080

Optional - Grafana

You may want a grafana instance for your funny little trees eeeh dashboard...

docker run --name grafana --hostname grafana --net speedtestnet -d --restart always -p 3000:3000 -v speedtest_grafana:/etc/grafana/provisioning -v grafana-storage:/var/lib/grafana -e GF_SERVER_ROOT_URL=http://localhost -e GF_SECURITY_ADMIN_PASSWORD=admin -e GF_AUTH_ANONYMOUS_ENABLED=true grafana/grafana:latest

Configure Grafana Dashboard

  1. Login with admin:admin and set a new password!
  2. Create a new dashboard with the attached json code

speedtestplusplus's People

Contributors

valki2 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.