Skip to content

beykansen/internet-speed-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Beykan Şen
Oct 2, 2022
4f3ef28 · Oct 2, 2022

History

12 Commits
Oct 2, 2022
Oct 2, 2022
Oct 1, 2022
Oct 1, 2022
Oct 1, 2022
Oct 1, 2022
Oct 2, 2022
Oct 2, 2022

Repository files navigation

Internet Speed Monitor

GitHub Workflow Status CodeQL GitHub last commit

This app uses Speedtest CLI to monitor your internet speed within desired interval and expose them as prometheus metrics and callback your desired endpoint with results after each run.

Prerequisites:

If your plan is using the binary, Speedtest CLI needs to be installed on your machine. Click here to install SPEEDTEST® CLI.

How to use:

Download binary from releases and run:

./internet-speed-monitor --interval 15 --port 8080 --callback https://example.com/callback

or via go install

go install github.com/beykansen/internet-speed-monitor@latest

or via docker:

docker run -d \
  --name internet-speed-monitor \
  -p 8080:8080 \
  -e PORT=8080 \
  -e INTERVAL=15 \
  -e CALLBACK='https://example.com/callback' \
  ghcr.io/beykansen/internet-speed-monitor:latest

Callback Details:

Method: POST
Example payload:

{
  "downloadSpeed": 1024,
  "uploadSpeed": 512,
  "jitter": 4.5,
  "latency": 7
}

Grafana Dashboard:

dashboard

Internet Speed Monitor Dashboard