riemann-tools
riemann-tools copied to clipboard
Add `riemann-tls-check` to monitor TLS certificates
Add a riemann-tls-check
that accept a list of URI of resources to check TLS certificates.
For each URI, resolve the IP addresses that provide the service, and for each IP address perform a TLS handshake and generate events from the certificate:
- availability: :ok:/:boom: global status of all the following metrics + reachability;
- not after: :ok:/:boom: + :chart_with_downwards_trend: number of seconds until the certificate is expired;
- not before: :ok:/:boom: + :chart_with_upwards_trend: number of seconds since the certificate is valid;
- identity: :ok:/:boom: certificate subject match the URI hostname;
- trust: :ok:/:boom: validity of the certificate trust chain;
- OCSP satus: :ok:/:boom: validity of the OCSP status if applicable.
(icons legend: :ok:/:boom: => the metric report a status (ok, warning, critical); :chart_with_downwards_trend: + :chart_with_upwards_trend: => the metric report a metric)
A STARTTLS handshake is automatically done for imap://
, ldap://
and smtp://
URI.
A protocol specific handshake is done for mysql://
and postgres://
URI.
Limitations
The required API in OpenSSL to check for OCSP Stapling is not currently part of the openssl gem, so this cannot be tested at the moment: https://github.com/ruby/openssl/pull/401