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


Remember Me

Directory Tree


12 votes
Current Version
Last Release Date
Compatible With
  • Nagios 3.x
  • Nagios 4.x
Twitter Handle
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: for info about speedtest-cli

Please see the help from the script for more details.

Any issues, please report them on the GitHub page:
Reviews (9)
speedtest-cli dos'nt work anymore as Ookla decommissionned the server lists urls. The new url is and is json formatted.
I released on Nagios Exchange a new Nagios plugin "check_speedtest" based on this excellent legacy check_speedtest-cli by Jon Witts, which now work with genuine "speedtest" cli bby Ookla, no need to use speedtest-cli anymore. Check it out !
byJVD, July 5, 2021
1 of 1 people found this review helpful
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

just hit this problem whereby the script nolonger works

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

would be nice if someone could update the docker container

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)
command=$($STb/speedtest --server=$SEs --simple)
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,

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 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: