1. 29

  2. 7

    This had the extremely predictable outcome of – sometimes the site broke, and I didn’t find out about it until somebody told me!

    To be honest, that sounds like an acceptable monitoring solution in this specific context.

    1. 5

      I am a happy user of https://healthchecks.io at the free tier.

      1. 5

        Seconded. I use healthchecks.io for my automated backups. When the backup completes, it simply makes a curl request to a certain endpoint. healthchecks.io “knows” approximately what time that request should be arriving, and if it doesn’t arrive within a specified window around that time (say, an hour) then it sends me an email that something failed. It’s been working beautifully with zero maintenance for years

        1. 1

          You can also track how long a command takes. My backup script looks like this:

          curl -fsS -m 10 --retry 5 -o /dev/null https://hc-ping.com/$ID/start
          nice /usr/bin/tarsnap $ARGS
          curl -fsS -m 10 --retry 5 -o /dev/null https://hc-ping.com/$ID/$?

          (where $ID is my healthcheck identifier and $ARGS are my tarsnap arguments, and $? is the status from the command). Now if the job doesn’t complete within the grace time, I get an alert, and I can see how long the jobs took on the status page.

          1. 1

            Great idea. Does that request need to arrive at the exact time? Does healthchecks.io allow a window of time?

            1. 1

              Healthchecks expects the request at a specific time, but it has a configurable “grace time” parameter – the time to wait for a request that is late, before sending out alerts.

        2. 2

          Based on this post, I went off and actually set up some monitoring for my services, which right now is just Uptime Kuma running on a tiny dedicated VPS. Works quite well now that I’ve finally gotten around to doing it.

          Now I just need to go and build some health endpoints for some of my APIs….

          1. 2

            https://cron-job.org/en/ has been quite decent

            1. 1

              I like monitored cgi shell script endpoints a lot, e.g. the one behind https://updown.io/44q5 is https://codeberg.org/mro/internet-radio-recorder/src/branch/master/pages/app/monitor.cgi