Veröffentlicht am 22. April 2023 -
Seit kurzem haben wir nicht nur einen Server für unsere Hostingkunden und eine eigene Nextcloudinstanz, sondern auch einen eigenen Server als Entwicklungsumgebung für unsere Webdesignkunden. Da wir für Sie gerne eine möglichst 100%ige Erreichbarkeit unserer Systeme gewährleisten wollen, ist eine Überwachung der Server und Cloud unerlässlich. Eine einfache und doch umfassende Lösung bietet Uptime Kuma. Die Installation ist für technisch Interessierte relativ problemlos zu bewerkstelligen, gerne stellen wir Ihnen im folgenden eine genaue Schritt-für-Schritt-Anleitung zur Verfügung. Sie trauen sich die Installation nicht zu oder haben Probleme bei der Einrichtung? Kein Problem! Wir helfen Ihnen gerne weiter.
Was kann Uptime Kuma?
Uptime Kuma ist ein kostenloses Open-Source-Tool zur Überwachung von Servern, Webseiten und anderen System und ihrer Verfügbarkeit. Es ermöglicht Benutzern, die Systeme rund um die Uhr zu überwachen und sendet Benachrichtigungen, sobald eines der Systeme ausfällt. Außerdem bietet Uptime Kuma Statistiken zu Up- und Downtime und lässt sich darüber hinaus noch spielend einfach einrichten und konfigurieren.
Die Installation
Für das vorliegende Installationsbeispiel haben wir einen vServer mit Ubuntu 22.04 LTS (Jammy Jellyfish) eingerichtet. Außerdem haben wir eine Subdomain angelegt - der entsprechende A-Record im DNS zeigt direkt auf die IP unseres vServers. Ob Sie die Einträge korrekt gesetzt haben, können Sie relativ einfach überprüfen: Wählen Sie in Ihrem SSH-Client (bspw. PuTTY) als Hostname die Subdomain. Verbindet sich der Client mit dem Server, sind die DNS-Einträge korrekt gesetzt.
1. Schritt: Update von Ubuntu 22.04
Wenn Sie sich mit Rootrechten auf Ihrem Server angemeldet haben, kann die Installation von Uptime Kuma beginnen. Zunächst prüfen Sie den Server auf verfügbare Updates und installieren diese mit
sudo apt update && sudo apt upgrade
.
2. Schritt: Anlegen eines neuen Benutzers
Es empfiehlt sich, Uptime Kuma nicht direkt mit Root-Rechten zu installieren, sondern dafür einen neuen Benutzer anzulegen. Dieses geschieht mit
useradd -m -s /bin/bash uptimekuma
Unser Benutzer heißt also (wenig einfallsreich) uptimekuma, natürlich können Sie auch einen anderen Benutzernamen wählen. Durch obigen Befehl wird nicht nur der Benutzer erstellt sondern durch den Zusatz -m auch automatisch ein neues Verzeichnis für den Benutzer erstellt, welches unter /home zu finden ist.
Mit dem Befehl passwd uptimekuma
kann im Anschluss ein Passwort für den neuen Benutzer gesetzt werden. Mit usermod -aG sudo uptimekuma
fügen wir den neu erstellten Nutzer der Gruppe sudo hinzu. Hierdurch kann dieser User bei Bedarf Rootrechte erhalten.
3. Schritt: Node.js und NPM installieren
Zunächst wechseln Sie mit su uptimekuma
zu unserem soeben erstellten Nutzer.
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
Hierdurch wird der Repository-Schlüssel von Node.js hinzugefügt und die Paketliste aktualisiert, um dann mit sudo apt install nodejs
die Javascript-Laufzeitumgebung Node.JS zu installieren.
Mittels node -v; npm -v
können Sie die soeben installierte Version von Node.JS und dem dazugehörigen Paketmanager NPM prüfen.
4. Schritt: Installation von Uptime Kuma
Nun kommen wir auch schon zur eigentlichen Installation des Servermonitors Uptime Kuma, hierzu installieren Sie auf Ihrem Server zunächst Git mit dem Befehl sudo apt install git
.
Mit dem Befehl git clone https://github.com/louislam/uptime-kuma.git
klonen wir die aktuellste Version von Uptime Kuma auf unseren Server.
Mit cd uptime-kuma
rufen Sie dann das Installationsverzeichnis auf und starten das Setup mit npm run setup
. Den Rest sollte Ihr Server von selbst erledigen, im Terminal können Sie den Fortschritt der Installation verfolgen. Etwaige WARN deprecated-Meldungen können Sie erst einmal getrost ignorieren.
5. Schritt: Installation von PM2
Als nächstes installieren Sie PM2 (was schlicht und ergreifend eine Abkürzung für Process Manager 2 ist). Dieses Tool ist in der Lage, Node.js-Anwendungen zu starten, zu stoppen, neu zu starten, zu überwachen und vieles vieles mehr.
sudo npm install pm2 -g
Mit dem Code pm2 start server/server.js --name kuma
starten Sie Uptime Kuma nun auf Ihrem Server. Der Code pm2 startup
sorgt dafür, dass PM2 bei jedem Reboot Ihres Servers automatisch gestartet wird. Hierzu gibt Ihnen Ihr Terminal einen Befehl zurück, den Sie kopieren und ausführen - damit ist auch dieser Schritt erledigt.
Im Grunde haben Sie es nun schon geschafft, wechseln Sie in den Browser und geben Sie http://IP-ADRESSE-IHRES-SERVERS:3001
ein. Sie sollten nun die Eingabemaske für die Ersteinrichtung von Uptime Kuma zu Gesicht bekommen. Das können Sie an dieser Stelle natürlich schon machen, besonders schön ist die Lösung mit IP-Adresse, Port und ohne SSL-Zertifikat aber natürlich nicht, daher beachten Sie auch noch die nächsten Schritte.
Installation von nginx
Um bequem mit unserer zuvor erstellten (Sub-)Domain auf Uptime Kuma zugreifen zu können, installieren und konfigurieren wir im folgenden noch den Webserver nginx und richten eine Firewall ein.
Das ist im Grunde sehr einfach, sudo apt install nginx
installiert den Webserver, sudo ufw allow "Nginx Full"
öffnet die benötigten Ports unserer Firewall und sudo ufw enable
aktiviert diese. Nun müssen Sie dem Server natürlich noch sagen, auf welche Domain er hören soll. Dazu erstellen Sie mit
sudo nano /etc/nginx/sites-available/uptimekuma
(oder vim oder ein anderer Editor Ihrer Wahl) eine neue Konfigurationsdatei, der Sie den folgenden Inhalt hinzufügen:
server {
listen 80;
server_name sub.domain.com;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
Mit sudo ln -s /etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabled/
erstellen Sie anschließend einen symlink, der es nginx ermöglicht, die Datei zu lesen und auszuführen. Das Ganze können Sie einmal mit nginx -t
prüfen, Ihr Terminal sollte
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
zurückgeben.
Mit systemctl start nginx
starten wir nun den Webserver und sorgen mit systemctl enable nginx
dafür, dass er auch bei einem Reboot des Servers automatisch gestartet wird.
Nun sollte Uptime Kuma bereits im Browser über http://ihre-domain.tld aufrufbar sein.
Installation eines SSL-Zertifikats
Für einen sicheren Betrieb von Uptime Kuma empfiehlt es sich, ein SSL-Zertifikat zu installieren. Wir nutzen hier einfach ein kostenloses Let's Encrypt - Zertifikat.
Mit sudo apt install certbot python3-certbot-nginx
installieren Sie Certbot, wodurch das Zertifikat ausgestellt wird und das dazugehörige nginx-Plugin. Mit diesem ist die automatische Verlängerung des Zertifikats möglich, ohne dass Sie dieses (nach spätestens 90 Tagen) händisch aktualisieren müssen.
sudo certbot --nginx -d ihredomain.tld
startet Certbot. Im Verlauf der Einrichtung Ihres SSL-Zertifikats wird Ihre Email-Adresse abgefragt, Sie müssen die Nutzungsbedingungen bestätigen und haben die Möglichkeit, einen Newsletter zu abonnieren. Im weiteren Verlauf wird Ihr Let's Encrypt-Zertifikat ausgestellt. Congratulations!.
Um zu überprüfen, ob der Timer für die automatische Verlängerung des Zertifikats auch funktioniert, können Sie mit sudo systemctl status certbot.timer
den Status überprüfen. Der Timer sollte zweimal täglich die Gültigkeit Ihres Zertifikats prüfen und bei nur noch wenigen Tagen Laufzeit ggf. verlängern.
Ob die Verlängerung dann auch funktioniert, können Sie mit einem sog. dry run testen: sudo certbot renew --dry-run
. Ist auch dieser Test erfolgreich, haben Sie die Installation nicht nur des SSL-Zertifikats, sondern auch Ihrer Uptime Kuma - Instanz geschafft. Sie sollten diese nun über https://ihredomain.tld aufrufen können.
Herzlichen Glückwunsch - Sie haben es geschafft!
Schauen Sie sich erst einmal in Ruhe um und begeben sich dann an die Einrichtung Ihrer Systeme, der Statusseite und Email-Benachrichtigungen bei etwaigen Ausfällen von Webseite, Servern etc. - viel Spaß!
Sie brauchen Hilfe?
Installation fehlgeschlagen? Sie trauen sich die oben genannten Schritte nicht zu? Sie brauchen weitere Hilfe bei der Einrichtung von Uptime Kuma?
Sprechen Sie uns an! Wir helfen Ihnen gerne, damit auch Sie mit Uptime Kuma in Zukunft all' Ihre Systeme überwachen können.