Monitoring mit Uptime Kuma
Vorwort
Um meine Server und Services zu überwachen habe ich lange Zeit auf das Angebot von Uptimerobot gesetzt. Da Uptimerobot sich stark gewandelt hat und mich der neue Weg des Unternehmens nicht überzeugen konnte, habe ich nach einer Alternative gesucht - und bin fündig geworden: Uptime Kuma. Das Projekt ist noch relativ neu und erhält aktuell mit jedem Release neue Features. Trotz des frühen Stadiums verfügt es bereits über zahlreiche Features für Monitoring Arten, darunter HTTP(S), Ping, Test auf einen TCP-Port und die Prüfung auf den hinterlegten DNS Eintrag. Auf Wunsch der Community wurde ebenso eine Option zur Überwachung von Steam Gameservern eingerichtet.
Ebenso zahlreich wie die verfügbaren Optionen zur Überwachung sind die Möglichkeiten zur Benachrichtigung bei Vorfällen: Aktuell sind hierfür über 70 Arten verfügbar, von der klassichen Benachrichtigung via E-Mail, über Discord/Slack Integrationen, sowie Benachrichtigungen für Messenger wie Signal oder Telegram.
Eine Liste an offenen Ideen lässt sich ebenso auf Github finden.
Installation
Optional: Installation von Docker Auf einem frischen System ist möglicherweise noch kein Docker installiert, dies wird im folgenden Schritt nachgeholt.
Zuerst gilt es, die Vorbereitungen zu erfüllen, dass der Paketmanager APT, sicher via HTTPS, die Paketquellen beziehen kann. Hierfür sind folgende Pakete notwendig:
|
|
Anschließend kann der GPG-Key importiert werden:
|
|
Im nächsten Schritt wird der entsprechende Eintrag in den Paketquellen hinterlegt, damit Docker bezogen werden kann:
|
|
Jetzt kann Docker wie gewohnt nachinstalliert werden:
|
|
Installation von Uptime Kuma
Die Installation erfolgt über einen Docker Container und ist binnen weniger Befehle abgeschlossen.
Mit den nachstehenden Befehlen wird Docker zunächst ein Volume mit dem Namen ›uptime-kuma‹ erstellen. Im Nachgang wird das aktuelle Docker Image bezogen und gestartet. Der Port ›3001‹ wird hierbei nach außen veröffentlicht. Der Service ist nach Fertigstellung unter http://localhost:3001 erreichbar.
|
|
Jetzt läuft der Service, ist jedoch zum einen nur auf dem ›localhost‹ erreichbar und zum anderen unsicher (http). Abhilfe soll hier der Einsatz eines Reverse Proxy schaffen. Dazu verwende ich nginx mit folgender Konfiguration:
|
|
Danach noch mit ›nginx -t‹ die Konfiguration auf etwaige Fehler prüfen, bevor mit ›systemctl restart nginx‹ der Webserver neu gestartet wird.
Das wars, Uptime-Kuma läuft und wartet auf die Initiale Erstellung des Administrator Accounts!
Updates durchführen
Von Zeit zu Zeit erscheinen neue Releases, diese sollen natürlich zeitnah eingespielt werden.
Auch dies ist binnen weniger Steps erledigt:
Zuerst wird das neue Docker Image heruntergeladen
|
|
Anschließend der aktuelle Container gestoppt…
|
|
… und entfernt.
|
|
Anschließend wird der neue Container gestartet
|
|