Wolfpack.Contrib.Checks.Ssl

This package provides HealthChecks related to SSL certificates.

SslCertificateExpiry

This check takes a list of hostnames and downloads the SSL certificate information for each one and inspecting the expiration date - if it is within a configurable threshold number of days then an alert is generated.

Install

Download the latest Wolfpack from codeplex...then you download & install this plug-in at a command line prompt in the Wolfpack installation folder with...
wolfpack.agent.exe /update:Wolfpack.Contrib.Checks.Ssl

Files installed...
  • \Wolfpack.Contrib.Checks.Ssl.dll
  • \Config\Checks\sslexpiry.contrib.castle.config

Configuration

1. Move the sslexpiry.contrib.castle.config file to one of the appropriate schedule subfolders of \Config\Checks...eg: \Config\Checks\EveryMinute. This will automagically bind this check to run "EveryMinute". You can create more subfolders, the only caveat is that they must correspond to a component named the same in the schedule.castle.config file. Recommendation is to run this check once a day.

2. To enable the check just set the "enabled" element value to "true".

3. To set the Hostnames to track add a new "item" to the "list" eg...
<list>
    <item>microsoft.com</item>
    <item>appharbor.com</item>
</list>
4. By default this check will start to generate alerts when a certificate gets within 14 days of expiry. To adjust this period set the thresholdDays element...
    <thresholdDays>20</thresholdDays>

Output

A HealthCheck result if the certificate is within the expiry threshold with these properties...
  • Result = Success
  • ResultCount = number of days to expiry
  • Tag = hostname
If the certificate contains any errors a further HealthCheck result is generated with these properties...
  • Result = Failure
  • Tag = hostname
  • Property "sslError" = SslPolicyErrors enum value (chain, name, not available)

Runtime

No files or data are stored as part of this check once running.

Thanks

The idea for this health check came about because I saw this code snippet on StackOverlow - so props to the guy that posted it.

Last edited May 13, 2012 at 8:06 AM by jimbobdog, version 7

Comments

No comments yet.