Monitoring websites with StatusCake and smoke.sh
2 min read
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] (registry.terraform.io/providers/StatusCakeD..). 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