Monitoraggio Sensu · 11 min read · Nov 11, 2025

Come installare la soluzione di monitoraggio Sensu su Ubuntu 22.04

Sensu è un sistema di monitoraggio dell’infrastruttura e delle applicazioni open-source progettato per il monitoraggio sia di contenitori che di non contenitori e per infrastrutture multi-cloud.

Sensu è una soluzione di monitoraggio scalabile, sicura e integrata per la tua tecnologia e infrastruttura server. Può essere utilizzato per monitorare server, salute delle applicazioni e servizi, e inviare notifiche di allerta a più destinazioni con integrazione di terze parti.

In questa guida, configurerai la soluzione di monitoraggio Sensu su un server Ubuntu 22.04. Installerai e configurerai anche il Sensu-go-client che sarà utilizzato per gestire Sensu. Infine, installerai il Sensu Agent sull’host di destinazione per monitorare e configurare i controlli Sensu per il monitoraggio di base del sistema.

Requisiti

Per completare questa guida, avrai bisogno dei seguenti requisiti:

  • Due server Ubuntu 22.04 - Il primo server sarà utilizzato per installare la soluzione di monitoraggio Sensu, e il secondo server è il server di destinazione da monitorare.
  • Un utente non root con privilegi di amministratore sudo/root.

Di seguito sono riportati i dettagli del server che saranno utilizzati per questa guida:

Hostname        IP Address      Used as  
--------------------------------------------------  
sensugo-server  192.168.5.100   Sensu Server  
machine1        192.168.5.120   Target Monitoring

Ora passiamo all’installazione.

Aggiunta del repository Sensu

Sensu è una soluzione di monitoraggio sicura e scalabile che può essere installata su più sistemi operativi come Linux, macOS, Windows e FreeBSD. Sensu fornisce il proprio repository, specialmente per distribuzioni basate su RHEL e Debian. I pacchetti sensu vengono forniti tramite il repository packagecloud.io.

Per questo primo passaggio, configurerai il repository Sensu sia sul server Sensu che sul sistema di monitoraggio di destinazione.

Per iniziare, esegui il comando apt qui sotto per aggiornare l’indice dei pacchetti e installare alcuni pacchetti di base sul tuo sistema.

sudo apt update  
sudo apt install wget curl gnupg2 apt-transport-https

Quando richiesto, inserisci y per confermare e premi INVIO.

install dependencies

Successivamente, esegui il comando qui sotto per aggiungere il repository stabile di Sensu ai tuoi sistemi. Questo scaricherà lo script bash che configurerà automaticamente il repository Sensu per i tuoi sistemi Ubuntu.

curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash

Riceverai un output simile a questo.

setup repo

Dopo che il repository sensu è stato aggiunto, sarai ora pronto per avviare l’installazione di Sensu Go sul server Sensu e il Sensu Agent sul monitoraggio di destinazione.

Installazione e configurazione del backend Sensu Go

Il backend Sensu Go è il componente principale della piattaforma di monitoraggio Sensu. Fornisce un dashboard di amministrazione web e un’API HTTP che ti consente di gestire Sensu tramite la riga di comando, e fornisce anche i WebSocket che saranno utilizzati per le macchine/agent di destinazione per connettersi.

Prima di iniziare, assicurati di eseguire tutti i seguenti comandi sul server Sensu. In questo esempio, il nome host del server è ‘sensugo-server’.

Per iniziare, esegui il comando apt qui sotto per installare il backend Sensu Go.

sudo apt install sensu-go-backend

Ora l’installazione dovrebbe iniziare.

install sensu go

Dopo che il backend Sensu Go è stato installato, scarica la configurazione di esempio tramite il comando wget qui sotto nel ‘/etc/sensu/backend.yml’. Quindi apri il file utilizzando il comando dell’editor nano.

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml  
sudo nano /etc/sensu/backend.yml

Decommenta le seguenti righe nel file.

cache-dir: "/var/cache/sensu/sensu-backend"  
config-file: "/etc/sensu/backend.yml"  
  
log-level: "debug"  
state-dir: "/var/lib/sensu/sensu-backend"

setup sensu go

Salva il file ed esci dall’editor quando hai finito.

Successivamente, esegui il comando di utilità systemctl qui sotto per avviare e abilitare il servizio Sensu Go Backend ‘ sensu-backend ‘.

