Konfiguration eines HTTPS ChecksWeb UI für die Administration und das Einrichten der Checks
2FA per TOTP Authenticator (leider aber ohne Backup-Codes)
Öffentliche Status-Seiten
Grafische Auswertungen der Verfügbarkeit
Checks können gruppiert werden
Benachrichtigungen (Alarme) über viele verschiedene Integrationen (z.B. per E-Mail, Mattermost, Nextcloud Talk, Telegram, ...)
Dienste-Checks wie HTTPS (inkl. Validierung der Gültigkeit von TLS-Zertifikaten), DNS, TCP-Ports, Ping, SNMP, Datenbanken, Docker-Container, etc.
Ergebnis eines HTTPS ChecksMit Tags kann man Checks markieren und bei der Suche eingrenzen
Was nicht damit geht
Kein System-Monitoring auf (Remote) Hosts, z.B. um Last zu prüfen oder laufende Prozesse zu prüfen.
Keine Plugins (wie z.B. bei Nagios/Icinga)
Installation
Am einfachsten lässt sich Uptime Kuma per Docker-Container bzw. Podman installieren. Eine separate Datenbank ist nicht nötig, siehe unten. Die Anbindung ans Internet kann mittels Reverse Proxy eingerichtet werden (entweder auf dem Docker-Host selbst - z.B. per Apache - oder über einen separaten Dienst wie Traefik als Container).
Uptime Kuma 2.x unterstützt MariaDB (neben SQlite), wobei keine separate MariaDB Instanz nötig, da das Image eine Embedded MariaDB Instanz enthält. Bei der Installation kann diese in der Web UI angegeben werden.
Für Pings (vor allem IPv6) sind - zumindest bei Verwendung von Podman - besondere Rechte beim Starten des Containers nötig [2]:
--cap-add=NET_RAW
Bei expliziten IPv6 HTTP Checks scheint es ein Problem mit der Namensauflösung zu geben (getaddrinfo ENOTFOUND)
Selbst-erstellte oder nicht per Public CA validierte TLS-Zertifikate (z.B. von CAcert) werden zwar akzeptiert, wenn man die TLS-Fehler abschaltet, aber die zeitliche Gültigkeit der Zertifikate kann dann nicht überwacht werden.
Das Durchreichen eines CAcert Root CA Zertifikats klappt nicht [3],[4]: