Netwerkmonitoring met Uptime Kuma

Al weer veel te lang geleden had ik mij voorgenomen om netwerk monitoring te installeren. Initieel keek ik naar Zabbix, maar was het niet intuïtief genoeg en de mogelijkheden veel te groot voor wat ik zocht.

Ik wilde slechts wat websites, lokale servers en camera’s monitoren of ze online waren en een bericht krijgen als ze offline zouden zijn.

Zabbix leek op te veel werk en te veel functionaliteiten, dus steeds uitgesteld, tot ik op een zeker moment Uptime Kuma tegenkwam en deed volledig aan mijn wensen. Snel te installeren, eenvoudig te configureren.

Installatie

Installatie van Uptime Kuma is snel en simpel. Binnen enkele minuten kun je Uptime Kuma hebben draaien. Zoals eerder geschreven, zou elke computer gek zou minimaal 1 Raspberry Pi moeten hebben en daar ik nog een Raspberry Pi 4 had draaien met slechts wat experimentele versies van Nx Witness, het door mij gebruikte VMS voor mijn camera’s, heb ik Uptime Kuma hierop geïnstalleerd.

Docker

Uptime Kuma is beschikbaar als Docker image en eerst zul je dus Docker en Docker Compose moeten installeren middels de volgende opdrachten:

$ sudo apt install docker.io -y
$ sudo apt install docker-compose -y

Daarna moet je een directory aanmaken voor de Docker Compose file en deze file creëren, bijvoorbeeld met nano:

$ mkdir UptimeKuma
$ sudo nano nano docker-compose.yml

Vervolgens kopieer je de content uit deze LINK en plakt deze in de nano teksteditor.

docker-compose.yml file

Dan sla je het bestand op met Ctrl+O en sluit je af met Ctrl+X.

Dan kun je de Docker container starten middels:

$ sudo docker compose up -d

En controleren of de container up is.

$ sudo docker ps

Configureren

Als alles werkt zoals het zou moeten, dan navigeer je met je browser naar het IP adres van de server waarop je Uptime Kuma hebt geïnstalleerd + port 3001 en krijg je onderstaand scherm te zien:

Uptime Kuma Startscherm

Dit scherm spreekt wel voor zich. Even de gewenste taal kiezen, gebruikersnaam en wachtwoord invoeren en op Create klikken.

In het volgende scherm kun je meteen aan de slag om de endpoint in te voeren die gemonitord moeten worden. Bijvoorbeeld deze website:

Voorbeeld website monitoring

En als je een camera wil monitoren dan kun je dit middels een ping request doen:

Links in het scherm zie je een overzicht per item en rechts kun je een meer grafische status weergave tonen van de monitoring:

Uptime Kuma monitor scherm

Notificaties

Aangezien ik nergens een scherm heb hangen waar ik continue de status op kan bekijken als ik dat überhaupt zou willen, heb ik een koppeling gemaakt met mijn Discord server, zodat ik een bericht ontvang als een website of apparaat offline zou gaan. Ook dit is super makkelijk gemaakt met duidelijke instructies wat je moet doen om notificaties te ontvangen in de door jou gewenste applicatie.

Notificatie instellingen

Ik ga hier niet de instructies uitschrijven, omdat deze duidelijk beschreven staan bij iedere notificatie applicatie (zie pijl), maar mocht iemand ergens tegenaan lopen met het verkrijgen van een Discord webhook, laat het me weten in de reacties.