Home ITHome ServerZabbix vs. Uptime Kuma vs. Checkmk: Welches Monitoring passt ins Homelab?

Zabbix vs. Uptime Kuma vs. Checkmk: Welches Monitoring passt ins Homelab?

by Dimitri Roschkowski
0 Kommentare

Irgendwann ist der Punkt erreicht, an dem man nicht mehr jede Kiste einzeln anpingt. Bei mir war das, als ein Postfix auf einem zentralen Mailserver drei Wochen lang tot war und niemand es gemerkt hat. Drei Wochen. Betroffen waren einige Projekte mit wenig Traffic, die ihre Mails nicht selbst per SMTP verschicken, sondern über diesen Mailserver. Weil dort kaum Mails anfielen, fiel auch der Ausfall niemandem auf. Der Dienst stand laut systemd auf „active“, die Mails gingen trotzdem nirgendwohin. Das war der Moment, in dem ich mir ernsthaft Monitoring angeschaut habe.

Im Homelab-Umfeld tauchen immer dieselben drei Namen auf: Uptime Kuma, Checkmk und Zabbix. Ich habe alle drei im Einsatz gehabt und bin am Ende bei Zabbix gelandet. Aus diesem Zabbix stammen auch alle Screenshots in dieser Serie. In diesem Artikel erkläre ich, warum, und für wen die anderen beiden trotzdem die bessere Wahl sind.

Zabbix im Homelab, die Serie:

  1. Zabbix vs. Uptime Kuma vs. Checkmk (dieser Artikel)
  2. Zabbix installieren auf Ubuntu (erscheint in Kürze)
  3. Zabbix Agent 2 installieren (erscheint in Kürze)
  4. Telegram-Benachrichtigungen (erscheint in Kürze)
  5. Dashboard bauen (erscheint in Kürze)
  6. UniFi per SNMP (erscheint in Kürze)
  7. Zabbix Proxy (erscheint in Kürze)
  8. Proxmox überwachen (erscheint in Kürze)
  9. Websites und SSL (erscheint in Kürze)

Die Kurzfassung

Uptime Kuma Checkmk Raw Zabbix
Was es ist Status-Seite mit Ping/HTTP-Checks Monitoring-Suite, Nagios-Erbe Monitoring-Plattform, alles aus einer Hand
Einrichtung 5 Minuten, ein Docker-Container 30 Minuten, Appliance oder Paket 1 bis 2 Stunden, Server + DB + Webserver
Lernkurve keine mittel steil, dafür konsequent
Agenten keine (nur von außen) eigener Agent, viele Plugins Agent 2, SNMP, IPMI, HTTP, Skripte
Netzwerkgeräte (SNMP) nein ja, gut ja, sehr gut, mit Discovery
Templates nein viele, teils nur in der Enterprise-Version über 400 mitgeliefert, alle frei
Mehrere Standorte nein ja (verteiltes Monitoring, eingeschränkt in Raw) ja, Proxy-Konzept, auch über NAT
Benachrichtigung Telegram, Mail, 90 andere Mail, Skripte Telegram, Mail, Slack, Webhooks, Eskalation
Lizenz MIT GPL (Raw), kommerziell (Enterprise) AGPL, alles frei
Ressourcen 100 MB RAM 1 GB RAM 1 bis 2 GB RAM plus DB
Für wen „Ist meine Website oben?“ „Ich will alles sehen, schnell“ „Ich will alles sehen, und es soll wachsen“

Uptime Kuma: Die Status-Seite

Uptime Kuma ist das Tool, mit dem fast jeder anfängt. Ein Docker-Container, eine hübsche Oberfläche, und nach fünf Minuten hat man zehn Websites und ein paar Pings im Blick. Die Benachrichtigungen funktionieren sofort, Telegram ist mit zwei Feldern eingerichtet.

Was Uptime Kuma gut kann:

  • HTTP-Checks mit Statuscode, Keyword im Inhalt, JSON-Abfragen
  • Ping, TCP-Port, DNS, Docker-Container-Status
  • Zertifikatsablauf
  • Status-Seiten, die man Kunden zeigen kann
  • Benachrichtigung an praktisch alles, was eine API hat

Was Uptime Kuma nicht kann, und das ist der entscheidende Punkt: Es schaut nur von außen. Es weiß nicht, dass die Platte zu 92 Prozent voll ist, dass die Load auf 18 steht, dass der RAM auf dem Proxmox-Host überbucht ist oder dass ein Mailserver Mails annimmt, aber nicht zustellt. Mein Postfix-Ausfall wäre mit Uptime Kuma nicht aufgefallen, denn Port 25 war offen.

Uptime Kuma ist eine Verfügbarkeitsanzeige, kein Monitoring. Das ist keine Kritik, es will auch nichts anderes sein. Wer drei Websites und einen Heimserver hat, ist damit richtig bedient und sollte diesen Artikel hier beenden.

Checkmk: Der schnelle Überblick

Checkmk kommt aus der Nagios-Welt und hat deren Erbe gründlich entstaubt. Die Stärke: Man installiert den Agent auf einem Server, und Checkmk erkennt von selbst, was es da zu überwachen gibt. Platten, Dienste, Netzwerkkarten, Datenbanken. Nach zehn Minuten sieht man mehr als in Zabbix nach einer Stunde.

Die Raw Edition ist Open Source und für ein Homelab völlig ausreichend. Die Oberfläche ist dicht, manchmal zu dicht, aber man findet sich zurecht.

Bei mir ist Checkmk allerdings an etwas ganz anderem gescheitert. Ich hatte es als Docker-Container auf einem Unraid-Server laufen, auf der NVMe-Cache-Platte. Nach ein paar Tagen lief der Container plötzlich unter Volllast und hat den ganzen Server lahmgelegt. Ich konnte nichts mehr machen. Die Ursache zu finden, war sehr mühsam. Das muss nicht jedem so gehen, aber es war für mich der Punkt, an dem ich mich nach etwas anderem umgesehen habe.

n

Dazu kommen ein paar grundsätzliche Punkte, die für meinen Einsatz gegen Checkmk sprechen:

  • Die wirklich guten Sachen, etwa das automatische Agent-Update oder der Großteil der Hardware-Plugins, sind der Enterprise-Version vorbehalten. Man stößt ständig auf Funktionen, die ausgegraut sind.
  • Verteiltes Monitoring über mehrere Standorte ist in der Raw Edition umständlich. Ich habe zwei Standorte, die über einen Bonding-Tunnel verbunden sind, plus Server in einem Rechenzentrum. Das will ich nicht von einem einzigen Server aus pollen.
  • SNMP-Discovery ganzer Netze mit automatischer Template-Zuweisung geht, fühlt sich aber nachgeschraubt an.
  • Die Dashboards sind funktional, aber unflexibel. Ein eigenes Lagebild wie unten im Screenshot baut man mit Checkmk nicht ohne Umwege.

Checkmk ist die richtige Wahl, wenn man schnell einen Überblick über 5 bis 50 Server will und die Lizenzgrenzen nicht stören. Für reine Linux-Landschaften mit wenig Netzwerkhardware ist es oft angenehmer als Zabbix.

Zabbix: Die Plattform

Zabbix macht am Anfang keinen Spaß. Das sage ich ganz offen. Man installiert einen Server, eine Datenbank, einen Webserver, PHP, und dann sitzt man vor einer leeren Oberfläche, die aussieht wie ein Verwaltungsprogramm aus dem Jahr 2010. Die Begriffe sind eigen: Items, Trigger, Templates, Actions, Media Types, Discovery Rules, Low-Level Discovery. Nichts davon ist selbsterklärend.

Aber: Alles ist frei. Es gibt keine Enterprise-Version, die Funktionen zurückhält. Über 400 Templates werden mitgeliefert, von Proxmox über Docker, PostgreSQL, MySQL, nginx, UniFi-nahe SNMP-Geräte bis zu Website-Zertifikaten. Und das Konzept ist in sich konsequent. Wenn man es einmal verstanden hat, kann man damit wirklich alles überwachen.

Zabbix Dashboard Lagebild
Mein aktuelles Lagebild: 62 Hosts an vier Standorten, nach zwei Tagen Einrichtung. Alles auf einer Seite. Hostnamen, Domains und IP-Adressen sind unkenntlich gemacht.

Was Zabbix bei mir heute überwacht, mit demselben Server und ohne Zusatzkosten:

  • 15 Linux-Server an mehreren Standorten, inklusive Docker-Container, PostgreSQL, MariaDB, Postfix, Exim, nginx, systemd-Dienste
  • Zwei Proxmox-Hosts mit allen VMs über die Proxmox-API
  • 17 UniFi-Geräte an zwei Standorten per SNMPv3, automatisch gefunden, mit WLAN-Clients pro Access Point und Kanalauslastung je Radio
  • 30 Websites mit Antwortzeit, HTTP-Code und Zertifikatsablauf
  • Mail-Ports eines Mailservers von außen
  • Eine Unraid-Kiste und einen OpenWrt-Router über einen statisch gebauten Agent

