Monitoring websites with StatusCake and smoke.sh

Website uptime monitoring isn’t glamorous, but it’s increasingly necessary, even for smaller sites. I’d like to profile a couple of tools I use and find to be helpful - one commercial (although with a free plan for a single website), and one open source. Both help give automated, early detection of problems with websites, particularly where the websites should be “set and forget”.

I find StatusCake to be a nice blend of features (including 2FA), and it’s easy to onboard new sites, and alerts… They are “Made remotely in London” which I like, and even a Terraform provider. In addition to simple “Uptime” monitoring (which usually checks for some known content like a phone number which will be in every footer, I often check for the absence of an error string (like “404 not found” or “503 bad gateway”)

If you’re on a budget and need to monitor more than one site, I’d also suggest smoke.sh - it’s “a minimal smoke testing framework in Bash”, and can check for HTTP status codes, the presence of a string. It’s a nicely portable script, so could be easily added as a step in your CI/CD process.

I have a fork in GitHub where I’ve:

  • updated the code to successfully lint in ShellCheck
  • added an assertion to check for the absence of a string
  • added basic DNS testing with dig to assert whether an IP address or a NameServer record is present/absence