Come impostare uno strumento di monitoraggio dell'uptime in Linux con Uptime Kuma

Una fotografia di una scrivania piena di computer.

Uptime Kuma è uno strumento di monitoraggio dell’uptime semplice ma potente. Ti consente di tenere traccia di ogni servizio che stai ospitando sia su una rete locale che su Internet.

Questo articolo ti mostrerà come installare e distribuire Uptime Kuma su una rete locale utilizzando Ubuntu e Docker. Ti mostreremo anche come personalizzare l’istanza di Uptime Kuma per inviare notifiche di stato a Telegram.

Indice dei contenuti

  • Perché usare Uptime Kuma?
  • Installazione di Uptime Kuma
  • Creazione di un reverse proxy per Uptime Kuma utilizzando Nginx
  • Configurazione di Uptime Kuma e aggiunta di monitor
  • Impostazione di notifiche esterne per Uptime Kuma

Perché usare Uptime Kuma?

Uptime Kuma può monitorare e pingare server web e controllare la salute dei tuoi container Docker. Questo rende Uptime Kuma il portale web ideale per tutti i tuoi servizi di rete.

Uno dei maggiori vantaggi di Uptime Kuma è che viene fornito di un robusto sistema di notifiche per impostazione predefinita. Ciò significa che puoi impostare il tuo monitor di uptime per inviare automaticamente un messaggio attraverso una varietà di canali ogni volta che trova un’anomalia.

Uno screenshot che mostra un'istanza di Uptime Kuma funzionante.

Installazione di Uptime Kuma

Ottenere Docker e Docker Compose

Per prima cosa, recupera la chiave di firma GPG per i repository di Docker e Docker Compose:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Crea un nuovo file di repository per Docker sotto “/etc/apt/sources.list.d/”

sudonano/etc/apt/sources.list.d/docker.list

Incolla la seguente riga di codice all’interno del tuo nuovo file di repository:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Aggiorna e aggiorna il repository dei pacchetti per il tuo sistema Ubuntu:

sudo apt update &&sudo apt upgrade

Installa il pacchetto Docker e Docker Compose insieme alle loro dipendenze:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git

Assicurati che l’utente attualmente in esecuzione abbia i diritti necessari per eseguire Docker e Docker Compose:

sudo usermod -aGdocker ramces

Ottenere e costruire Uptime Kuma

Crea una nuova directory per il tuo container Docker di Uptime Kuma. Questa conterrà il file di ricetta per la tua istanza:

mkdir uptime-kuma &&cd ./uptime-kuma

Una volta dentro, crea un nuovo “docker-compose.yml” utilizzando il tuo editor di testo preferito:

nano ./docker-compose.yml

Incolla il seguente blocco di codice all’interno del tuo nuovo file Compose:

---  
version: "3.8"  
services:  
  uptime-kuma:  
    image: louislam/uptime-kuma:1  
    container_name: uptime-kuma  
    volumes:  
      - uptime-kuma:/app/data  
    ports:  
      - 3001:3001  
    restart: always  
volumes:  
  uptime-kuma: null

Costruisci i container Docker per la tua nuova istanza di Uptime Kuma:

sudodocker compose up -d

Creazione di un reverse proxy per Uptime Kuma utilizzando Nginx

Creeremo un reverse proxy in Nginx in modo da poter accedere a Uptime Kuma su un URL accessibile pubblicamente.

Crea un nuovo file di configurazione del sito Nginx utilizzando il tuo editor di testo preferito:

sudonano/etc/nginx/sites-available/uptimekuma

Scrivi il seguente blocco di codice all’interno del tuo nuovo file di configurazione del sito:

server {  
        server_name uptime.myvpsserver.top;  
        location /{  
                proxy_pass http://127.0.0.1:3001;  
                proxy_http_version 1.1;  
                proxy_set_header Upgrade $http_upgrade;  
                proxy_set_header Connection "upgrade";  
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
                proxy_set_header Host $host;  
}  
}

Collega il tuo file di configurazione del sito dalla cartella “sites-available” di Nginx alla sua directory “sites-enabled”:

sudoln-s/etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabled

Riavvia il demone del server Nginx per applicare le nuove impostazioni:

sudo systemctl restart nginx

Installazione del certificato SSL

Per iniziare, devi assicurarti che il tuo sistema abbia il pacchetto core snap in esecuzione:

sudo snap install core

Installa lo snap per il certbot della Electronic Frontier Foundation. Questo è un piccolo strumento che può richiedere e mantenere automaticamente il certificato SSL del tuo reverse proxy:

sudo snap install certbot --classic

Verifica se certbot funziona correttamente registrando la tua nuova installazione di certbot con l’EFF:

sudo certbot register --agree-tos-m [email protected]