Zwei Zabbix-Proxys sammeln die Daten an den entfernten Standorten ein und schicken sie verschlüsselt zum Server. Fällt die Leitung aus, puffern sie 24 Stunden.

Zabbix Web-Monitoring
Web-Szenarien: 30 Domains, jede Minute geprüft, inklusive Redirect-Ketten. Hostnamen, Domains und IP-Adressen sind unkenntlich gemacht.

Was mich an Zabbix nervt, damit das nicht wie Werbung klingt:

  • Die Oberfläche ist überladen. Die Dashboard-Widgets haben Dutzende Felder, und manche davon verhalten sich anders, als man erwartet. Dazu kommt im Dashboard-Artikel mehr.
  • Fehlermeldungen sind oft nichtssagend. „Widget is not fully configured“ sagt nicht, welches Feld fehlt.
  • Die Standard-Templates melden zu viel. Nach dem ersten Tag hat man 30 Warnungen, von denen 25 Rauschen sind. Man muss Schwellwerte anpassen, und zwar pro Gerätetyp.
  • Die Dokumentation ist vollständig, aber trocken. Deutschsprachige Anleitungen zu aktuellen Versionen gibt es praktisch keine. Deshalb diese Serie.

Zabbix vs. Prometheus und Grafana, der Vollständigkeit halber

Die Frage kommt immer. Prometheus mit Grafana ist das Werkzeug für Leute, die ohnehin Container und Kubernetes betreiben und Metriken in Zeitreihen denken. Es ist großartig für Anwendungsmetriken und hübsche Graphen. Für klassische Infrastruktur, also Server, Switches, Access Points, Zertifikate, Mail-Ports, braucht man einen Exporter pro Gerätetyp, eine Alerting-Komponente, Grafana für die Anzeige und viel YAML. Zabbix hat das alles in einem Paket. Wer beides will, hängt Grafana an Zabbix, das Plugin ist offiziell.

Meine Empfehlung

Uptime Kuma, wenn du wissen willst, ob deine Dienste von außen erreichbar sind, und nicht mehr. Ein Nachmittag, fertig, nie wieder anfassen.

Checkmk Raw, wenn du eine überschaubare Anzahl Linux-Server hast, schnell Ergebnisse willst und mit den Lizenzgrenzen leben kannst.

Zabbix, wenn du mehrere Standorte, Netzwerkhardware, Datenbanken und Websites in einem Werkzeug haben willst und bereit bist, zwei Abende in das Konzept zu investieren. Es wächst mit. Meine Installation hat am ersten Tag einen Server überwacht und am zweiten 62 Hosts, ohne dass ich die Architektur ändern musste.

Uptime Kuma hatte ich übrigens auch im Einsatz, inzwischen läuft es bei mir nicht mehr. Eine Rolle hat es trotzdem: Ein Uptime Kuma auf einer zweiten Maschine kann prüfen, ob Zabbix selbst noch lebt. Das ist der eine Fall, den ein Monitoring nicht selbst abdecken kann.

Wie es weitergeht

Im nächsten Teil installieren wir Zabbix auf Ubuntu mit PostgreSQL und nginx, inklusive HTTPS und Firewall, so wie es bei mir produktiv läuft: Zabbix installieren auf Ubuntu.

Häufige Fragen

Ist Zabbix wirklich kostenlos?

Ja. Zabbix ist AGPL-lizenziert, es gibt keine Funktionsgrenzen. Geld verdient die Firma mit Support und Schulungen.

Kann ich Uptime Kuma und Zabbix parallel betreiben?

Ja, und es ist sogar sinnvoll. Uptime Kuma auf einer zweiten Maschine prüft den Zabbix-Server von außen.

Braucht Zabbix viel Leistung?

Für 50 bis 100 Hosts reicht ein VPS mit 2 Kernen und 4 GB RAM. Meine Installation läuft auf genau so einer Maschine, mit PostgreSQL auf derselben Kiste.

Wie lange dauert die Einrichtung realistisch?

Server-Installation eine Stunde. Erste zehn Hosts mit Agent eine weitere Stunde. Danach hängt es davon ab, wie tief man gehen will. UniFi per SNMP mit eigenen Templates hat bei mir einen halben Tag gedauert.

You may also like

Hinterlasse einen Kommentar