Zum Hauptinhalt springen

selbst gehostet im Vergleich

Uptime Kuma vs. Gatus: Klicks oder YAML?

Die zwei beliebtesten selbst gehosteten Monitore beantworten eine Frage unterschiedlich: Soll Überwachung in einem Dashboard zusammengeklickt werden, oder in einer Datei deklariert und in einem Pull Request geprüft? Alles andere folgt aus dieser Trennung.

Die Tabelle unten ist der ganze Vergleich, ungekürzt. Lesen Sie sie ruhig zuerst, es ist dieselbe, die wir Ihnen schicken würden.

AGPL-3.0 · eine Binärdatei · kostenloser Tarif · keine Karte nötig

~/monitoring

cat gatus.yaml

  1. endpoints:
  2. - name: api
  3. url: "https://api.acme.dev/health"
  4. interval: 60s
  5. conditions:
  6. - "[STATUS] == 200"
  7. - "[RESPONSE_TIME] < 300"
  8. # redeploy the config to apply

NUR YAMLGatus hat keine UI zum Bearbeiten, jede Änderung heißt also neu ausrollen

cat uptimepage.tf

  1. resource "uptimepage_target" "api" {
  2. name = "api"
  3. interval = 60
  4. check = {
  5. type = "http"
  6. http = { url = "https://api.acme.dev/health" }
  7. }
  8. }

KONFIGURATION ALS CODEderselbe Monitor, deklariert oder in der UI zusammengeklickt

history | tail -1

  1. curl -X POST https://app.uptimepage.dev/api/v1/targets \
  2. -H "Authorization: Bearer $UPTIMEPAGE_TOKEN" \
  3. -d '{"name":"api","interval":60,
  4. "check":{"type":"http",
  5. "http":{"url":"https://api.acme.dev/health"}}}'

201 CREATEDMonitor aktiv, und sein erster Check läuft sofort

wie der Terraform-Provider einen deklariert →

wann Uptime Kuma passt

Es ist Ihr Homelab, Sie wollen die längste Liste an Checks und Intervalle von einer Sekunde, und ein gemeinsamer Login genügt.

wann Gatus passt

Jeder Check gehört in Git, das Dashboard ist für Sie und Ihr Team, und niemand außerhalb muss es sehen.

wann Uptimepage passt

Kunden brauchen eine Statusseite, die sie abonnieren können, Teammitglieder brauchen eigene Konten, und die Konfiguration soll trotzdem in Git liegen.

Kostenlos starten →

Die Fakten nebeneinander

  Uptime KumaGatusUptimepage
Lizenz MITApache-2.0AGPL-3.0
Konfiguration nur UInur YAML, UI schreibgeschütztUI + Terraform + REST + MCP
selbst betreiben ein Container (Node)winzige statische Binärdateieine Binärdatei + compose
gehostete Option neingatus.io, kostenpflichtigja, kostenloser Tarif
Check-Typen 31 inkl. DBs · MQTT · Browser11 Protokolle inkl. gRPC · SSH · WebSocketHTTP · TCP · DNS · TLS · Domain · Ping · Heartbeat · Flow · manuell
kürzestes Intervall 1 skeine dokumentierte Untergrenze, Standard 60 s60 s kostenlos · 30 s Team · 10 s selbst gehostet
Statusseite ja, eigene DomainsDashboard dient als Seiteeigene Marke, eigene Domain mit Pro
Abonnenten der Seite nur RSSkeineE-Mail · Webhook
Störungen von Hand veröffentlichtkeineautomatisch aus Checks eröffnet
Teams und Rollen ein gemeinsamer Logineine Basic-Auth- oder OIDC-SchrankeOrganisationen + Rollen
Alarmkanäle 94 Dienste41 AnbieterSlack · Telegram · PagerDuty · SMS + mehr
Community (GitHub-Sterne) ~89k~11,4kjung

Die Zahlen für Kuma enthalten den Apprise-Meta-Provider und Typen, die außerhalb seines Moduls monitor-types implementiert sind; die Zahl der Gatus-Anbieter stammt aus seinem README.

Sternezahlen von GitHub, gerundet, Juli 2026.

Im Juli 2026 anhand beider Repositorys geprüft. Zu aktualisieren, sobald ein Projekt eine neue Version veröffentlicht.

Die Trennung, die entscheidet

Uptime Kuma ist ein Dashboard zum Klicken: Monitor hinzufügen, Typ wählen, Benachrichtigung anbinden, alles in seiner Datenbank gespeichert. Gatus hat keine Oberfläche zum Bearbeiten: Jeder Endpoint ist YAML in der Versionsverwaltung, die Web-UI ist schreibgeschützt, und eine Änderung bedeutet, die Konfiguration neu auszurollen. Keins von beiden ist falsch. Das eine passt zu einem Homelab und zu jemandem, der im Browser denkt; das andere zu einem Entwickler, der in Git denkt und Überwachung wie Code reviewen will.

Was jedes der beiden gut kann

