Site Monki: Automating website monitoring

Hey there, Dave here. I am a Tech blogger as well as a developer. I run several websites, some are for fun like my personal blog, others are client websites I host at Hataricloud and another one, Dignited.com is one of the most popular Tech blogs in Sub-Saharan Africa.

Keeping track of all these websites has been quite a daunting challenge for me; clients sites go down sometimes without my knowledge. It’s only after I get a call from an angry client that I realize their web property is actually down.

A website could go down for a number of reasons among which include;

  • Hosting server or hosting provider is down
  • Server resources such as RAM, CPU, Storage being maxed out
  • Internal server error due to bugs in the code
  • Domain has expired
  • DNS changes to the domain
  • SSL certificate has expired
  • DDOS attack

Whatever the reason could be, the most important thing is to be alerted that the website has gone offline. Websites or Web apps are expected to be online 24/7 with minimal downtime. Extended periods of downtime could have catastrophic effects. You could lose trust from your users or customers, you could lose revenue, your SEO can be affected. So website uptime is very paramount. That’s why after several months of coding, I created Site Monki.

Site Monki helps you automate monitoring of your website or web app. We do that by checking the status of your site in 3 minute interval. If your website doesn’t return HTTP status codes in the range of 200-300, then we shall assume that your website is down. We keep retrying at least 5 times with 3 minute intervals just to rule out any false positives. If the status hasn’t changed, then we fire an alert to you. Right now we only support email, but we intend to add several alternative channels such as Slack, SMS in the near future.

The other thing Site Monki does is domain protection. Your website will go down if your domain expires and you don’t renew it. You should never let your domain expire without your knowledge. While you can easily bring back your website once it goes offline, you may stand the risk of completely losing your domain if you don’t renew it on time. Your domain is your brand. It’s your address on the internet. Lose it and you’ll have lost a lot of users who knew your domain. I can’t imagine losing sitemonki.com. So we offer domain protection by monitoring WHOIS information of your domain among which includes the creation and expiry dates. We alert you at least 5 times before, when and after your domain expires — that is 2 weeks, 3 days before, one expiry date and 3 days, 3 weeks after it has expired if you still haven’t renewed it. This is how important this is to us.

The Site Monki also keep tabs on SSL Certificates of your domain. SSL certificates make your website more secure for you and your users by encrypting all content shared between you and your visitors. SSL certificates just like domains expire and need to be renewed on regular basis depending on the Certificate Authority(CA). Some C.As offer upto 3 months validity period like LetsEncrypt while others like Digicert offer up to 5 years. Whatever the validity period, if your SSL Certificate expires, visitors will not be able to access your website that easily. They will presented with a warning that your website is NOT secure. So again, Site Monki will alert you at least 5 times before, when and after your SSL certificate expires in similar manner to domains above.

Finally Site Monki offers 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 if 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 url that you append to your cron job 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:00
00 03 * * 7 /bin/bash /home/dave/scripts/sites-backup.sh && curl https://sitemonki.com/ping/35b315907adb426ewbcadfe6f2a8ff47a


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 or service isn’t running.

sitemonki-hc-dignited.jpg

So that’s it so far. 

Right now I am exploring the packaging and pricing model. So far, I am thinking of charging based on Usage.  For instance $5/month on the lower tier for websites/domains/ssls/health checks records less than 10. And then $15/month for an account between 10-100. And custom pricing for anything above that. 

The service is currently Free in the beta stage and you are welcome to try it out. Beta period ends in about 3-6 months from now. So Sign up now here