Performs speedtest-cli tests and pushes metrics to Prometheus Pushgateway
Project description
Prometheus Speedtest
Instrument Speedtest.net tests from Prometheus.
Getting Started
These instructions will run prometheus_speedtest
on your system.
Running with Docker
prometheus_speedtest is available on Docker Hub :whale:.
docker run --rm -d --name prometheus_speedtest -p 8080:8080/tcp jraviles/prometheus_speedtest:latest
Installing with PyPi
prometheus_speedtest is also provided as a PyPi package. It can be installed with:
pip install prometheus_speedtest
Usage
usage: prometheus_speedtest.py [-h] [-p port]
Instrument speedtest.net speedtests from Prometheus.
optional arguments:
-h, --help show this help message and exit
-p port, --port port port to listen on.
Getting Started (Development)
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
Compiling with Bazel
bazel build //:prometheus_speedtest
Running with Bazel
bazel run //:prometheus_speedtest
Running without Bazel
First, ensure packages listed in requirements.txt are installed with pip.
python2 prometheus_speedtest.py
Running with Docker
- Using Bazel-Docker integration
bazel run //:prometheus_speedtest_image
- Raw Docker
docker build -t prometheus_speedtest:latest .
docker run --rm -d -p 8080:8080/tcp prometheus_speedtest:latest
Perform a Speedtest
curl localhost:8080/probe
Or visit http://localhost:8080
Testing with Bazel
bazel test //:prometheus_speedtest_test
Testing without Bazel
python2 prometheus_speedtest_test.py
Contributing
Pull requests welcome. Please adhere to the Google Python style guide.
Deploying
pypi
python3 setup.py sdist
twine upload dist/*
par_binary
bazel build //:prometheus_speedtest.par
cp "$(bazel info bazel-bin)/prometheus_speedtest.par" ...
See https://github.com/google/subpar or https://google.github.io/subpar for
documentation on Python .par
files.
Debian package
bazel build //:prometheus_speedtest-debian
sudo apt install "$(bazel info bazel-bin)/prometheus_speedtest-debian.deb"
/usr/bin/prometheus_speedtest.par
If reinstalling package, remember to increment the number in version.txt
.
Otherwise apt will believe the package hasn't changed and will refuse to
install a new version.
Authors
- Jean-Ralph Aviles
License
This product is licensed under the Apache 2.0 license. See LICENSE file for details.
Acknowledgments
- Matt Martz speedtest-cli
- The Prometheus team https://prometheus.io
- Testing in Python team http://lists.idyll.org/listinfo/testing-in-python
- Benjamin Staffin python-glog
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for prometheus_speedtest-0.1.20.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd949d68957cb8841a29445431370c696748a0cfaad866cd7193d9b24e55fa5f |
|
MD5 | 4eedc2eef88b972e5d635ee1b0f14d5f |
|
BLAKE2b-256 | 11c1ad78819b1f50d9e73807892ca733bc8458d92b77f3110faebcbee89cf5a0 |