Kuma gewinnt bei der Breite: 31 Monitortypen, darunter Datenbanken, MQTT, SNMP und ein echter Browser-Check, 94 Benachrichtigungsdienste, Intervalle von einer Sekunde seit der 2.x-Reihe und die größte Community der Kategorie. Gatus gewinnt bei der Disziplin: elf Endpoint-Protokolle, darunter gRPC, SSH, WebSocket und UDP, eine Bedingungssprache, die Status, Antwortzeit, JSON-Body-Pfade, Zertifikatsablauf und Domain-Ablauf prüft, und eine winzige statische Go-Binärdatei, die sogar ohne Datenbank laufen kann.

Was keines von beiden bietet

Eine Statusseite für Kunden mit Abonnenten, und ein Team. Die Statusseiten von Kuma sind echt, aber niemand kann sie abonnieren, und die ganze App hat einen einzigen gemeinsamen Login. Das Dashboard von Gatus dient zugleich als Statusseite: gut für ein internes Dashboard, nichts, was Sie Kunden zeigen, und die Zugriffskontrolle ist eine einzige Basic-Auth- oder OIDC-Schranke. Beide prüfen von dort aus, wo Sie sie betreiben, es sei denn, Sie richten selbst weitere Instanzen ein oder nutzen den Monitortyp Globalping von Kuma.

Wo Uptimepage passt

Endet die Debatte YAML gegen Klicks mit „eigentlich müssen Kunden eine Statusseite sehen und Teammitglieder eigene Konten haben“, dann ist das die Lücke, die Uptimepage füllt. Checks über HTTP, TCP, DNS, TLS, Domain, Ping, Heartbeat und Flow, eingerichtet in der UI oder deklariert mit dem Terraform-Provider und der REST-API, Organisationen mit Rollen, Sonden in mehreren Regionen, die Sie selbst betreiben können, und eine Statusseite mit Ihrer Marke und E-Mail- und Webhook-Abonnenten, auf der sich Störungen automatisch öffnen. Eine Binärdatei, kostenlos gehostet oder unter AGPL selbst gehostet.

  1. 01Melden Sie sich mit GitHub oder Google an. Keine Karte, kein Verkaufsgespräch.
  2. 02Fügen Sie eine URL ein. Der erste Check läuft, bevor Sie diesen Satz zu Ende gelesen haben.
  3. 03Veröffentlichen Sie die Statusseite, oder exportieren Sie sie nach Terraform und behalten Sie sie in Git.
acme cloud status.acme.dev abonnieren

alle Systeme in Betrieb vor 12 s geprüft

api99,98 %

p95 142 ms · eine Störung in 45 Tagen

dashboard99,91 %

p95 318 ms · zwei beeinträchtigte Tage

webhooks99,99 %

p95 88 ms · keine Störungen

BEHOBEN14 Min.

Erhöhte Latenz bei der Dashboard-API

14:22 behoben, Latenz wieder unter 300 ms

14:08 automatisch vom Dashboard-Check eröffnet

verfügbar beeinträchtigt ausgefallen 45 Tage · E-Mail- und Webhook-Abonnenten

Eine Beispielseite. Die Monitore, die Prozentwerte und die Störung sind erfunden.

Häufige Fragen

Ist Gatus besser als Uptime Kuma?
Nur für ein Team, das seine Überwachung in der Versionsverwaltung haben will. Gatus deklariert jeden Endpoint in YAML und prüft Status, Antwortzeit, JSON-Body-Pfade und Zertifikatsablauf, und das lässt sich reviewen wie Code. Uptime Kuma deckt weit mehr Monitortypen und Benachrichtigungsdienste ab und braucht überhaupt keine Konfigurationsdatei. Keines von beiden ist schlicht besser; sie beantworten verschiedene Fragen.
Soll ich Uptime Kuma oder Gatus wählen?
Wählen Sie nach Arbeitsweise. Wollen Sie Monitore in einem Dashboard zusammenklicken, Kuma. Wollen Sie jeden Check in YAML deklarieren, in einem Pull Request prüfen und wie Code ausrollen, Gatus. Funktionslisten zählen weniger als diese Trennung.
Kann Gatus eine Statusseite ersetzen?
Für einen internen Ops-Bildschirm ja: Sein Dashboard zeigt Zustand, Badges und Ankündigungen. Für Kunden nein: Es gibt keine Abonnenten, keinen Störungsverlauf und kein Branding außer dem, was Sie selbst drumherum bauen.
Welches ist leichter zu betreiben?
Gatus. Es ist eine kleine statische Go-Binärdatei, die sogar ohne Datenbank laufen kann. Kuma ist eine Node.js-App in einem Container, immer noch leicht, nur nicht so leicht.
Und wenn ich Teams oder eine API brauche?
Keines von beiden bietet echte Mehrbenutzerfähigkeit oder eine Verwaltungs-API. Diese Lücke füllen Tools wie Uptimepage und OpenStatus: Organisationen mit Rollen, eine REST-API und ein Terraform-Provider zusätzlich zu den Checks.

Links

In unter 5 Minuten startklar.

Kostenlos starten

Funktionen · Preise · Notizen