Site Monki: Automating website uptime monitoring

Site Monki: Automating website uptime monitoring

Hey there, I would like to introduce you to a product I have been working on since late 2018. It sort of began as a fun project. I wanted to automate monitoring of some of the web properties I run at my 9-5 and personal hustles. I singled out the three most important causes of website downtime that can be monitored externally; internal server errors, ssl and domain expiry. So I build a tool to automate that.

Enter Site Monki. It’s been absolutely fun to do especially as a “one man army”.

Site Monki currently has four features;

1. Website uptime monitor: Here you add any number of website urls which we monitor on a 2 minute interval. Once we detect down time, we keep checking for the next 6 minutes just to rule out any false positives. If after 6 attempts the site is down, we send you a notification to the email address you used to signup with. If the website comes back up, we again send you a notification that it’s back. We currently monitor http(port 80) and https(port 443) sites.

2. SSL Checker and monitor: Site monki also monitors SSL certificates for your website or hostnames. We specifically monitor expiry date. A lot of website owners install SSL certs and forget about them, but with Site monki we able to alert you two weeks, 3 days, on expiry date, 3 days after and 14 days after expiry. If within that time period you renew your SSL certificate, Site Monki will alert you of the change and the new expiration date. Also if there’s a problem with the SSL cert, this will most likely trigger website down alert.

3. Domain monitor: We are acutely aware of domain mafias who wait for clients who forget to renew their domains and snatch them. The Domain monitor will monitor your domains and send you alerts before, during and after domain has expired in similar intervals to the SSL monitor. We pretty much support all ICANN TLDs, gTLDs and ccTLDs.

4. Cron job & health checks: This feature is for slightly advanced users like webmasters. If you are running cron jobs like weekly database backups, how do you know the job ran? Check the logs? Well, Site monki has a solution. All you have to do is add a cron job/health check, we give you a unique ping url that you append to your cron jobs in crontab. Below is an example of healthcheck I use to notify me if backup to Amazon S3 we done or not;

#backup all websites to amazon s3 every sunday at 03:0000 03 * * 7 /bin/bash /home/oquidave/scripts/ && curl

Notice the “&& curl https…”. After the backup script has run, it makes a get request to that unique site monki url auto generated at time of healthcheck creation on Site monki. If Site monki doesn’t receive any “ping” at time specified in the healthcheck, it means the cron job didn’t run. So it’ll set the status to down and send you an alert that the cron job didn’t run.


Leave a Reply