sudo systemctl start sensu-backend  
sudo systemctl enable sensu-backend

Il ‘ sensu-backend ‘ dovrebbe ora essere in esecuzione e abilitato. Inoltre, il servizio verrà eseguito automaticamente all’avvio.

setup sensu start sensu

Verifica lo stato del servizio ‘sensu-backend’ tramite il seguente comando systemctl.

sudo systemctl is-enabled sensu-backend  
sudo systemctl status sensu-backend

Riceverai un output simile a questo - Il servizio ‘ sensu-backend ‘ è abilitato e ora è in esecuzione.

verify sensu-backend service

Con il backend Sensu Go in esecuzione, inizializzerai ora il backend Sensu Go impostando la password di amministrazione e generando alcune configurazioni.

Per inizializzare l’installazione del backend Sensu Go, esegui il comando qui sotto per creare nuove variabili di ambiente che saranno utilizzate per impostare l’utente e la password di amministrazione di Sensu.

Questo esempio utilizzerà ‘ sensuadmin ‘ come utente e ‘ sensupassword ‘ come password. Quindi, assicurati di cambiare l’utente e la password di amministrazione.

export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=sensuadmin  
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=sensupassword

Ora esegui il seguente comando ‘sensu-backend’ per inizializzare l’installazione del backend Sensu Go.

sensu-backend init

Riceverai un output simile a questo - Il backend Sensu Go è ora inizializzato e sta funzionando sulla porta predefinita ‘ 3000 ‘.

sensu initialize

