GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Kuma - Samoobslužná alternativa robota Uptime na Ubuntu 20.04

Uptime-Kuma je open source monitorovací nástroj jako „Uptime Robot“ napsaný v Nodejs. Jedná se o samostatně hostovaný monitorovací nástroj s efektním krásným řídicím panelem a podporuje více metod oznámení. Uptime-Kuma bude monitorovat dobu provozu hostitelů nebo serverů prostřednictvím protokolů HTTP(s), TCP a Ping. Pokud hostitelé nemohou být rach prostřednictvím těchto protokolů v takových časových intervalech, hostitelé uptime budou posílat upozornění prostřednictvím Webhooků, Telegramu, Discordu, Gotify, Slack, Pushover, E-mailu (SMTP) atd.

V této příručce se dozvíte, jak nainstalovat Uptime-Kuma na server Ubuntu a používat webový server Apache jako reverzní proxy s bezplatným certifikátem Let's Encrypt SSL před ním. Během instalace se také dozvíte o instalaci nodejs prostřednictvím nvm (správce verzí uzlů).

Předpoklady

  • Server Ubuntu 20.04.
  • Uživatel s právy root. Tohoto uživatele budete používat pro instalaci nových balíčků a úpravu nastavení systému.

Přidání nového uživatele

Nejprve přidáte nového uživatele do systému Ubuntu. Z bezpečnostních důvodů bude aplikace Uptime-Kuma spuštěna jako uživatel bez oprávnění root.

1. Přidejte nového uživatele provedením příkazu níže. V tomto příkladu použijeme uživatelské jméno "johndoe ". nezapomeňte změnit uživatelské jméno na své vlastní.

useradd -m -s /bin/bash johndoe

