GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Kuma - Self-hosted Uptime Robot Alternative unter Ubuntu 20.04

Uptime-Kuma ist ein Open-Source-Überwachungstool wie „Uptime Robot“, das in Nodejs geschrieben wurde. Es ist ein selbst gehostetes Überwachungstool mit einem schicken, schönen Dashboard und unterstützt mehrere Benachrichtigungsmethoden. Der Uptime-Kuma überwacht die Betriebszeit von Hosts oder Servern über die Protokolle HTTP(s), TCP und Ping. Wenn Hosts in solchen Intervallzeiten nicht über diese Protokolle erreicht werden können, senden die Uptime-Hosts Benachrichtigungen über Webhooks, Telegram, Discord, Gotify, Slack, Pushover, E-Mail (SMTP) usw.

In dieser Anleitung erfahren Sie, wie Sie Uptime-Kuma auf einem Ubuntu-Server installieren und den Apache-Webserver als Reverse-Proxy mit einem kostenlosen SSL-Zertifikat von Let’s Encrypt davor verwenden. Während der Installation erfahren Sie auch etwas über die Installation von nodejs über nvm (Node Version Manager).

Voraussetzungen

  • Ein Ubuntu-Server 20.04.
  • Ein Benutzer mit Root-Rechten. Sie werden diesen Benutzer verwenden, um neue Pakete zu installieren und Systemeinstellungen zu ändern.

Neuen Benutzer hinzufügen

Als erstes fügen Sie dem Ubuntu-System einen neuen Benutzer hinzu. Aus Sicherheitsgründen wird die Anwendung Uptime-Kuma als Nicht-Root-Benutzer ausgeführt.

1. Fügen Sie einen neuen Benutzer hinzu, indem Sie den folgenden Befehl ausführen. Für dieses Beispiel verwenden wir den Benutzernamen „johndoe ". Achten Sie darauf, den Benutzernamen durch Ihren eigenen zu ersetzen.

useradd -m -s /bin/bash johndoe