Richiedi un nuovo certificato SSL per il tuo nuovo reverse proxy:

sudo certbot --nginx-d uptime.myvpsserver.top

Configurazione di Uptime Kuma e aggiunta di monitor

Controlla se la tua installazione di Uptime Kuma sta funzionando correttamente sul suo reverse proxy navigando all’indirizzo in un browser web.

Uno screenshot che mostra la pagina di atterraggio predefinita per Uptime Kuma.

Compila il modulo con i dettagli che desideri per il tuo nuovo account amministratore, quindi fai clic su “Crea” per continuare alla tua istanza.

Uno screenshot che mostra i dettagli dell'amministratore per la nuova istanza.

Fai clic sul pulsante “Aggiungi nuovo monitor” nell’angolo in alto a sinistra della pagina.

Uno screenshot che evidenzia il pulsante

Questo aprirà una nuova finestra secondaria nella pagina corrente dove puoi specificare il tipo di servizio che desideri monitorare. Ad esempio, cambiando il valore “Tipo di monitor” da “HTTP(S)” a “TCP Port” verrà creato un monitor che controllerà se una particolare porta nella macchina è attualmente aperta.

Uno screenshot che mostra i diversi tipi di monitor disponibili.

Compila i dettagli della macchina che desideri monitorare.

Scorri fino in fondo alla pagina, quindi fai clic su “Salva” per avviare il tuo nuovo monitor.

Uno screenshot che mostra i dettagli completi di un semplice monitor di controllo della porta.

Impostazione di notifiche esterne per Uptime Kuma

Vai alla pagina principale della tua istanza di Uptime Kuma e fai clic sull’icona utente nell’angolo in alto a destra della pagina.

Uno screenshot che evidenzia il distintivo dell'icona utente nell'angolo in alto a destra dello schermo.

Fai clic sull’opzione “Impostazioni” nel menu a discesa della pagina.

Seleziona la categoria “Notifiche” nella nuova finestra secondaria della pagina.

Uno screenshot che evidenzia la categoria Notifiche.

Creazione di un servizio di notifiche Telegram

Fai clic sul pulsante “Imposta notifica”. Per impostazione predefinita, questo aprirà una piccola finestra in cui puoi collegare e creare un bot di notifica utilizzando il tuo account Telegram.

Fornisci un nome per il tuo nuovo avviso di notifica, quindi fai clic sul link BotFather sotto la casella di testo “Token Bot”.

Uno screenshot che evidenzia il link Telegram BotFather.

Fai clic sul pulsante “Invia messaggio” sulla pagina Telegram del BotFather.

Uno screenshot che mostra il prompt iniziale per il BotFather.

Nota: Il pulsante “Invia messaggio” è un link specifico di Telegram che funzionerà solo se Telegram è in esecuzione sulla tua macchina. Scopri come installare Telegram sulla tua macchina Linux.

Questo aprirà una nuova finestra di chat in cui puoi utilizzare il BotFather per creare il tuo bot di notifica. Scrivi “/newbot” nel prompt, quindi premi Invio.

Fornisci un nome per il bot che stai collegando alla tua istanza di Uptime Kuma.

Scrivi un nome utente appropriato per il tuo nuovo bot di notifica. Tieni presente che per questo, il BotFather non accetterà alcun carattere speciale oltre all’underscore (_).

Fai clic sul testo che il BotFather ha evidenziato per copiarlo negli appunti.

Uno screenshot che evidenzia il token unico per il tuo nuovo bot di notifica.

Verifica se il tuo nuovo bot funziona correttamente cercando il suo nome utente e avviando una conversazione con esso.

Uno screenshot che mostra la cronologia della conversazione iniziale con il nuovo bot.

Torna alla tua istanza di Uptime Kuma, quindi incolla il token privato del bot all’interno della casella di testo “Token Bot”.

Fai clic sul pulsante “Auto Ottieni” sotto la casella di testo “Chat ID”.

Uno screenshot che evidenzia il pulsante Auto Ottieni.

Scorri fino in fondo alla finestra di Uptime Kuma, quindi fai clic su “Test” per controllare se Uptime Kuma può comunicare con il tuo nuovo bot.

Uno screenshot che mostra un bot Telegram Uptime Kuma funzionante.

Fai clic su “Salva” per confermare le tue modifiche a Uptime Kuma.

Ospitare un semplice demone di stato del servizio su Docker è solo la punta dell’iceberg quando si tratta di distribuire servizi web containerizzati. Scopri come puoi ospitare il tuo ufficio cloud con ownCloud e gestire il tuo Pastebin con Stikked.

Crediti immagine: Boitulmelo tramite Unsplash (Sfondo) Github (Logo). Tutte le modifiche e gli screenshot di Ramces Red.