I'm trying to figure out how to get Nagios to monitor a few sites that are using HTTPS and require a username/password to log in - I can't figure out how it should be done so I can set a username and password for each host, and then define a service to do the check using those usernames and passwords.

I can write a little perl script that will use wget and return an appropriate exit code, but I can't figure out how to get the username/password/URL to the script when it is called.

link|improve this question

feedback

2 Answers

up vote 3 down vote accepted

You should be able to do that with the check_http plugin

-S - SSL
-a "<username>:<password>" - Auth

So your command defination should look something like

define command {
    command_name check_https_auth
    command_line $USER1$/check_http -H $ARG1$ -I $IPADDRESS$ -S -a "$ARG2$:$ARG3$"

Then in your service definition use

check_command check_https_auth!<vhost name>!<username>!<password>
link|improve this answer
When I add the -S option I get "check_http: Invalid option - SSL is not available" openssl is installed. – DrStalker Dec 10 '09 at 7:16
You have to install the package "openssl" Then it is working! apt-get install openssl – Fake4d May 31 '11 at 5:35
feedback

Is your site using basic authentication ? If not, have a look at the WebInject plugin - this works with different types of authentication.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.