Optionen, die Sie kennen müssen:

  • -m =automatisch das Home-Verzeichnis für den Benutzernamen erstellen, das unter dem '/home'-Verzeichnis verfügbar sein wird.
  • -s =Definiere den Pfad der Shell für den Benutzer, die meisten Linux haben die `/bin/bash Shell.

2. Führen Sie danach den folgenden Befehl aus, um das Passwort für den Benutzer „johndoe“ einzurichten.

passwd johndoe

Geben Sie nun ein neues starkes Passwort ein und wiederholen Sie es, und drücken Sie dann "Enter". " zu bestätigen.

3. Fügen Sie als Nächstes den Benutzer „johndoe“ zur Gruppe „sudo hinzu " mit dem folgenden Befehl.

usermod -aG sudo johndoe

Durch das Hinzufügen von Benutzern zur Datei „sudo "-Gruppe erlaubt es Benutzern, "sudo su" auszuführen Befehl und holen Sie sich die Root-Rechte.

Installieren Sie NVM (Node Version Manager)

NVM oder Node Version Manager ist ein Befehlszeilentool zum Installieren mehrerer nodejs-Versionen auf einem System. Mit diesem Tool können Sie eine bestimmte nodejs-Version für Ihre Anwendungen installieren, wodurch Ihre Entwicklungs- und Bereitstellungsumgebung flexibel wird.

In dieser Phase installieren Sie nvm unter dem Nicht-Root-Benutzer „johndoe“.

1. Melden Sie sich von Ihrer Root-Shell mit dem folgenden Befehl beim Benutzer „johndoe“ an.

su - johndoe

2. Laden Sie das nvm-Installationsskript wie folgt herunter und führen Sie es aus.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

3. Nachdem Sie erfolgreich waren, laden Sie die Bash-Umgebung mit dem folgenden Befehl neu.

source ~/.bashrc

4. Überprüfen Sie nun die Datei „nvm " Installation durch Ausführen des folgenden Befehls.

Befehl -v nvm

Wenn Ihre Installation erfolgreich war, sehen Sie das Ergebnis „nvm ". Andernfalls sehen Sie nichts oder ein leeres Ergebnis.

Führen Sie nun den nvm-Befehl wie unten beschrieben aus.

nvm --help

Und Sie sehen die manuelle Hilfeseite des Befehls nvm.

Node Version Manager (v0.38.0)

Hinweis: bezieht sich auf jede versionähnliche Zeichenfolge, die nvm versteht. Dazu gehören:
  – vollständige oder teilweise Versionsnummern, beginnend mit einem optionalen „v“ (0.10, v0.1.2, v1)
  – standardmäßige (integrierte) Aliase:node, stable, unstable, iojs , system
  - benutzerdefinierte Aliase, die Sie mit "nvm alias foo" definieren

 Alle Optionen, die eine farbige Ausgabe erzeugen, sollten die Option "--no-colors" berücksichtigen.

Verwendung:
  nvm --help                                 Diese Meldung anzeigen
    --no-colors                               Farbige Ausgabe unterdrücken

.....

Hinweis:
  zum Entfernen, Löschen oder Deinstallieren von nvm – entfernen Sie einfach den Ordner „$NVM_DIR“ (normalerweise „~/.nvm“)

Installieren Sie die Nodejs LTS-Version

Um die uptime-Kuma-Anwendung zu installieren, müssen Sie nodejs>=14 installieren , git und pm2 . An diesem Punkt installieren Sie die neueste Version von nodejs LTS mit dem Befehl nvm.

1. Führen Sie den folgenden nvm-Befehl aus, um die neueste Version von nodejs LTS zu installieren.

nvm install --lts

Sobald die Installation erfolgreich ist, sehen Sie eine ähnliche Ausgabe wie unten.

Die erste nodejs-Version, die Sie installieren, wird zur Standardversion in Ihrer Entwicklungsumgebung.

2. Führen Sie nun den folgenden Befehl aus, um die Installation von nodejs zu überprüfen.

node --version
npm --version

Wenn Ihre Installation erfolgreich ist, sehen Sie eine ähnliche Ausgabe wie unten.

# nodejs-Version
v14.17.4

# npm-Version
6.14.14

Uptime-Kuma herunterladen und installieren

An diesem Punkt können Sie die Uptime-Kuma-Anwendung installieren.

1. Klonen Sie den uptime-Kuma-Quellcode mit dem untenstehenden git-Befehl.

git-Klon https://github.com/louislam/uptime-kuma.git

2. Ändern Sie danach das Arbeitsverzeichnis in „uptime-kuma/ " und führen Sie den npm-Befehl aus, um alle erforderlichen Pakete für uptime-kuma zu installieren.

cd uptime-kuma/
npm run setup

Und Sie werden eine ähnliche Ausgabe wie unten sehen.

Einrichten von Uptime-Kuma mit pm2

Was ist pm2? Es ist ein Nodejs-Prozessmanager, der Ihnen hilft, Ihre Nodejs-Anwendung für immer zu verwalten und am Leben zu erhalten. pm2 verfügt über einige integrierte Funktionen, die die Bereitstellung der nodejs-Anwendung vereinfachen. Sie können damit Ihren Anwendungsstatus und Protokolle überwachen und sogar die Servicedatei für Ihre Anwendung einrichten.

1. Installieren Sie das pm2-Paket mit dem folgenden npm-Befehl.

npm installiert pm2

2. Führen Sie nach Abschluss der Installation den folgenden Befehl pm2 aus, um die Anwendung uptime-kuma zu starten.

pm2 start npm --name uptime-kuma -- run start-server -- --port=3001 --hostname=127.0.0.1

Und Sie werden die Ausgabemeldungen wie unten sehen.

Wie im Bild zu sehen, ist der Anwendungsname „uptime-kuma " läuft mit dem Status "online ".

3. Um den Status Ihrer Anwendung auf pm2 zu überprüfen, führen Sie die folgenden Befehle unten aus.

Überprüfen Sie den Anwendungsstatus von nodejs.

pm2-Status

Überprüfen Sie die Anwendungsprotokolle von nodejs.

pm2-Protokolle

Überwachung der Nodejs-Anwendung in Echtzeit.

pm2-Überwachung

4. Führen Sie als Nächstes den folgenden pm2-Befehl aus, um die Dienstdatei für die Anwendung uptime-kuma zu generieren.

Start von pm2

Danach sollten Sie den Befehl wie in der Ausgabe angeordnet ausführen.

sudo env PATH=$PATH:/home/johndoe/.nvm/versions/node/v14.17.4/bin /home/johndoe/.nvm/versions/node/v14.17.4/lib/node_modules/pm2/bin /pm2 startup systemd -u johndoe --hp /home/johndoe

Achten Sie darauf, das "sudo" zu verwenden " Befehl und geben Sie das richtige Passwort für Ihren Benutzer ein, um die Root-Rechte zu erhalten.

Sobald der Befehl abgeschlossen ist, sehen Sie die folgende Ausgabe.

Wie auf dem Screenshot zu sehen, generiert pm2 basierend auf dem Benutzer einen systemd-Dienst, in diesem Beispiel „pm2-johndoe.service ".

Führen Sie nun den folgenden Befehl aus, um den Anwendungsstatus uptime-kuma zu generieren und zu speichern. Dieser Befehl ist wichtig, damit die uptime-kuma-Anwendung auch nach dem Systemstart immer im Hintergrund läuft.

pm2 speichern

5. Um den Dienst 'pm2-johndoe' zu überprüfen , führen Sie den folgenden Befehl aus.

sudo systemctl is-enabled pm2-johndoe

Sie sehen die Ausgabe `enabled `, was bedeutet, dass die uptime-kuma-Anwendung automatisch nach dem Systemstart ausgeführt wird.

Außerdem können Sie versuchen, Ihr System neu zu starten und sich erneut beim Server anzumelden, und dann den uptime-kuma-Dienst überprüfen.

sudo systemctl status pm2-johndoe

Und Sie sollten eine ähnliche Ausgabe wie unten sehen.

? pm2-johndoe.service – PM2-Prozessmanager
     Geladen:geladen (/etc/systemd/system/pm2-johndoe.service; aktiviert; Herstellervoreinstellung:aktiviert)
     Aktiv:aktiv (läuft) seit Dienstag 2021 -08-10 01:52:37 UTC; Vor 3min 57s
       Dokumente:https://pm2.keymetrics.io/
   Haupt-PID:745 (PM2 v5.1.0:Gott)
      Aufgaben:34 (Limit:2343)
     Speicher:120,4 MB
     CGroup:/system.slice/pm2-johndoe.service
             ??745 PM2 v5.1.0:God Daemon (/home/johndoe/.pm2)
             ?? 772 npm
             ??873 sh -c node server/server.js "--port=3001" "--hostname=127.0.0.1"
             ??874 node server/server.js --port =3001 --hostname=127.0.0.1

10. August 01:52:36 ubuntu64 pm2[633]:[PM2] Spawning PM2-Daemon mit pm2_home=/home/johndoe/.pm2
10. August 01:52:37 ubuntu64 pm2[633]:[PM2] PM2 erfolgreich daemonisiert
10. August 01:52:37 ubuntu64 pm2[633]:[PM2] wird wiederbelebt
10. August 01:52:37 ubuntu64 pm2[633]:[PM2] Wiederherstellung von Prozessen in /home/johndoe/.pm2/dump.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]:[PM2] Prozess /home/johndoe /.nvm/versions/node/v14.17.4/bin/npm wiederhergestellt

Der "pm2-johndoe.service " ist beim Systemstart aktiv und läuft.

Apache als Reverse-Proxy einrichten

In diesem Handbuch installieren und konfigurieren Sie den Apache-Webserver als Reverse-Proxy für die Uptime-Kuma-Anwendung.

1. Führen Sie den folgenden Befehl aus, um Apache-Webserverpakete zu installieren.

sudo apt install apache2

Geben Sie "y" ein und drücken Sie "Enter ", um den Apache-Webserver zu installieren.

2. Aktivieren Sie danach einige Apache-Module mit dem folgenden Befehl.

sudo a2enmod ssl proxy proxy_ajp proxy_wstunnel proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html

3. Erstellen Sie als Nächstes eine neue virtuelle Hostkonfiguration „uptime-kuma.conf“. ' mit dem folgenden Nano-Editor-Befehl.

sudo nano /etc/apache2/sites-available/uptime-kuma.conf

Fügen Sie die folgende Konfiguration in Ihre Terminal-Shell ein und ändern Sie den Domänennamen „uptime.example.net " mit Ihrer Domain, z. B. "domain.com ".


  ServerName uptime.example.net

  ProxyPass / http://localhost:3001/
  RewriteEngine on
  RewriteCond %{ HTTP:Upgrade} Websocket [NC]
  RewriteCond %{HTTP:Connection} upgrade [NC]
  RewriteRule ^/?(.*) "ws://localhost:3001/$1" [P,L ]

Drücken Sie "Strg+x " und geben Sie "Y ein " um die Konfiguration zu speichern.

4. Aktivieren Sie nun die Apache Virtual-Host-Konfiguration "uptime-kuma" mit dem folgenden Befehl.

sudo a2ensite uptime-kuma

Führen Sie danach den folgenden Befehl aus, um die Apache-Konfiguration zu überprüfen und sicherzustellen, dass Sie keinen Fehler haben.

sudo apachectl configtest

5. Wenden Sie nun die neue Konfiguration an, indem Sie den Apache-Dienst mit dem folgenden Befehl neu starten.

sudo systemctl reset apache2

Sichern von Uptime-kuma mit SSL Letsencrypt

Um den Uptime-Kuma-Zugriff zu sichern, richten Sie das SSL von Letsencrypt für den Apache-Webserver ein.

1. Installieren Sie zunächst das certbot-Tool, indem Sie den folgenden Befehl ausführen.

sudo apt install python3-certbot-apache

Geben Sie "j ein " und drücken Sie "Enter " um die Installation zu starten.

2. Generieren Sie nach Abschluss der Installation das SSL-letsencrypt mit dem certbot-Befehl wie unten beschrieben.

sudo certbot --apache yourdomain.com

Geben Sie Ihre E-Mail-Adresse ein, um sich bei Letsencrypt zu registrieren, und drücken Sie „Enter ", um fortzufahren. Letsencrypt sendet E-Mails an Ihre E-Mail-Adresse, wenn Ihre SSL-Zertifikate ablaufen.

```
Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.log
Ausgewählte Plugins:Authenticator Apache, Installer Apache
Geben Sie die E-Mail-Adresse ein (wird für dringende Erneuerung und Sicherheit verwendet Benachrichtigungen) (Geben Sie 'c' ein, um
abzubrechen):[email protected]

