On 2013, Feb 27, at 10:37, Sebastien Koechlin <seb.p...@koocotte.org> wrote:
> I'm using a Perl script to monitor many webservers. I do a request on a page
> using LWP, check header and content, and print the result (OK/WARNING/ERROR).
> 
> For https; I would like to also check the certificat expiration date and
> report a WARNING if the expiration date is in few weeks.
> 
> Is there any way to access the certificat sent by the remote server using LWP?
> 
> (I'm using Red Hat EL 5.3 / perl-libwww-perl-5.805)

I see there have been several non-LWP suggestions, and unfortunately this is 
another.  But, what you describe sounds extremely similar to what Nagios and 
its checks do so I'll just mention that I use the as-shipped check_http module 
to do that as follows:

define command {
        command_name    check_https_cert
        command_line    $USER1$/check_http -S -C 30 -H $HOSTADDRESS$ $ARG1$ 
$ARG2$ $ARG3$
}

And then in a service definition I use one of (obviously altering the 
www.example.com to the hostname of the virtual server I'm interested in if a 
host serves for multiple names):

        check_command                   check_https_cert
        check_command                   check_https_cert!-H!www.example.com

Sorry it's not a pure perl solution, but it does address your ultimate need 
even though it's not exactly how you were asking for it to be done.

You can find it as part of the normal plugin package at:

        http://nagiosplugins.org/

or your favorite OS package manager.


-p

Reply via email to