Monitoring mit Uptime-Kuma


Seit einigen Jahren nutze ich den Monitoring-Dienst von Uptimerobot.com, der inzwischen seine kostenfreie Funktionsvielfalt etwas eingeschränkt hat. Daher habe ich mir mal wieder einen Überblick über die verschiedenen Möglichkeiten zur Überwachung von Diensten verschafft.

Eine besonders interessante Alternative – auch aufgrund der sehr ähnlichen Funktionalität und Optik – ist Uptime-Kuma.

Uptime-Kuma
Open-Source-Monitoring Lösung: Uptime-Kuma

Anforderungen an Monitoring

Monitoringlösungen für IT-Systeme bieten eine Vielzahl von Möglichkeiten, um die Leistung und Verfügbarkeit von Systemen sicherzustellen.

  1. Echtzeitüberwachung: Monitoringlösungen überwachen IT-Systeme in Echtzeit, um sicherzustellen, dass alle relevanten Parameter innerhalb der definierten Grenzwerte liegen. Dies umfasst CPU-Auslastung, Speicherplatz, Netzwerkaktivität und andere Leistungsindikatoren.
  2. Verfügbarkeitsüberwachung: Ein zentraler Aspekt des Monitorings ist die Überwachung der Verfügbarkeit von IT-Systemen. Dies beinhaltet die Überwachung von Servern, Netzwerken, Anwendungen und Diensten, um sicherzustellen, dass sie jederzeit für Benutzer verfügbar sind.
  3. Meldungen von Ausfällen: Monitoringlösungen erkennen automatisch Ausfälle oder Leistungsprobleme und generieren sofortige Benachrichtigungen. Diese Meldungen können verschiedene Formen annehmen, darunter E-Mails, SMS, Push-Benachrichtigungen oder Ticketsysteme, um das IT-Personal schnell über Probleme zu informieren.
  4. Differenzierte Benachrichtigungen: Monitoringlösungen ermöglichen es, Benachrichtigungen nach Dringlichkeit zu differenzieren. Kritische Probleme können beispielsweise sofortige Alarme auslösen, während weniger kritische nur als Protokolle gesammelt werden, um später analysiert zu werden.
  5. Verschiedene Kommunikationswege: Die Meldungen von Ausfällen können über verschiedene Kommunikationswege erfolgen, um sicherzustellen, dass das IT-Team schnell und effektiv informiert wird. Das kann E-Mail, SMS, Slack, PagerDuty oder andere Kommunikationsmittel umfassen.
  6. Historische Daten und Analysen: Monitoringlösungen zeichnen historische Daten auf, die für die Analyse von Trends, Kapazitätsplanung und die Identifizierung von wiederkehrenden Problemen genutzt werden können. Dies ermöglicht eine proaktive Wartung und Optimierung von IT-Systemen.
Munin
Echtzeitüberwachung mit Munin

Um detailliertere Informationen zu Grenzwerten und Auslastung der IT-Systeme, wie beispielsweise CPU-Auslastung oder System-Load zu erfahren, nutze ich derzeit Munin. Für die Anforderungen zur Überwachung der Verfügbarkeit, die differenzierte Meldung von Ausfällen über unterschiedliche Benachrichtigungswege hatte ich bisher Uptimerobot.com genutzt. Historische Daten sind sowohl für das Monitoring von Ausfällen interessant als auch zur detaillierteren Analyse spezifischer Vorgänge in IT-Systemen.

Uptime-Kuma

Uptime-Kuma erfreut sich in der Community inzwischen größerer Beliebtheit; im Januar 2024 bereits 43,5k Github-Stars.

Eine Demoplattform kann man sich hier anschauen: https://demo.uptime.kuma.pet/

Die Installation ist einfach über Docker zu organisieren und auf den Github-Seiten gut dokumentiert.

Dashboard

Auf dem Dashboard werden die Informationen zu allen Monitoren angezeigt und in dem voreingestellten Zeitraster aktualisiert.

Status-Seite

Eine Status-Seite ist für öffentliche Nutzer gedacht, um den Status von Diensten einzusehen. Die Status-Seite wird, im Gegensatz zum Dashboard, nur alle 5 Minuten aktualisiert. Man kann mehrere unterschiedliche Status-Seiten anlegen. Man kann Status-Seiten verschiedenen Domain-Namen zuordnen.

Uptime-Kuma: Monitor einrichten

Benachrichtigungen

Uptime-Kuma bietet direkt eine ganze Reihe Möglichkeiten für Benachrichtigungen. Neben klassischen Wegen wie E-Mail und SMS werden auch Chat-Systeme wie Mattermost, Rocket.Chat, Signal, Slack, MS Teams oder Telegram als Benachrichtungs-Wege angeboten. Eine vollständige Liste findet man im Github-Repo. Darüber hinaus können über das Pushnotification-Tool Apprise viele weitere Benachrichtigungs-Möglichkeiten realisiert werden: https://github.com/caronc/apprise/wiki

Wartungsmodus

Über den Wartungsmodus können vorübergehende Meldungen während eines Zeitfensters als Wartungsmeldung auf Status-Seiten angezeigt werden.

Badge

Beispiel für ein Badge

Es gibt verschiedene Möglichkeiten, Badges zu erstellen, die später an beliebigen Stellen in eigene Webseiten integriert werden können.

Weitere Möglichkeiten

Es gibt die Möglichkeit, über eine API auf Uptime-Kuma zuzugreifen. Außerdem gibt es schon eine Reihe anderer Projekte, wie Apps und Schnittstellen, mit denen man Daten aus Uptime-Kuma darstellen kann. Beispielsweise die Möglichkeit, Monitore auf Tasten des Elgato-Stream-Decks zu legen: https://github.com/MarlBurroW/Streamdeck-Uptime-Kuma