Geben Sie für die Letsencrypt TOS (Terms of Service) „A ein " zustimmen und drücken Sie "Enter " um fortzufahren.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bitte lesen Sie die Nutzungsbedingungen unter
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen
zustimmen, um sich beim ACME-Server unter
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)zustimmen/(C)abbrechen:A

Für die E-Mail-Freigabe mit EFF (Electronic Frontier Foundation) können Sie „Y eingeben " für ja und "N " für nein. In diesem Beispiel geben wir keine E-Mail-Adresse an EFF weiter.

Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier
Foundation zu teilen, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen
Organisation, die Certbot entwickelt? Wir möchten Ihnen E-Mails über unsere Arbeit
Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(ja)/(n)nein:N

Jetzt generiert das certbot-Tool SSL Letsencrypt für den Uptime-Kuma-Domänennamen. Außerdem werden einige zusätzliche Konfigurationen für die Konfiguration des virtuellen Apache-Hosts hinzugefügt.

Sie werden aufgefordert, die automatische Umleitung von HTTP zu HTTPS einzurichten. Geben Sie die Zahl "2" ein um die automatische Apache-Umleitung von HTTP zu HTTPS einzurichten, und drücken Sie "Enter ".

```
Bitte wählen Sie, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht, und den HTTP-Zugriff entfernen.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1:Keine Umleitung - Nehmen Sie keine weiteren Änderungen an der Webserver-Konfiguration vor.
2:Umleitung - Alle Anfragen werden umgeleitet um den HTTPS-Zugriff zu sichern. Wählen Sie dies für
neue Websites oder wenn Sie sicher sind, dass Ihre Website mit HTTPS funktioniert. Sie können diese
Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2

Sobald der Bereitstellungsprozess erfolgreich ist, sehen Sie eine ähnliche Ausgabe wie unten.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Herzlichen Glückwunsch! Sie haben https://uptime.example.net erfolgreich aktiviert

Sie sollten Ihre Konfiguration testen unter:
https://www.ssllabs.com/ssltest/analyze.html?d=uptime.example.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

WICHTIGE HINWEISE:
 - Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:
   /etc/letsencrypt/live/uptime.example.net/fullchain.pem
   Ihre Schlüsseldatei wurde gespeichert unter:
   /etc/letsencrypt/ live/uptime.example.net/privkey.pem
   Ihr Zertifikat läuft am 10.10.2021 ab. Um zukünftig eine neue oder optimierte
   Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut
   mit der Option "certonly" aus. Um *alle*
   Ihrer Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus.
 - Ihre Kontoanmeldeinformationen wurden in Ihrem Certbot
  -Konfigurationsverzeichnis unter /etc/letsencrypt gespeichert. Sie sollten jetzt ein
   sicheres Backup dieses Ordners erstellen. Dieses Konfigurationsverzeichnis
   enthält auch von Certbot erhaltene Zertifikate und private Schlüssel,
   daher ist es ideal, regelmäßig Sicherungskopien dieses Ordners anzulegen.
 - Wenn Sie Certbot mögen, können Sie unsere Arbeit unterstützen, indem Sie:
  />
   Spende an ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Spende an EFF:                    https://eff.org/donate-le

 - Wir konnten Sie nicht in die EFF-Mailingliste eintragen, weil Ihre
   E-Mail-Adresse anscheinend ungültig ist. Sie können es später noch einmal versuchen, indem Sie
   https://act.eff.org.
besuchen

Verifizieren Sie die Installation von Uptime-Kuma

1. Öffnen Sie Ihren Webbrowser und geben Sie die Uptime-Kuma-URL-Installation in die Adressleiste ein.

https://uptime.example.net/

Sie werden zur sicheren HTTPS-Verbindung umgeleitet.

2. Erstellen Sie auf der ersten Seite einen neuen Admin-Benutzer für Uptime-kuma. Geben Sie Ihren Admin-Benutzer und Ihr Passwort ein und klicken Sie dann auf „Erstellen " Schaltfläche

3. Melden Sie sich danach mit Ihrem neuen Benutzernamen und Passwort an und klicken Sie dann auf "Anmelden". " Schaltfläche.

Jetzt sehen Sie das Uptime-kuma-Dashboard.

4. Um einen neuen zu überwachenden Host hinzuzufügen, klicken Sie auf die Schaltfläche „Neuen Monitor hinzufügen ".

5. In diesem Beispiel überwachen Sie die Website, wählen Sie also den "Monitortyp". " als "HTTP(s) ", geben Sie die URL-Adresse der Website ein, klicken Sie auf "Einrichtungsbenachrichtigung " für die Benachrichtigungsunterstützung, klicken Sie dann auf die Schaltfläche "Speichern " Schaltfläche unten auf der Seite.

6.Jetzt werden Sie zum Uptime-Kuma-Dashboard weitergeleitet und sehen Ihren Host auf der Dashboard-Seite.

Unten ist ein weiteres Beispiel nach dem Hinzufügen des neuen Typs „TCP/IP " mit geschlossenen Ports, und das Ergebnis ist "ENCONNREFUSED " oder Verbindungsfehler, weil der Port abgelehnt/geschlossen wird.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben den Uptime-Kuma mit Apache-Webserver erfolgreich als Reverse-Proxy installiert und die Uptime-Kuma-Bereitstellung mit SSL Letsencrypt gesichert. Für die nächste Phase können Sie Ihre Hosts hinzufügen und die Benachrichtigung für alle Down-Vorfälle aktivieren.


Ubuntu
  1. So installieren Sie Redis unter Ubuntu 18.04

  2. So installieren Sie X2Goserver auf Ubuntu 14.04 als Alternative für VNC

  3. So installieren Sie SonarQube unter Ubuntu 18.04 LTS

  4. Wein 6.9 veröffentlicht! So installieren Sie in Ubuntu 21.04, 20.04

  5. So verwenden Sie den Uptime-Befehl in Ubuntu Linux

So installieren Sie UVdesk Helpdesk auf Ubuntu

So installieren Sie die Krita-Software auf Ubuntu 20.04 oder 18.04 LTS

So installieren Sie Teamviewer auf Ubuntu 20.04 über das Terminal

So installieren Sie Adobe Lightroom Alternative RawTherapee in Ubuntu

So installieren Sie Jenkins unter Ubuntu 22.04

So installieren Sie NVM unter Ubuntu 22.04