blog.cat.ssl

Monitoring SSL certificate expiry: alert services and automation tools

12.04.2036
← All articles

SSL certificate expiration is one of the most damaging technical failures a website can suffer. Browsers display a red warning to visitors, search engines push the site down in results, and payment gateways refuse to establish a connection entirely. The worst part is that these incidents always happen at the most inconvenient time, usually during weekends or on the eve of holidays. This is precisely why many companies invest in automated SSL expiry monitoring systems.

Why manual tracking fails

Many technical directors initially try to track SSL expiry dates in Excel spreadsheets or Google Calendar. This approach can work for a few months in a small company, but it breaks down as soon as the number of domains grows. Employees leave, accounts get forgotten, reminders go to the wrong inbox. According to Sayt.uz analytics, about 38 percent of clients using manual tracking miss at least one renewal per year and end up with downtime.

External monitoring services

Services like UptimeRobot, Better Stack and Pingdom continuously check SSL certificate expiration. These platforms send a request to the site every 5 to 10 minutes and read the certificate metadata. Notifications are sent 30, 14, 7 and 1 day before expiration via email, SMS or Telegram. UptimeRobot offers 50 free monitors, enough for small and medium businesses. Better Stack provides advanced features such as incident management, status pages and team collaboration.

Self-hosted monitoring

If a company manages a large number of domains, deploying monitoring on its own server makes more sense. The Prometheus and Grafana combination, using the blackbox_exporter module, generates an SSL expiry metric for each domain. Alertmanager rules are added on top, and notifications go directly to the DevOps team's Slack channel. This approach delivers professional-grade monitoring but takes several days to configure and requires a Linux server.

Script-based automation

The simplest solution is a cron job that runs daily and uses the openssl command to check certificate expiration and calculate remaining days. A Bash or Python script can send a Telegram bot message when the threshold is crossed. This method is free and self-contained, particularly convenient for small agencies. Running the script via GitHub Actions cron schedule has also become common practice.

Sayt.uz practice

The Sayt.uz platform launched automatic SSL expiry monitoring for its clients in spring 2036. The system checks certificate status for every domain in the customer cabinet every 6 hours and sends email and Telegram notifications 30, 14, 7 and 2 days before expiration. Statistics show that among 8,412 sites with monitoring enabled, 97.6 percent renewed on time during the first quarter of 2036, with only 203 domains delayed. For clients without monitoring, this figure drops to 71 percent. Domain renewal starts at 178,000 soum, while SSL certificate renewal costs around 312,000 soum. The automated alert service is included in all plans for free.

Related articles

📱 SSL pinning: the strongest defense against MITM attacks in mobile apps 🤝 SSL handshake process: the inner mechanics of TLS negotiation step by step 🔓 HTTPS padlock disappeared: causes and step-by-step fixes 💰 SSL price comparison — Let's Encrypt, Sectigo, DigiCert and GlobalSign
🌐 Language
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English