I once needed a way to make sure our Squid proxy cluster operates correctly. So I wrote a rather simple Squid check plugin for the Nagios monitoring software. André Moura has pimped it further. Feel free to use it. It’s also available from monitoringexchange.org.
Hi,
As you can see I tried many known and unknown URLs, but never received the correct responce. Very odd.
root@ABC-1234:/usr/local/nagios/libexec# ./check_squid.pl -u http://www.klunky.co.uk -p fredprox -l 8080 -e200
CRITICAL – Status: 406 Not Acceptable (but expected 200…)
root@ABC-1234:/usr/local/nagios/libexec# ./check_squid.pl -u http://www.klunky.co.uk/ -p fredprox -l 8080 -e200
CRITICAL – Status: 406 Not Acceptable (but expected 200…)
root@ABC-1234:/usr/local/nagios/libexec# ./check_squid.pl -url=http://www.klunky.co.uk/ -p fredprox -l 8080 -e200
CRITICAL – Status: 400 URL must be absolute (but expected 200…)
root@ABC-1234:/usr/local/nagios/libexec# ./check_squid.pl -url=http://www.google.com -p fredprox -l 8080 -e200
CRITICAL – Status: 400 URL must be absolute (but expected 200…)
root@ABC-1234:/usr/local/nagios/libexec# ./check_squid.pl -url=http://www.google.com/ -p fredprox -l 8080 -e200
CRITICAL – Status: 400 URL must be absolute (but expected 200…)
root@ABC-1234:/usr/local/nagios/libexec# ./check_squid.pl -url=http://www.google.com/index.html -p fredprox -l 8080 -e200
CRITICAL – Status: 400 URL must be absolute (but expected 200…)
root@ABC-1234:/usr/local/nagios/libexec#./check_squid.pl -url=http://www.simonloewen.com/ -p fredprox-l 8080 -e200
CRITICAL – Status: 400 URL must be absolute (but expected 200…)
root@ABC-1234:/usr/local/nagios/libexec#./check_squid.pl -u http://www.simonloewen.com/ -p fredprox-l 8080 -e200
CRITICAL – Status: 406 Not Acceptable (but expected 200…)
Best regards, me
Your problem is that you give the last parameter wrong. It is "-e 200" not "-e200" (although -h says so).
Example:
check_squid.pl -u http://yahoo.com -p proxy.server.com -l 3128 -e 200
Good luck!
Hey there,
thanks for the nice plugin, its definitely helpful.
My Problem is, that if i let Nagios execute the check it always returns (null).
I run it as user nagios manualy and had success:
./check_squid.pl -u http://www.google.com -p srvproxy -l 3128 -o USER -m PASS -e 200
OK – Status: 200 OK
But when i created a service and the command ( i hardcoded everything to eleminate the cause of defect) i just get (null) as result.
define service{
use generic-service ; Name of service template to use
host_name srvproxy
service_description Squid Service
check_command check_squid
}
# 'check_squid' command definition
define command{
command_name check_squid
command_line $USER1$/check_squid.pl -u http://www.google.com -p srvproxy -l 3128 -o USER -m PASS -e 200
}
Is there any known issues ?
hello,
i got the same error.
check the path of line 21.where is your utils.pm?
Hello all..
I have the problem too..
Its OK now?
I founded the problem..
in the line use lib, the path is another for me..
its OK now..
thankss
Can you tell me the path?
hello
In my case , NAGIOS PLUGINS PATH in resource.cfg “/usr/local/nagios/libexec”
and placed check_squid.pl there.
On the other hand USE LIB PATH in check_squid.pl is “/usr/lib/nagios/plugins”.
replace USE LIB PATH in check_squid.pl to “/usr/local/nagios/libexec” and restart nagios.
Is it ok?
Caused I am also get the return code as "null"
You need install perl-modules
AND need change:
Hello!
Same thing here, works from a prompt but does nnot work from within nagios.
YES, I already checked the lib path and YES I also have utils.pm in the same directory. Matter of fact I have both utils.pm as well as util.sh in the same directory /usr/local/nagios/libexec.
Hmm, I am lost!
Hi,
I'm trying to use this script to check if squid authentification it's working fine. My SQUID is using ntlm authentification.
# /usr/lib/nagios/plugins/check_squid.pl -u http://www.google.com -p 10.0.0.20 -l 3128 -e 200 -o test1 -m dunhill
CRITICAL – Status: 407 Proxy Authentication Required (but expected 200…)
Does this work against https:// targets?
Seems so
use output from the –version option of the plugin itself).
root@SV:/usr/local/nagios/libexec# ./check_squid.pl -u http://www.google.de -p 10.0.0.13 -l 3128 -e 200
OK – Status: 200 OK
root@SV:/usr/local/nagios/libexec# ./check_squid.pl -u https://www.google.de -p 10.0.0.13 -l 3128 -e 200
OK – Status: 200 OK
It shows
CRITICAL – Status: 403 Forbidden (but expected 200…)
what is the nagios plugin for?