3 min read

Monitoring Tool | Uptime Kuma

Beruflich habe ich viele Berührungspunkte mit dem Enterprise Monitoring Tool CheckMK. Warum ich das bestehende Setup in meinem Homelab einstampfe und wodurch ich es ersetze, erfährst du in diesem Artikel.

Vorwort

Wie schon gesagt, ich habe beruflich sehr viel mit CheckMK zu tun. Beim alten Arbeitgeber war ich Administrator für ein CheckMK Enterprise Distributed Monitoring Setup, hinweg über viele Kunden mit knapp 20.000 überwachten Diensten. Bei meinem aktuellen Arbeitgeber baue ich ein Monitoring Setup mit der CheckMK-Raw Edition auf, dessen Aufbau und Ansatz ein Stateless Deploy ist. Darüber hinaus ist der Ansatz, dass keine manuelle Arbeit nötig ist. Ich finde es einen sehr interessanten Ansatz, der leider nicht komplett möglich ist, aber dennoch sind einige Dinge sehr stark davon inspiriert. (Wer Interesse hat, kann ja mal im Forum nachschauen: https://forum.checkmk.com/u/peterge. Außerdem werde ich im Juni auf der diesjährigen CMKconf#9 anwesend sein 😊)

Hintergrund

Doch was ist der Grund hinter diesem Artikel?
Wie im Vorwort angekündigt habe ich mich nämlich dazu entschieden meine private Instanz, die mein Homelab überwacht, abzuschalten. Hierfür gibt es mehrere Gründe, jedoch sticht ein Grund ganz massiv hervor: Die Pflege des Setups rentiert sich meiner Meinung nach überhaupt nicht. Ich erwische mich immer wieder, wie ich den Notification Bot in Telegram einfach auf stumm schalte, da ich mir bewusst bin, was das Problem verursacht, aber gerade nicht die Zeit dazu habe es zu fixen, bzw. es nicht nötig ist. Das ist zwar schade, aber wenn ich bedenke, was die Kosten dafür sind, bin ich nicht mehr bereit diese zu bezahlen. Die wären nämlich: meine Freizeit. Und bei den meisten Problemen bin ich sowieso in der Lage diese zu lösen und muss nicht durch ein Monitoring auf eine mögliche Ursache hingewiesen werden.

Lösung

Doch was nun? Kein Monitoring mehr?
Nee, ich halte es schon für sinnvoll auf Probleme hingewiesen zu werden, nur muss ich nicht über jedes kleinste, möglicherweise bald einen kritischen Zustand erreichende Problem hingewiesen werden. Durch dieses Video bin ich vor einigen Tagen auf ein sehr interessantes Tool namens "Uptime Kuma" gestoßen, dessen Aufgabe es ist, mit simpler Konfiguration die HTTPS Endpunkte zu überwachen. Dazu selbshostbar, hier ist die Github Seite.

Installation

Also fing ich damit an es auf meinem VPS zu deployen und schon nach einigen Minuten konnte ich die Webseite aufrufen.
Ich nutze es hinter Nginx als Reverse Proxy, zusammen mit Certbot (wie auch der Blog).
Details zur Einrichtung von Nginx für Kuma findet man hier.

Meine docker-compose.yml enthält die folgenden Zeilen:

  kuma:
    container_name: kuma
    image: 'louislam/uptime-kuma:latest'
    restart: unless-stopped
    ports:
      - '3002:3001'
    volumes:
      - /srv/docker/kuma/data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock

Anschließend war es sehr einfach, mit BotFather einen Telegram Bot einzurichten, über den ich auch sofort meine Testnachrichten erhielt:

Die Einrichtung aller Hosts (Monitor genannt) dauert nur wenige Minuten. Hier zeige ich einmal die Ansicht, aller Dienste, die auf meinem VPS laufen. Diese überwache ich im 60-Sekunden-Rhythmus, für alle anderen Dienste nehme ich einen größeren Zeitraum:

Fazit

Auch wenn ich noch kein Langzeitfazit ziehen kann, da das Tool erst seit kurzem benutze, kann ich dennoch den Einrichtungsprozess, die Bedienung und den Funktionalitätsumfang beurteilen. Und das schneidet in meinem bisherigen Kontakt sehr positiv ab! Es ist ein Tool, welches sehr gut zur KISS Methode passt. Es ist simpel, schnell aufzusetzen und einzurichten. Also genau das richtige für ein Homelab. Jedoch empfehle ich es nicht für den Einsatz im Unternehmen. Sobald hier dran SLAs oder ähnliches hängen und es um mehr als einen Minecraft Server geht, ist hiervon abzuraten. Aber für ein simples Tool, welches die Erreichbarkeit von ein paar Seiten überprüfen soll, ist es sehr gut geeignet!

Status

Wie ich gerade herausgefunden habe, kann man auch Statusseiten erstellen. Hier mal ein Link für die Statusseite der Überwachung von blog.peterge.de: https://monitoring.peterge.de/status/blog

Author: peterge