Možnosti, které musíte znát:

  • -m =automaticky vytvoří domovský adresář pro uživatelské jméno, které bude dostupné v adresáři '/home'.
  • -s =definovat cestu k shellu pro uživatele, většina Linuxu má shell `/bin/bash.

2. Poté spusťte následující příkaz pro nastavení hesla pro uživatele "johndoe".

passwd johndoe

Nyní zadejte nové silné heslo a opakujte jej, poté stiskněte „Enter " pro potvrzení.

3. Dále přidejte uživatele „johndoe“ do skupiny „sudo " pomocí příkazu níže.

usermod -aG sudo johndoe

Přidáním uživatelů do „sudo ", umožní uživatelům spustit "sudo su" a získejte oprávnění root.

Instalovat NVM (Node Version Manager)

NVM nebo Node Version Manager je nástroj příkazového řádku pro instalaci více verzí nodejs na jeden systém. Tento nástroj vám umožňuje nainstalovat konkrétní verzi nodejs pro vaše aplikace, díky čemuž je vaše prostředí vývoje a nasazení flexibilní.

V této fázi budete instalovat nvm pod uživatelem bez oprávnění root "johndoe".

1. Z vašeho root shellu se přihlaste k uživateli "johndoe" pomocí následujícího příkazu.

su - johndoe

2. Stáhněte a spusťte instalační skript nvm následovně.

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

3. Po úspěchu znovu načtěte prostředí bash pomocí příkazu níže.

source ~/.bashrc

4. Nyní ověřte „nvm " instalaci spuštěním příkazu níže.

command -v nvm

Pokud je instalace úspěšná, zobrazí se výsledek „nvm ". Jinak neuvidíte nic nebo prázdný výsledek."

Nyní spusťte příkaz nvm, jak je uvedeno níže.

nvm --help

A uvidíte stránku ruční nápovědy příkazu nvm.

Node Version Manager (v0.38.0)

Note: <version> refers to any version-like string nvm understands. This includes:
  - full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
  - default (built-in) aliases: node, stable, unstable, iojs, system
  - custom aliases you define with `nvm alias foo`

 Any options that produce colorized output should respect the `--no-colors` option.

Usage:
  nvm --help                                  Show this message
    --no-colors                               Suppress colored output

.....

Note:
  to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)

Instalovat verzi Nodejs LTS

Chcete-li nainstalovat uptime-Kuma aplikaci, musíte nainstalovat nodejs>=14 , git a pm2 . V tomto okamžiku budete instalovat nejnovější verzi nodejs LTS pomocí příkazu nvm.

1. Spusťte níže uvedený příkaz nvm a nainstalujte nejnovější verzi nodejs LTS.

nvm install --lts

Jakmile bude instalace úspěšná, uvidíte podobný výstup jako níže.

První verze nodejs, kterou nainstalujete, se stane výchozí verzí ve vašem vývojovém prostředí.

2. Nyní spusťte následující příkaz k ověření instalace nodejs.

node --version
npm --version

Pokud je vaše instalace úspěšná, uvidíte podobný výstup jako níže.

# nodejs version
v14.17.4

# npm version
6.14.14

Stáhnout a nainstalovat Uptime-Kuma

V tomto okamžiku jste připraveni nainstalovat aplikaci Uptime-Kuma.

1. Naklonujte zdrojový kód uptime-Kuma pomocí příkazu git níže.

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

2. Poté změňte pracovní adresář na „uptime-kuma/ " a spusťte příkaz npm k instalaci všech potřebných balíčků pro uptime-kuma.

cd uptime-kuma/
npm run setup

A uvidíte podobný výstup jako níže.

Nastavení Uptime-Kuma pomocí pm2

Co je pm2? Je to správce procesů nodejs, který vám pomůže spravovat a udržovat vaši aplikaci nodejs navždy při životě. pm2 má některé vestavěné funkce, které usnadňují nasazení aplikace nodejs, umožňuje vám sledovat stav vaší aplikace, protokoly a dokonce i nastavení servisního souboru pro vaši aplikaci.

1. Nainstalujte balíček pm2 pomocí příkazu npm níže.

npm install pm2

2. Po dokončení instalace spusťte níže uvedený příkaz pm2 a spusťte aplikaci uptime-kuma.

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

A uvidíte výstupní zprávy, jak je uvedeno níže.

Jak je vidět na obrázku, název aplikace "uptime-kuma “ běží se stavem „online ".

."

3. Chcete-li zkontrolovat stav vaší aplikace na pm2, spusťte následující příkazy.

Zkontrolujte stav aplikace nodejs.

pm2 status

Zkontrolujte protokoly aplikací nodejs.

pm2 logs

Monitorování aplikací nodejs v reálném čase.

pm2 monit

4. Dále spusťte následující příkaz pm2 pro vygenerování servisního souboru pro aplikaci uptime-kuma.

pm2 startup

Poté byste měli spustit příkaz podle pořadí na výstupu.

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

Ujistěte se, že používáte "sudo " a zadejte správné heslo pro vašeho uživatele, abyste získali práva root.

Jakmile je příkaz dokončen, uvidíte následující výstup.

Jak je vidět na snímku obrazovky, pm2 generuje službu systemd na základě uživatele, pro tento příklad je "pm2-johndoe.service ".

."

Nyní proveďte následující příkaz pro vygenerování a uložení stavu aplikace uptime-kuma. Tento příkaz je důležitý, aby aplikace uptime-kuma vždy běžela na pozadí, dokonce i po spuštění systému.

pm2 save

5. Chcete-li ověřit službu 'pm2-johndoe' , spusťte níže uvedený příkaz.

sudo systemctl is-enabled pm2-johndoe

Uvidíte výstup `povoleno `, což znamená, že aplikace uptime-kuma se automaticky spustí po spuštění systému.

Kromě toho můžete zkusit restartovat systém a znovu se přihlásit k serveru a poté zkontrolovat službu uptime-kuma.

sudo systemctl status pm2-johndoe

A měli byste vidět podobný výstup jako níže.

? pm2-johndoe.service - PM2 process manager
     Loaded: loaded (/etc/systemd/system/pm2-johndoe.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-08-10 01:52:37 UTC; 3min 57s ago
       Docs: https://pm2.keymetrics.io/
   Main PID: 745 (PM2 v5.1.0: God)
      Tasks: 34 (limit: 2343)
     Memory: 120.4M
     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

Aug 10 01:52:36 ubuntu64 pm2[633]: [PM2] Spawning PM2 daemon with pm2_home=/home/johndoe/.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] PM2 Successfully daemonized
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Resurrecting
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Restoring processes located in /home/johndoe/.pm2/dump.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Process /home/johndoe/.nvm/versions/node/v14.17.4/bin/npm restored

Služba „pm2-johndoe.service " je spuštěn a spuštěn při spouštění systému.

Nastavení Apache jako reverzního proxy

V této příručce budete instalovat a konfigurovat webový server Apache jako reverzní proxy pro uptime-Kuma aplikaci.

1. Provedením následujícího příkazu nainstalujte balíčky webového serveru apache.

sudo apt install apache2

Zadejte "y" a stiskněte „Enter " k instalaci webového serveru apache.

2. Poté povolte některé moduly Apache pomocí příkazu níže.

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

3. Dále vytvořte novou konfiguraci virtuálního hostitele 'uptime-kuma.conf pomocí níže uvedeného příkazu editoru nano.

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

Vložte následující konfiguraci do svého terminálu a změňte název domény  "uptime.example.net “ s vaší doménou, například „domena.com ".

."
<VirtualHost *:80>
  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]
</VirtualHost>

Stiskněte Ctrl+x “ a zadejte „Y " pro uložení konfigurace.

4. Nyní aktivujte konfiguraci virtuálního hostitele Apache "uptime-kuma" pomocí příkazu níže.

sudo a2ensite uptime-kuma

Poté spusťte následující příkaz pro ověření konfigurace Apache a ujistěte se, že nemáte žádnou chybu.

sudo apachectl configtest

5. Nyní použijte novou konfiguraci restartováním služby apache pomocí příkazu níže.

sudo systemctl restart apache2

Zabezpečení uptime-kuma pomocí SSL Letsencrypt

Chcete-li zajistit přístup Uptime-Kuma, nastavíte SSL od Letsencrypt pro webový server Apache.

1. Nejprve nainstalujte nástroj certbot spuštěním následujícího příkazu.

sudo apt install python3-certbot-apache

Zadejte „y “ a stiskněte „Enter " pro spuštění instalace.

2. Po dokončení instalace vygenerujte SSL letsencrypt pomocí příkazu certbot, jak je uvedeno níže.

sudo certbot --apache yourdomain.com

Zadejte svou e-mailovou adresu pro registraci do Letsencrypt a stiskněte „Enter " pokračovat. Letsencrypt bude odesílat e-maily na vaši e-mailovou adresu, kdykoli vyprší platnost vašich certifikátů SSL.

```
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

