Uptime Kuma

Overview

I use a combination of cloud and self hosted monitoring tools and in this case it’s the latter.

Why?

Utilising the concept of being alerted when something is down (or up in some cases) allows notifications or alerts to signal when something is not right rather than manually checking or someone else raising it.

A self hosted solution allows internal access to services which you may not want to expose especially in a homelab situation.

Dashboard

The setup and install is out of scope and there plenty of guides around. The interface is basic but easy to use.

Green means it’s met the up or good criteria, amber is flagging a warning such as latency whilst red is something is down.

Monitors

Some of the monitoring I have setup include:

Schedulers

Diving into more detail on some of the monitors I have, having something to make sure scheduled jobs run is key as these tend to be unattended.

This may apply to basic cron jobs through to snapshots.

A feature within Uptime Kuma that allows this is a push monitor. It requires the thing you’re monitoring to check in within a given time frame. This is done by calling the unique (Push) URL which can be done using something as basic as curl.

What it won’t know is the result of the scheduler. For example if a timed backup completes with an error and still calls the monitor then Uptime Kuma only know’s it has checked in successfully. This would need to be handled within the task itself.

MQTT

Uptime Kuma can connect to a broker and listen for messages on a topic. Similar to the push monitors, you can set a heart interval for how often a message should be published before it detects it as down.

DNS

A DNS query can be performed to check DNS records are resolvable. For example, checking if google.com is up could be a basic test for internet connectivity all the way through to making sure certain records exists like DKIMs.

Upside Down

A simple, yet powerful feature is the ability to flip the monitor to treat the opposite as up. Taking the DNS example, if you block a specific site, you may query the domain and expect it to either go to a sink hole (never return a response) or block the query. If the upside down rule is turned on then Uptime Kuma will only alert you when it is accessible.

Groups

You can create multiple monitors and group them together. For example, you may want to make sure the MQTT server is up using ping, MQTT messages are arriving on a regular basis and the web management interface is accessible. All these can be setup individually and then added to a group. You can then choose to be notified once if any of the monitors fails it’s checks rather than being spammed by all three individually.

Notifications

Uptime Kuma supports many services for notifications from email all the way to SMS. The power is you can set up many of the notification platforms and then select any of them for each monitor. This means if one person prefers one platform and another likes something else then you can select either or both.

Summary

Uptime is a great tool to the homelab arsenal to reduce manual checks and catch services that are down.

I would like to see more advanced dashboards like you get in ELK style dashboards where events can be reported on almost infinitely and customisable in using their DSL.

How to monitor Zigbee2Mqtt in with HA Uptime Kuma addon?

About Danny

I.T software professional always studying and applying the knowledge gained and one way of doing this is to blog. Danny also has participates in a part time project called Energy@Home [http://code.google.com/p/energyathome/] for monitoring energy usage on a premise. Dedicated to I.T since studying pure Information Technology since the age of 16, Danny Tsang working in the field that he has aimed for since leaving school. View all posts by Danny → This entry was posted in Infrastructure and tagged , , , , . Bookmark the permalink.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.