How do your apps run?

It is a self-hosted monitoring tool like an "Uptime Robot". A dashboard app to show the state of your apps and sites with an easy and informative Dashboard – Uptime Kuma #uptime-kuma #dashboard Kuma (クマ/į†Š) means bear đŸģ in Japanese.

How do your apps run?
Photo by lucas Favre / Unsplash

You need to know if and how your apps are running. This is the easy first step by using Uptime-Kuma.

Uptime-Kuma

It is a self-hosted monitoring tool and dashboard app to show the state of your apps and sites. It has an easy and informative Dashboard, and sends alarms by Gotify, email, Telegram to mention a few.

Uptime-Kuma Demo Page

Live Demo

Try it @ https://demo.uptime.kuma.pet

Create your container

### Uptime-Kuma monitoring
---

version: '3.3'

services: 
  kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./data:/app/data
    ports:
      - 3001:3001 
    restart: unless-stopped
    networks:
       - kadulla

# Volumes used by the services
volumes:
  data:
  
# Networks for the services (Only if you are using my setup tool)
networks:
  kadulla:
    external: true
...

Start setup

The first thing is to design the system:

  • what to monitor (servers, hardware, apps, web pages, docker ...)
  • how to do it (HTTPS, ping, socks...)
  • when to do it (heartbeat)
  • Pages and their layout (Headers, footers, CSS and its items)
  • Groups (Clarify layout by grouping stuff)

Set up your items

Now click at Add New Monitor for adding your stuff. As URL, you can use IP or FQDN (do extra steps to DNS). TLS/SSL ignore if you use self-signed ones. And Add any tag you have or create a new one for the first of its kind. You can also improve on the HTML if you find a need for it.
Depending on your setup, you should use one system to do alerts or one per alert media type, but you should always use one.

Do your Pages

In a small lab you don't need pages because all can be seen from one Dashboard. On larger systems, you definitely need more than one page.

A have several Pages Grouping and RE-Grouping Monitors

After you created a page, you need to design it and then add the Monitors. Groups are easy to add just click Add Group and give it a name.

And you have this

This is my Proxmox related Page

Alerts can be used with anything from Alerta to ZohoClick apps.

Telegram

It is straight forward to do with Telegrams BotFather.

Report Alarms by Telegram
  • Go to your Telegram and create a Bot, copy the token to Bot Token
  • In Telegram go to it and start it by clicking on the start button
  • Click Auto Get and you will get a number representing it
  • Click Test and if all is OK, start using it.
  • You can now apply to all existing monitors and/or Default to enabled by default for new monitors. You can still disable the notification separately for each monitor.

Example of an alert

[Switch .19] [🔴 Down] PING 192.2.0.19 (192.0.2.19) 56(84) bytes of data.
--- 192.0.2.19 ping statistics ---10 packets transmitted, 0 received, 100% packet loss, time 204ms

13:13

Example - alarm ended

[Switch .19] [✅ Up]

13:14

Example - My Blog Status Page

My Blogs Status Page, Even the Backup Halt is shown

References

Uptime-Kuma [1] Telegram Bots [2] See my blog post on homepage


  1. Uptime-Kuma on Github See a live Demo, Documents, How to Install page, How to Monitor Docker Containers page ↩ī¸Ž

  2. See Telegram Bots: An introduction for developers page ↩ī¸Ž