Pro Letsencrypt TOS (Podmínky služby) zadejte „A “ potvrďte souhlas a stiskněte „Enter " pokračovat.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Pro sdílení e-mailu s EFF (Electronic Frontier Foundation) můžete zadat „Y “ pro ano a „N " pro ne. V tomto příkladu nebudeme sdílet e-mailovou adresu s EFF.

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

Nyní nástroj certbot vygeneruje SSL Letsencrypt pro název domény Uptime-Kuma. Také přidá některé další konfigurace pro konfiguraci virtuálního hostitele Apache.

Budete požádáni o nastavení automatického přesměrování z HTTP na HTTPS. Zadejte číslo "2" pro nastavení automatického přesměrování HTTP na HTTPS Apache a stiskněte „Enter ".

."
```
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Jakmile bude proces nasazení úspěšný, uvidíte podobný výstup jako níže.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://uptime.example.net

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=uptime.example.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/uptime.example.net/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/uptime.example.net/privkey.pem
   Your cert will expire on 2021-10-10. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Ověřit instalaci Uptime-Kuma

1. Otevřete webový prohlížeč a do adresního řádku zadejte instalaci Uptime-Kuma URL.

https://uptime.example.net/

Budete přesměrováni na zabezpečené připojení HTTPS.

2. Na první stránce vytvořte nového administrátora pro Uptime-kuma. Zadejte své administrátorské uživatelské jméno a heslo a poté klikněte na „Vytvořit tlačítko "

3. Poté se přihlaste pomocí svého nového uživatelského jména a hesla a klikněte na tlačítko „Přihlásit “.

Nyní uvidíte panel uptime-kuma.

4. Chcete-li ke sledování přidat nového hostitele, klikněte na tlačítko „Přidat nový monitor ".

."

5. V tomto příkladu budete monitorovat webovou stránku, takže vyberte „Typ monitoru “ jako „HTTP “, zadejte adresu URL webové stránky a klikněte na „Oznámení o nastavení “ pro podporu upozornění, poté klikněte na „Uložit “ ve spodní části stránky.

6.Nyní budete přesměrováni na uptime-Kuma dashboard a na stránce dashboardu uvidíte svého hostitele.

Níže je uveden další příklad po přidání nového typu „TCP/IP “ s uzavřenými porty a výsledkem je „ENCONNREFUSED " nebo chyba připojení, protože port je odmítnut/uzavřen.

Závěr

Gratulujeme! úspěšně jste nainstalovali Uptime-Kuma s webovým serverem Apache jako reverzní proxy a zajistili nasazení Uptime-Kuma pomocí SSL Letsencrypt. V další fázi můžete přidat své hostitele a aktivovat upozornění na jakýkoli výpadek.


Ubuntu
  1. Jak nainstalovat Redis na Ubuntu 18.04

  2. Vydáno víno 6.9! Jak nainstalovat v Ubuntu 21.04, 20.04

  3. Jak používat příkaz Uptime v Ubuntu Linux

  1. Jak nainstalovat X2Goserver na Ubuntu 14.04 jako alternativu pro VNC

  2. Jak nainstalovat SonarQube na Ubuntu 18.04 LTS

  3. Jak nainstalovat ochranu ClamAV Anti-Malware na Ubuntu 20.04

  1. Jak nainstalovat a používat Curl Command na Ubuntu 20.04

  2. Jak nainstalovat Pinta na Ubuntu 20.04 LTS

  3. Jak nainstalovat MyPaint na Ubuntu 20.04 LTS