Novità
ItaliaNerd

Registrati gratuitamente per diventare un membro della community ItaliaNerd! Una volta effettuato l'accesso, potrai partecipare a questo sito aggiungendo i tuoi argomenti e post, nonché connetterti con altri membri tramite la tua casella di posta privata! Sentiti libero di utilizzare questo portale come meglio credi, per una breve panoramica dai un'occhiata QUI!

Icona risorsa

Guida Verificata Come installare Uptime Kuma

Una guida verificata è stata controllata dallo staff punto per punto e se ne attesta la sua validità.

Introduzione​

In questa breve guida vedremo come installare il noto software open-source e self-hosted Uptime Kuma. Questo tool ci permetterà di monitorare l'uptime delle nostre applicazioni, che siano container docker o siti internet. Inoltre è possibile ricevere delle notifiche sui nostri canali preferiti (mail, telegram, discord etc) nel caso in cui uno dei servizi monitorati non dovesse essere disponibile. Possiamo intuire che si tratta un tool tanto semplice quanto potente, specie per le nostre app critiche. La guida seguirà la procedura d'installazione in ambiente Linux (Debian based).

Forniremo anche alcuni consigli su come proteggere al meglio l'accesso a kuma.

Installazione​

Installare Uptime Kuma è davvero semplicissimo! Dalla repository ufficiale, notiamo che è altamente consigliata l'installazione tramite docker, ma forniremo anche un modo per installarlo direttamente nel sistema host.

Docker​

Se vogliamo installare l'app con docker, seguiamo le semplici istruzioni fornite ufficialmente

Quindi, limitiamoci a lanciare il comando
Bash:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
dove abbiamo indicato quanto segue:
  • il tipo di restart (consigliato fra always o unless-stopped)
  • Una directory dove verranno salvati i file persistenti (/uptime-kuma come predefinita)
  • Il nome da assegnare al container
  • La porta usata per l'interfaccia web (predefinita 3001)
Se invece preferiamo usare Docker-compose (o portainer) allora possiamo usare questo jaml
YAML:
version: '3.8'

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - /home/user/uptimekuma:/app/data
    ports:
      - "3001:3001"  # <Host Port>:<Container Port>
    restart: unless-stopped
Anche qui abbiamo indicato le stesse opzioni. Dovete editare solo il volume usato, in questo esempio indicato come /home/user/uptimekuma.
AVVISO: In questo modo, Uptime-Kuma sarà accessibile pubblicamente all'indirizzo del vostro server, o eventualmente in localhost su . Vedremo più avanti come renderlo più sicuro e accessibile esclusivamente a chi vogliamo noi. Nel caso volessimo renderlo accessibile ESCLUSIVAMENTE in locale, possiamo modificare il parametro ports inserendo 127.0.0.1:3001:3001 ma è sconsigliato, in quanto limitiamo alcune delle funzioni del software.

Installazione NON-Docker​

Se vogliamo installare direttamente Uptime Kuma sul nostro OS (sconsigliato), dobbiamo prima installare il pacchetto Node.js. Quindi, importiamo intanto la giusta repository con
Bash:
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
e installiamo node.js con
Bash:
sudo apt install nodejs -y

Ora possiamo seguire quanto scritto nella repository ufficiale per l'installazione non-docker, ovvero
Bash:
# Update your npm
npm install npm@9 -g

git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup

# Option 1. Try it
node server/server.js

# (Recommended) Option 2. Run in the background using PM2
# Install PM2 if you don't have it:
npm install pm2 -g && pm2 install pm2-logrotate

# Start Server
pm2 start server/server.js --name uptime-kuma
e nel caso volessimo lanciarlo al riavvio, digitiamo
Bash:
pm2 save && pm2 startup

Esattamente come per la versione Docker, Kuma sarà disponibile all'indirizzo .

Appena ci colleghiamo sul sito, dobbiamo creare un utente con password, possiamo ora inserire i nostri monitor
1.webp

Come vedete le opzioni sono molte, per un semplice monitor di uptime per un sito web, possiamo limitarci ad inserire il sito da monitorare in URL, l'intervallo di controllo (predefinito di 1 minuto) e altri parametri, molto intuitivi, tra cui le risposte ritenute valide (ad esempio la risposta 200).

Il risultato sarà mostrato a schermo
2.webp

