"Uptime Kuma" is a self-hosted monitoring tool, which
has a very nice design and which fits in a small memory
and compute footprint. This makes it a good fit for
household and homelab operations.
https://uptime.kuma.pet
I'm still figuring out a permanent home on my home
network / tailnet for it, but for the moment I have
it running on my laptop which means I get to see
some relatively more frequent failure conditions as
the network goes on and offline when I power down
or move between locations.
"Uptime Kuma" can do the usual sorts of things you might
want to do with a simple network monitor, including ping,
DNS lookup, HTTP fetch, very simple pattern match on web
pages, and the like. It won't let you run an arbitrary command
on a schedule though, and the web site pattern matching
happens without any parsing of the HTML page, so some
fancy setups might be hard.
I'm currently using it to monitor network infrastructure
like my home router and a few ATT systems on the traceroute
path to the rest of the Internet. A separate dashboard
watches to see that my PiAware ADS-B airplane monitor is
getting good data; it wasn't when I started watching things,
so there was a weekend side-quest to move the receiver to
get a better view of the sky.
I haven't set up any active alerts or alarms yet. There are
feeds into a bunch of systems including SMS, Home Assistant,
Telegram, and Slack.
One of the virtues of Uptime Kuma is that the development
community is very mindful of resource consumption, and things
like memory leaks or inefficiencies that would prevent it from
running on an old Pi or a free tier on a container service like
https://fly.io have been fixed.
An alternative to this if you have more resources to throw at
the task (and more features with it) is OneUptime
which is also available as a hosted system. The open source
version of OneUptime wants 8 cores (!) to run on, so that
kind of ruled it out for my uses.
https://github.com/OneUptime/oneuptime
Another alternative is HealthChecks which drives the telemetry
and monitoring with a Python and Django application. This too
has a hosted free tier of service or can be run in your homelab
self-hosted.
https://healthchecks.io
In truth my homelab setup (which is mostly a pile of Raspberry
Pi systems) doesn't have much downtime, and even if it did
the consequences would be minimal. Still it's nice to get
a quick overview when everything is working, and some speedy
look at where to go next if something isn't quite right.