Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

check_speedtest-cli

Rating
11 votes
Favoured:
3
Current Version
1.2
Last Release Date
2017-12-20
Compatible With
  • Nagios 3.x
  • Nagios 4.x
Twitter Handle
@jonwitts
License
GPL
Hits
47145
Files:
FileDescription
check_speedtest-cli.shcheck_speedtest-cli.sh
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
This script will output the Internet Connection Speed using speedtest-cli to Nagios.

You need to have installed speedtest-cli on your system first and ensured that it is
working by calling "speedtest --simple".

See here: https://github.com/sivel/speedtest-cli for info about speedtest-cli

Please see the help from the script for more details.

Any issues, please report them on the GitHub page: https://github.com/jonwitts/nagios-speedtest/issues
Reviews (8)
I installed this script and it works, i get the ping, upload & download speed. So far so good!

But it has no graph, is there a way to activate the graph in Nagios? All other plugins show a graph.
bywpyung, April 27, 2021
I am using this via the docker container https://hub.docker.com/r/martinjohn/nagios

just hit this problem whereby the script nolonger works
https://unix.stackexchange.com/questions/644442/speedtest-cli-valueerror-invalid-literal-for-int-with-base-10

so I did the wget of speedtest.py to /opt/Custom-Nagios-Plugins
and also had to modify STb in check_speedtest-cli.sh
and copy in the file speedtest

would be nice if someone could update the docker container

Peter
I know it's a bit outdated, but thank you for submitting this!

It looks like a recent upgrade made it a requirement to specify a single server to use for the speed test. When using an internal server, this makes sense. But when doing an external speed test, I found that limiting to a single server is problematic, and was creating false alarms in Nagios when that particular server went down.

I was able to tweak the script so the $SEs argument is required only if $Loc is set to 'i'.
And updated the speedtest commands accordingly:
if [ -z $SEs ]; then
echo "No specific server defined"
command=$($STb/speedtest --simple)
else
command=$($STb/speedtest --server=$SEs --simple)
fi
I used the manual installation in my CentOS server, downloaded the file, give permissions to execution, but then I had two issues, the first one in line 170 you need to add the path to the python script: STb="/usr/local/bin" the check tells you that, but then, depending on your installation, you may need to change the command in line 275 adn 280, in my case I had to change this:
$($STb/speedtest --server=$SEs --simple)
with this:
$($STb/speedtest-cli --server=$SEs --simple)

From there on, the check works beautibully.

Thanks Jon Witts!
byTrollFarmer, January 4, 2017
The script works very wel. There is only one point you should change.

The comparison in the IF statements will not work optimal. I had to change the If statements to something like this:
if [ $(echo $upload '
You do job good.
bysiggi, March 26, 2014
1 of 1 people found this review helpful
Would be much better if "server" option would be added!
Owner's reply

Hi Siggi,

I have included your suggested changes into version 1.1 of the script. Please update to the latest version!

Thanks for your suggestions,
Jon

byelpatron, January 27, 2014
1 of 1 people found this review helpful
Easy to install und use, clean performace data, tested with Nagios 4.0.2 and PNP 0.6.21 (Debian wheezy).

Unfortunately, ping response times from speedtest-cli.sh seem to be much too big (by the factor of 10)?
Owner's reply

Hi elpatron,

Thanks for the review.

My script is not processing the ping results as such; other than displaying what the speedtest-cli python script is returning. I have had a quick look on their site and found this:

https://github.com/sivel/speedtest-cli/issues/58#issuecomment-41664906

Jon