All Projects → phikai → docker-internet-speedtest-dashboard

phikai / docker-internet-speedtest-dashboard

Licence: other
Docker based Internet Speedtest Dashboard powered by InfluxDB, Chronograf, and Speedtest-CLI

Projects that are alternatives of or similar to docker-internet-speedtest-dashboard

docker-speedtest-influxdb
Speedtest results to InfluxDB for Grafana
Stars: ✭ 20 (+33.33%)
Mutual labels:  influxdb, speedtest
influx snmp
SNMP Data Collection and Analytics with the TICK Stack (Telegraf, InfluxDB, Chronograf and Kapacitor)
Stars: ✭ 28 (+86.67%)
Mutual labels:  influxdb, chronograf
telemetry collector
build telemetry software stack for Cisco nx-os, support both telemetry dial-out and gNMI dial-in
Stars: ✭ 39 (+160%)
Mutual labels:  influxdb, chronograf
Internet Speedtest Docker
Internet testing running on Docker Compose.
Stars: ✭ 88 (+486.67%)
Mutual labels:  influxdb, speedtest
speedtest-to-influxdb
Script to periodically run the Speedtest CLI application by Ookla and post results to InfluxDB.
Stars: ✭ 50 (+233.33%)
Mutual labels:  influxdb, speedtest
vault-consul-monitoring
Sample project to explore monitoring Vault and Consul with telegraf/influxdb/grafana
Stars: ✭ 52 (+246.67%)
Mutual labels:  influxdb, chronograf
influxdb-php-sdk
InfluxDB PHP SDK - UDP/IP or HTTP adapters for read and write data
Stars: ✭ 88 (+486.67%)
Mutual labels:  influxdb, chronograf
influxdb-ha
High-availability and horizontal scalability for InfluxDB
Stars: ✭ 45 (+200%)
Mutual labels:  influxdb
influx-query-builder
The super lightweight InfluxDB query builder implemented in Go
Stars: ✭ 16 (+6.67%)
Mutual labels:  influxdb
monitor system docs
No description or website provided.
Stars: ✭ 30 (+100%)
Mutual labels:  influxdb
influxdb-cxx
Fork of the unmaintained https://github.com/awegrzyn/influxdb-cxx project.
Stars: ✭ 47 (+213.33%)
Mutual labels:  influxdb
influx-proxy
InfluxDB Proxy with High Availability and Consistent Hash
Stars: ✭ 223 (+1386.67%)
Mutual labels:  influxdb
odata-influxdb
An OData compliant API for accessing data stored in influxdb
Stars: ✭ 28 (+86.67%)
Mutual labels:  influxdb
bounded-disturbances
A k6/.NET red/green load testing workshop
Stars: ✭ 39 (+160%)
Mutual labels:  influxdb
ha-config-ataraxis
My Home Assistant Configs. If you like what you see, please ⭐️my repo. It would encourage me a lot 🤘
Stars: ✭ 146 (+873.33%)
Mutual labels:  influxdb
speedtest-android
Android app template for Librespeed servers
Stars: ✭ 209 (+1293.33%)
Mutual labels:  speedtest
tilt-pitch
Simple replacement for the Tilt Hydrometer mobile apps and TiltPi with lots of features
Stars: ✭ 32 (+113.33%)
Mutual labels:  influxdb
bot
🎲 A general purpose utility bot, with an economy, games, and lots of other features.
Stars: ✭ 95 (+533.33%)
Mutual labels:  influxdb
nfCollector
Collects Netflow version 1, 5, 6, 7, 9 & IPFIX & stores them on InfluxData time-series DB (InfluxDB)
Stars: ✭ 30 (+100%)
Mutual labels:  influxdb
mongofluxd
Real time sync from MongoDB into InfluxDB
Stars: ✭ 33 (+120%)
Mutual labels:  influxdb

Internet Speedtest Dashboard

PSA: Project has moved to gitlab. This repo will remain on Github as a mirror.

This project is designed to provide you an easy dashboard for consistently monitoring the speed of your Internet connection. It won't help you diagnose any issues, or notify anyone of issues, it's purely designed to provide historical reporting. It was also built as a standalone piece to integrate with my Docker based HTPC Standup.

Huge thanks to Pedro Azevedo for his Speedtest Dashboard project which was the base for this project.

Speedtest Dashboard

Running Containers

The only requirement to run this is having Docker Compose installed. Further information on the install process can be found in the docs. After installed, the only thing you need to do is export any appropriate variables and configure the volume for persistent data, then run docker-compose up -d.

$ git clone https://github.com/phikai/docker-internet-speedtest-dashboard
$ cd docker-internet-speedtest-dashboard

$ docker-compose up -d 

Once the containers have come up, navigate to http://localhost:8888/sources/0/dashboards/1 to view your Speedtest Dashboard.

Docker Compose

Docker Compose is a tool to help orchestrate and run multi-container applications. It's used here to connect the requred Database, Dashboard and Speedtest Client containers to make everything work. They are described below:

InfluxDB

InfluxDB is a database tool based on time-series, so every event is registered with their timestamp.

This project uses the official InfluxDB image hosted in the Docker Hub Library.

You can edit or remove the volumes section of the docker-compose.yml file to reflect where you want you persistent data to live, or you can remove it if you like. If you remove the volume mount you will lose all of your data if the container is removed. INFLUXDB_DB is required to be speedtest for associated scripts in other containers to work.

services:
  influxdb:
    image: influxdb 
    container_name: influxdb
    restart: unless-stopped
    network_mode: 'bridge'
    ports:
      - '8086:8086'
    environment:
      - INFLUXDB_DB=speedtest
    volumes:
      - './influxdb:/var/lib/influxdb'

Chronograf

Chronograf is a tool to create and manage dashboards and graphs; built by the same team who built InfluxDB.

This project uses the official Chronograf image from the Docker Hub Library.

  chronograf:
    image: chronograf 
    container_name: chronograf
    restart: unless-stopped
    network_mode: 'bridge'
    ports:
      - '8888:8888'
    environment:
      - INFLUXDB_URL=http://db:8086
    volumes:
      - './chronograf:/var/lib/chronograf'
    links:
      - influxdb
    depends_on:
      - influxdb

SpeedTest

This image was created to run a custom script that calls speedtest-cli to test your internet connection speed and post the data to the running InfluxDB instance. SpeedTest CLI is a client for the popular Speedtest service. It tests your internet connectivity speed by sending requests to download and upload data from a geographically close testing server.

This project uses a custom Speedtest Container available via the Docker Hub Library.

  speedtest:
    image: phikai/speedtest
    container_name: speedtest
    restart: unless-stopped
    network_mode: 'bridge'
    environment:
      - TEST_INTERVAL=5
    links:
      - influxdb
    depends_on:
      - influxdb

The only variable to customize on this image is a variable to set the frequency that this script will run.

Variables Default Function
TIME_INTERVAL 5 Time (in sec.) to set how long will sleep the script until run again.

Credits


If this project has helped you in anyway, and you'd like to say thanks...

Donate Donate with Bitcoin


Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].