Monitoring my home internet connection

A few months ago, I experienced internet issues and encountered random server freezes. I wanted to monitor these issues even when away from home but there’s a problem: how could I be notified if my server went offline, if my server was not able to send the notification?

I run Uptime Kuma locally on my server to monitor the availability and response time of external services. Uptime Kuma provides graphs, maintains a history of all status changes, and is easy to configure.

Then there’s healthchecks.io, an online service that will send out a notification if there’s no “ping” within a configured time frame. And the best part: it’s free. At least the features I need are.

Instead of setting up a cron job, I configured a new job in Uptime Kuma and entered the ping URL to “monitor” it, setting it to repeat every 60 seconds. On healthchecks.io, I configured the period between pings, which is set to 1 minute, with a grace time period of 2 minutes in case a ping is delayed.

So at the latest, I’m informed about my server or internet connection being unavailable after 2 minutes because Uptime Kuma was unable to make a request to the ping URL.

This setup runs for several months now and came in quite handy several times since I set it up.