Cheap and cheerful uptime monitoring

When I was setting up reyhan.org I wanted to check that everything was working as expected, part of which was ensuring that requests were responding with 200 HTTP status codes, and if not then notify accordingly.

Running the following script using GitLab’s Pipeline Schedules does the job nicely:

A schedule was created to run updog.sh on an hourly basis.

The “build” passes if a 200 status code is returned, otherwise it fails. What’s useful is that GitLab will send an email if a build fails that contains the log output including the HTTP status code 🙂