Why automatic renewal still needs monitoring
Most certificates renew themselves now. Let’s Encrypt issues for 90 days, certbot or your control panel renews at 60, and for years nobody has to think about it. That is exactly what makes the failure so expensive: the process is invisible while it works, and equally invisible when it stops.
Renewal is not one step but a chain — a timer fires, a challenge is answered, a new certificate is written, and a service reloads to pick it up. Every link can break quietly, and none of them announces itself.
Where the chain breaks quietly
- The timer stopped. A cron entry or systemd timer removed during a migration, a server rebuild, or a cleanup nobody connected to certificates.
- The challenge stopped passing. An HTTP-01 challenge blocked by a new redirect or firewall rule, or a DNS-01 challenge broken by an edited record — which is why DNS monitoring sits next to this one.
- Credentials expired. Wildcard certificates renewed over a DNS provider’s API keep working right up until that API token is rotated.
- Renewed, but never served. The new certificate is on disk and the web server was never reloaded, so the old one is still being handed to every visitor.
- Renewed on one node only. Behind a load balancer, one host quietly keeps serving yesterday’s certificate.
- The notice went nowhere. Expiry warnings from the CA go to an address that left the company, or into a shared inbox nobody reads.
What an external check adds
The last two cases are the reason monitoring reads the certificate over the wire rather than trusting a file or a log. Domain Monitor Hub connects to your domain on port 443, takes the certificate your server actually presents, and stores its expiry date and issuer. If a renewal succeeded everywhere except the place that answers your visitors, the date it reads simply doesn’t move — and the countdown keeps running toward your thresholds.
It is the same argument as domain expiry, one layer up: the certificate’s end date is knowable months in advance, so an outage caused by it is entirely optional.
What isn’t checked
Worth being just as clear about the boundary. This watches the expiry date and issuer of the certificate being served. It deliberately does not validate the trust chain, so an expired or self-signed certificate can still be read and reported instead of failing silently. It does not test hostname mismatches, revocation status, cipher suites or TLS versions, and it is not a certificate management or issuance tool — renewal stays wherever it lives today.
Need an answer for one domain right now, without an account? The free SSL expiry checker reads the same certificate the same way.