Ora apri il browser web e visita l’indirizzo IP del server seguito dalla porta TCP 3000 (cioè: http://192.168.5.100:3000). E dovresti ottenere la pagina di accesso di Sensu.

Accedi con il nome utente e la password durante il processo di inizializzazione e fai clic su ‘ SIGN-IN ‘.

sensu login

Dopo aver effettuato l’accesso, dovresti vedere il dashboard di amministrazione di Sensu. Hai ora completato l’installazione del backend Sensu Go.

sensu dashboard

Inoltre, puoi anche verificare lo stato di salute del tuo server Sensu Go tramite l’API di Sensu.

Installa il pacchetto ‘ jq ‘ sul tuo sistema tramite il comando apt qui sotto.

sudo apt install jq -y

Ora esegui il seguente comando curl per accedere all’API del server Sensu che funziona sulla porta predefinita ‘ 8080 ‘. Questo comando controllerà lo stato di salute del tuo server Sensu, quindi l’output sarà formattato come json, rendendo l’output leggibile.

curl -s http://127.0.0.1:8080/health | jq .

Output - Nel seguente output il ‘Healthy: true’ e nessun errore.

sensu health check

Installazione e configurazione di sensuctl

Con il backend Sensu Go installato e configurato, installerai quindi il Sensu Go Client sul server Sensu. Il Sensu Go Client fornisce un’utilità da riga di comando ‘sensuctl’ che ti consente di gestire Sensu tramite il server terminale.

Il modo in cui ‘sensuctl’ funziona è comunicando con il server Sensu tramite API per creare, leggere, aggiornare ed eliminare risorse, eventi ed entità sul server Sensu.

Esegui il comando apt qui sotto per installare il Sensu Go Client. L’installazione dovrebbe ora iniziare.

sudo apt install sensu-go-cli

install sensuctl

Dopo che ‘ sensu-go-cli’ è stato installato, apri il file ‘~ /.bashrc ‘ utilizzando il comando dell’editor nano qui sotto.

nano ~/.bashrc

Aggiungi le seguenti righe in fondo al file. Questa configurazione abiliterà il completamento automatico per il comando ‘sensuctl’.

if [ -f /usr/share/bash-completion/bash_completion ]; then  
. /usr/share/bash-completion/bash_completion  
elif [ -f /etc/bash_completion ]; then  
. /etc/bash_completion  
fi  
  
source <(sensuctl completion bash)

Salva il file ed esci quando hai finito.

Successivamente, ricarica la tua sessione corrente ricaricando il file ‘ ~/.bashrc ‘. Quindi verifica utilizzando il comando ‘sensuctl’.

source ~/.bashrc  
sensuctl TAB

Se premi il pulsante TAB dopo il comando ‘ sensuctl ‘, dovresti ottenere l’elenco delle opzioni per quel comando.

sensuctl completion

Con il Sensu Go Client installato, ora inizierai a configurare la connessione al server Sensu.

Esegui il comando ‘ sensuctl configure ‘ qui sotto per aggiungere il server Sensu.

sudo sensuctl configure

Ora ti verrà chiesto di alcune configurazioni:

  • Metodo di autenticazione? nome utente/password
  • URL API Sensu Backend? L’API di Sensu è in esecuzione per impostazione predefinita su http://127.0.0.1:8080
  • Namespace? default
  • Formato di output preferito? Seleziona il formato di output che desideri - questo esempio è tabulare.
  • Nome utente? utente admin per sensu
  • Password? password per l’utente admin di sensu

Dopo che la configurazione di ‘ sensuctl ‘ è terminata, esegui il comando qui sotto per verificare i dettagli della configurazione corrente.

sudo sensuctl config view

Riceverai un output simile a questo - Il Sensu Go Client è ora connesso al server Sensu tramite l’API HTTP che funziona per impostazione predefinita su localhost:8080.

sensuctl config

A questo punto, hai completato la configurazione di base del backend Sensu Go e del Sensu Go Client. Nel passaggio successivo, monitorerai la macchina di destinazione tramite il Sensu Agent.

Installazione del Sensu Agent sulla macchina di destinazione

Il Sensu Agent è un client leggero che viene eseguito sulle macchine di destinazione che desideri monitorare. Funziona comunicando tramite WebSocket con il server Sensu con funzionalità come auto-registrazione, invio di messaggi keepalive ed esecuzione di controlli di monitoraggio.

Prima di iniziare, assicurati che il repository Sensu sia stato aggiunto. Assicurati anche di eseguire i comandi qui sotto sulla macchina di destinazione, questo esempio utilizza il server con nome host ‘ machine1 ‘.

Esegui il comando apt qui sotto per installare il Sensu Agent sul tuo sistema. L’installazione dovrebbe procedere automaticamente.

sudo apt install sensu-go-agent

install sensu-agent

Dopo che il Sensu Agent è stato installato, scarica il file di configurazione del Sensu Agent in ‘ /etc/sensu/agent.yml ‘ tramite il comando curl. Quindi apri il file ‘/etc/sensu/agent.yml ‘ utilizzando il comando dell’editor nano.

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml  
sudo nano /etc/sensu/agent.yml

Cambia la configurazione predefinita con le seguenti righe. Assicurati di cambiare il ‘name’ con il nome host della macchina di destinazione, e l’URL del backend è l’indirizzo WebSocket per il server Sensu che funziona sulla porta predefinita ‘ 8081 ‘.

In questo esempio, il nome host della macchina di destinazione è ‘ machine1 ‘ e l’indirizzo IP del server Sensu è ‘ 192.168.5.100 ‘.

name: "machine1"  
namespce: "default"  
...  
backend-url:  
  - "ws://192.168.5.100:8081"  
cache-dir: "/var/cache/sensu/sensu-agent"  
config-file: "/etc/sensu/agent.yml"

sensu agent config

Salva il file ed esci dall’editor quando hai finito.

Successivamente, esegui il comando di utilità systemctl qui sotto per avviare e abilitare il servizio ‘ sensu-agent ‘. Il servizio dovrebbe ora essere in esecuzione e abilitato, il che significa che il servizio si avvierà automaticamente all’avvio.

sudo systemctl start sensu-agent  
sudo systemctl enable sensu-agent

sensu agent config and start

Ora verifica il servizio ‘sensu-agent’ tramite il comando qui sotto per assicurarti che il servizio sia in esecuzione.

sudo systemctl is-enabled sensu-agent  
sudo systemctl status sensu-agent

Riceverai un output simile al seguente - Il servizio ‘ sensu-agent ‘ è abilitato e lo stato attuale è in esecuzione.

verify sensu agent

Infine, torna al terminale del server Sensu e esegui il comando ‘sensuctl’ qui sotto per verificare che la macchina di destinazione ‘machine1’ sia disponibile sul server Sensu.

sensuctl entity list --format tabular

Riceverai un output simile a questo - La macchina di destinazione ‘ machine1 ‘ è stata aggiunta al server Sensu tramite il Sensu Agent.

list entities

Ora che la macchina di destinazione ‘machine1’ è stata aggiunta al server Sensu, imposterai ora controlli per il monitoraggio di base del sistema.

Impostazione dei controlli per il monitoraggio del sistema

Su Sensu, i controlli sono dove definisci cosa vuoi monitorare. Esempi di controlli sono il monitoraggio dell’uso della CPU, dell’uso della memoria, dell’uso del disco e molti altri. I controlli fanno parte delle risorse, che sono runtime dinamici condivisibili e riutilizzabili.

In questo passaggio, creerai nuovi controlli per monitorare l’uso della CPU, l’uso della memoria e l’uso del disco. Questi controlli saranno utilizzati per monitorare la macchina di destinazione ‘ machine1 ‘.

Per iniziare, esegui il comando sensuctl qui sotto per aggiornare l’entità o la macchina di destinazione ‘ machine1 ‘.

sensuctl entity update machine1

La classe dovrebbe essere ‘ agent ‘ e l’iscrizione dovrebbe essere ‘ System ‘.

Ora esegui il comando di utilità sensuctl qui sotto per aggiungere risorse al tuo server Sensu. Puoi ottenere un’altra risorsa di Sensu dall’hub delle risorse di Sensu https://bonsai.sensu.io.

sensuctl asset add sensu/check-cpu-usage  
sensuctl asset add sensu/check-memory-usage  
sensuctl asset add sensu/check-disk-usage

Riceverai un output simile a questo.

Aggiunta della risorsa runtime ‘ sensu/check-cpu-usage

asset check cpu

Aggiunta della risorsa runtime ‘ sensu/check-memory-usage ‘.

asset check memory

Aggiunta della risorsa runtime ‘ sensu/check-disk-usage ‘.

download check disk

Successivamente, verifica l’elenco delle risorse sul server Sensu tramite il comando sensuctl qui sotto. Dovresti vedere queste risorse runtime aggiunte al server Sensu.

sensuctl asset list

list assets

Con le risorse Sensu aggiunte, creerai quindi controlli basati sulle risorse che hai aggiunto.

Esegui il comando qui sotto per creare un controllo ‘check_cpu’ con l’iscrizione come ‘ system ‘ e utilizzare la risorsa runtime ‘ sensu/check-cpu-usage ‘. Puoi regolare le impostazioni sull’opzione ‘ command ‘.

sensuctl check create check_cpu \  
--command 'check-cpu-usage -w 75 -c 90' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-cpu-usage

crate check cpu

Esegui il comando qui sotto per creare un controllo ‘ check_mem ‘ con l’iscrizione come ‘system’ e utilizzare la risorsa runtime ‘ sensu/check-memory-usage ‘. Puoi regolare le impostazioni sull’opzione ‘ command ‘.

sensuctl check create check_mem \  
--command 'check-memory-usage -w 80 -c 90' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-memory-usage

check mem

Esegui il comando qui sotto per creare un controllo ‘check_disk’ con l’iscrizione come ‘ system ‘ e utilizzare la risorsa runtime ‘sensu/check-disk-usage ‘. Puoi regolare le impostazioni sull’opzione ‘ command ‘.

sensuctl check create check_disk \  
--command 'check-disk-usage --include-fs-type "xfs,ext4" --exclude-fs-path "/boot" --warning 90 --critical 95' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-disk-usage

Ora verifica l’elenco dei controlli sul server Sensu tramite il comando ‘sensuctl’ qui sotto. Dovresti vedere tre controlli che hai creato, il check_cpu, check_mem e check_disk.

sensuctl check list

Ora torna al browser web e visita il dashboard di amministrazione di Sensu. Assicurati di essere nel namespace ‘ default ‘, quindi fai clic su ‘ Entities ‘.

Dovresti vedere che la macchina di destinazione ‘ machine1 ‘ è stata aggiunta con lo stato OK.

status entities

Fai clic su ‘ machine1 ‘ per ottenere dettagli sul monitoraggio. E dovresti ottenere la pagina come la seguente - tutti i controlli che hai creato vengono eseguiti e funzionano.

details monitoring

Hai ora creato e configurato risorse e controlli per il monitoraggio del sistema sul server Sensu.

Conclusione

Hai ora installato la soluzione di monitoraggio Sensu sul server Ubuntu 22.04. Hai anche appreso l’uso di base del comando Sensuctl per gestire il backend di Sensu. Inoltre, hai monitorato con successo la macchina host Linux tramite il Sensu Agent e impostato “risorse” e “controlli” per il monitoraggio dei server di destinazione.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.