Con la possibilità di essere avvisati anche in prossimità della scadenza di un eventuale certificato SSL, oltre che il tempo di risposta.

Notifiche​

Ora, nel caso in cui uno dei nostri servizi dovesse risultare offline, possiamo scegliere come essere avvisati. Apriamo le impostazioni e apriamo la scheda Notifiche
3.webp
Da qui, cliccando su Configura le notifiche troviamo un'ampia gamma di servizi che possiamo usare per ricevere, appunto, la nostra notifica di servizio down. Notiamo subito che il numero di servizi supportati è impressionante, per semplicità, scegliamo ad esempio di ricevere un messaggio su Telegram.
Selezionando dunque "Telegram", comparirà la schermata di configurazione della notifica
4.webp

L'interfaccia è estremamente semplice, dobbiamo limitarci a creare un bot su Telegram con il noto BotFather e segnarci (conservando in modo sicuro) il token del bot che ci è stato assegnato.

Ora, se vogliamo ricevere le notifiche in chat privata direttamente dal bot appena creato, apriamo intanto il nostro bot su Telegram e inviamogli un messaggio, con scritto semplicemente Ciao. Ora rechiamoci alla URL indicata nellìimmagine sopra
https://api.telegram.org/bot<QUI IL TOKEN DEL BOT>/getUpdates


e, fra le informazioni che vediamo a schermo, recuperiamo il chat_id. Inseriamo token e chat_id nelle impostazioni e testiamo la ricezione della notifica con il tasto apposito.

Possiamo ora assegnare la notifica appena creata a tutti o alcuni dei nostri monitor creati precedentemente.

Monitorare i container​

Normalmente un container non ha accesso al sistema host, in un'installazione default Uptime Kuma non ha la visibilità degli altri container. La stessa guida ufficiale ci viene in aiuto, possiamo ovviare semplicemente al problema condividendo il docker.sock.
Per farlo, aggiungiamo la directory nel container
Docker:
Bash:
-v /var/run/docker.sock:/var/run/docker.sock
(da inserire nel comando usato inizialmente per avviare il container Uptime Kuma)
Docker-compose:
YAML:
volumes:
   - /var/run/docker.sock:/var/run/docker.sock
(da inserire nel file yaml, aggiungiamo semplicemente la directory sotto quella usate per i file persistenti)

Le impostazioni fornite da Uptime Kuma sono molte, possiamo personalizzare in modo discretamente approfondito il tipo di ping, andando a modificare la richiesta HTTP, monitorare un database e molto altro.

Un'interessante funzione è la notifica push, ovvero non sarà Uptime-Kuma a "interrogare" un servizio per verificarne la disponibilità, ma sarà lo stesso servizio a notificare Kuma della sua operatività.
5.webp

Selezionando come nuovo monitor "Push", notiamo che comparirà sotto un URL, quell'url dovrà essere visitato dal servizio da monitorare per accertarne il funzionamento.

IMPORTANTE: Esattamente per questo motivo abbiamo consigliato, durante l'installazione, di non limitare Kuma al solo ip locale, in quanto le notifiche passive necessitano che l'URL fornito sia visibile alla macchina che invia il ping. Nel caso Kuma fosse installato all'interno di una macchina connessa ad una VPS pubblica tramite network privato, possiamo usare anche l'indirizzo privato per inviare il ping, mantenendo alta la sicurezza della connessione.

Sicurezza​

Sebbene l'interfaccia WEB di Kuma sia sufficientemente protetta, in quanto permette di inserire un'autenticazione a 2 fattori come metodo di login, NON avere l'interfaccia pubblicamente accessibile è sicuramente una preoccupazione in meno. Per questo il consiglio è quello di raggiungere Kuma tramite un tunnel SSH o eventualmente utilizzare il noto Cloudflare Zero Trust. Di seguito i link ad 2 nostre guide dove vengono forniti esempi su come realizzare entrambe le soluzioni:
In questa guida sono presenti degli esempi di accesso ad un servizio privato tramite Tunnel SSH

Mentre qui, troviamo una guida su come usare Zero Trust

Questa guida finisce qui, come sempre mettete un like se vi è servita e fateci sapere eventuali feedback 🙂
Autore
Anyma
Visite
430
Primo rilascio
Ultimo aggiornamento

Ratings

0.00 stella(e) 0 valutazioni

Più risorse di Anyma

Indietro
Alto