Come installare Sensu Monitoring Solution su Debian 11
Su questa pagina
- Prerequisito
- Aggiunta del repository Sensu
- Installazione del backend Sensu
- Installazione della riga di comando di Sensuctl
- Installazione dell'agente Sensu
- Monitora le risorse del server con controlli
- Conclusione
Sensu è un sistema di monitoraggio dell'infrastruttura e delle applicazioni open source progettato per il monitoraggio di container e non container e per l'infrastruttura multi-cloud. Sensu è una soluzione di monitoraggio scalabile, sicura e integrata per la tua tecnologia e infrastruttura server. Può essere utilizzato per monitorare server, integrità delle applicazioni e servizi e inviare notifiche di avvisi a più destinazioni con l'integrazione di terze parti.
In questo tutorial imparerai come installare il software di monitoraggio Sensu sul server Debian 11. Imparerai anche come impostare Sensu CLI per la gestione di Sensu. Infine, imparerai come impostare il monitoraggio del server con Sensu tramite Sensu Agent.
Prerequisito
Per questa distribuzione Sensu, avrai bisogno dei seguenti requisiti:
- Un server Debian 11 con 4 GB di RAM e 2 CPU. Questo requisito dipende molto dall'ambiente dell'infrastruttura.
- Un utente non root con privilegi sudo/amministratore.
- Una macchina Linux verrà utilizzata come destinazione da monitorare.
Aggiunta del repository Sensu
Per iniziare con l'installazione di Sensu, dovrai aggiungere il repository dei pacchetti Sensu a tutti i tuoi sistemi, sia Sensu Backend che i server di destinazione.
Il repository Sensu è disponibile su packagecloud.io, che può essere aggiunto al tuo sistema manualmente o tramite lo script bash fornito da packagecloud.io.
Prima di aggiungere il repository Sensu, eseguire il comando apt di seguito per installare le dipendenze del pacchetto di base. Premere Y e Invio quando richiesto per confermare l'installazione.
sudo apt install debian-archive-keyring curl gnupg apt-transport-https
Ora esegui il seguente comando per aggiungere il repository Sensu. Questo script bash aggiungerà automaticamente il repository Sensu e la chiave GPG ai tuoi server Debian.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
Se desideri aggiungere manualmente il repository Sensu, segui questi passaggi:
Creare una directory keyring per memorizzare la chiave GPG del repository Sensu.
mkdir -p /etc/apt/keyrings/
curl -fsSL https://packagecloud.io/sensu/stable/gpgkey | gpg --dearmor > /etc/apt/keyrings/sensu_stable-archive-keyring.gpg
Aggiungi il repository Sensu usando il seguente comando. Questo repository è per Debian 11 Bullseye e l'ultima versione stabile di Sensu.
cat <<EOF | sudo tee /etc/apt/sources.list.d/sensu_stable.list
deb [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
deb-src [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
EOF
Ora puoi aggiornare e rinfrescare l'indice del tuo pacchetto Debian usando il seguente comando apt.
sudo apt update
Installazione del back-end Sensu
Il cuore principale della soluzione di monitoraggio Sensu è un \Sensu Backend\, che fornisce un'API HTTP che può essere utilizzata da un amministratore tramite la riga di comando \sensuctl\. API WebSocket che verrà utilizzata da \Sensu Agent\ per il monitoraggio e fornisce anche una dashboard dell'interfaccia utente Web per la gestione di Sensu.
Inoltre, Sensu ha utilizzato \etcd\ per archiviare i dati, in particolare su grandi implementazioni di Sensu Cluster.
Per installare Sensu Backend, eseguire il comando apt di seguito. L'installazione inizierà automaticamente.
sudo apt install sensu-go-backend
Al termine dell'installazione, scaricare l'esempio della configurazione del backend di Sensu in \/etc/sensu/backend.yml\. Quindi, modifica il file \/etc/sensu/backend.yml\ utilizzando il seguente comando.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml
sudo nano /etc/sensu/backend.yml
Rimuovere il commento dalla seguente configurazione.
cache-dir: "/var/cache/sensu/sensu-backend"
config-file: "/etc/sensu/backend.yml"
log-level: "debug"
state-dir: "/var/lib/sensu/sensu-backend"
Quando hai finito, salva e chiudi il file.
Successivamente, esegui il seguente comando systemctl per avviare il servizio Sensu Backend e abilitarlo. E il servizio Sensu Backend verrà eseguito automaticamente all'avvio del sistema.
sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend
Controlla e verifica il servizio di backend Sensu utilizzando il comando seguente. Dovresti vedere che il servizio Sensu Backend è attualmente in esecuzione e abilitato.
sudo systemctl status sensu-backend
Dopo che il backend Sensu è in esecuzione, inizializzerai l'installazione e la configurazione del backend Sensu. Questo può essere fatto utilizzando la riga di comando \sensu-backend init\, fornita dal pacchetto Sensu Backend.
Inoltre, durante l'inizializzazione del backend Sensu, imposterai l'utente amministratore e la password per la tua soluzione di monitoraggio Sensu.
Eseguire il seguente comando per creare nuove variabili di ambiente di sistema per l'utente e la password dell'amministratore di Sensu. In questo esempio, creerai un nuovo utente amministratore Sensu \adminsensu\ con la password \SensuRocks\.
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks
Ora inizia a inizializzare il backend Sensu usando il comando seguente. Dovresti vedere il processo di inizializzazione e Sensu memorizzerà i dati all'interno dell'archivio dati \etcd\.
sensu-backend init
Per controllare e verificare l'installazione del back-end Sensu, eseguirai il controllo dello stato di Sensu tramite il comando curl sull'API HTTP Sensu che è in esecuzione sulla porta predefinita \8080\.
Esegui il comando curl di seguito per eseguire il controllo dello stato dell'installazione back-end di Sensu. Dovresti vedere il messaggio di output sullo schermo del tuo terminale come \salute: OK\.
curl http://127.0.0.1:8080/health
Puoi anche visitare la dashboard dell'interfaccia utente Web di Sensu tramite la porta TCP \3000\. Apri il tuo browser web e visita l'indirizzo IP del tuo server seguendo la porta 3000 (ad esempio: http://192.168.5.100:3000). E dovresti vedere la pagina di accesso di Sensu.
Immettere l'utente amministratore \adminsensu\ con la password \SensuRocks\. Quindi, fai clic su \ACCEDI\ per accedere alla dashboard dell'interfaccia utente Web di Sensu.
Ora dovresti vedere la dashboard di amministrazione web di Sensu.
Installazione della riga di comando di Sensuctl
Su Sensu, l'amministratore può gestire Sensu Monitoring Solution tramite il dashboard di amministrazione dell'interfaccia utente Web Sensu e tramite il terminale della riga di comando utilizzando \sensuctl\.
\sensuctl\ è uno strumento a riga di comando per la gestione delle risorse Sensu. Utilizza un'API HTTP per comunicare con Sensu Backend, che consente di creare, leggere ed eliminare risorse, eventi ed entità.
\sensuctl\ può essere installato su più sistemi operativi come Linux, Windows e macOS. La funzione di \sensuctl\ è simile alla dashboard dell'interfaccia utente Web di Sensu e puoi installarla sulla tua workstation locale o sul server \bastione\ sicuro della tua infrastruttura.
Per i sistemi basati su Debian/Ubuntu, eseguire il comando apt seguente per installare lo strumento da riga di comando \sensuctl\. L'installazione inizierà automaticamente.
sudo apt install sensu-go-cli
Al termine dell'installazione, eseguire il seguente comando \sensuctl\ per avviare la configurazione e la connessione all'API del server Sensu Backend.
sensuctl configure
Verranno richieste le seguenti configurazioni:
- Per il metodo di autenticazione, seleziona \nome utente/password\.
- Inserisci l'URL dell'API Sensu Backend del tuo server. In questo esempio, configureremo \sensuctl\ sullo stesso server, quindi l'host sarà localhost o \127.0.0.1\. E la porta predefinita per Sensu HTTP API è \8080\ - http://127.0.0.1:8080.
- Per la configurazione dello spazio dei nomi, seleziona \predefinito\.
- Per il formato di output, puoi selezionare lo stile \tabular\ o utilizzare il formato di output \yaml\.
- Infine, inserisci l'utente amministratore e la password per il tuo Sensu Backend.
Ora hai completato la configurazione di base \sensuctl\ e ti sei connesso al server API Sensu Backend.
Esegui il seguente comando \sensuctl\ di seguito per controllare la tua configurazione. Dovresti vedere le configurazioni API dettagliate di \sensuctl\.
sensuctl config view
Inoltre, \sensuctl\ fornisce anche un completamento automatico per la tua shell. Se stai usando bash, devi installare il pacchetto \bash-completion\ e aggiungere un po' di configurazione al file di configurazione \~/.bashrc\.
Eseguire il seguente comando apt per installare il pacchetto \bash-completion\.
sudo apt install bash-completion
Ora eidt la configurazione \~/.bashrc\ usando il seguente comando.
sudo nano ~/.bashrc
Aggiungere la seguente configurazione al file.
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)
Quando hai finito, salva e chiudi il file.
Successivamente, ricarica la sessione corrente della tua shell usando il comando seguente.
source ~/.bashrc
Infine, inserisci il comando \sensuctl\ e premi il pulsante TAB per ottenere tutte le opzioni di comando disponibili. Dovresti ottenere tutte le opzioni disponibili del comando \sensuctl\.
sensuctl TAB
Installazione dell'agente Sensu
Per monitorare l'host o la macchina utilizzando Sensu, è necessario installare il pacchetto Sensu Agent su tutti gli host. L'agente Sensu è disponibile per quasi tutte le distribuzioni Linux e Windows.
Per installare Sensu Agent su un sistema Linux, assicurati che il repository Sensu sia stato aggiunto.
Per i sistemi basati su Debian/Ubuntu, eseguire il seguente comando apt per installare il pacchetto Sensu Agent. Ora inizierà l'installazione.
sudo apt install sensu-go-agent
Al termine dell'installazione, scaricare la configurazione di Sensu Agent in \/etc/sensu/agent.yml\. Quindi, modifica la configurazione \/etc/sensu/agent.yml\ utilizzando il comando seguente.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml
sudo nano /etc/sensu/agent.yml
Rimuovere il commento da queste seguenti configurazioni. assicurati di cambiare il \nome\ qui con il nome host del sistema e l'\backend-url\ con l'indirizzo IP del server Sensu Backend.
In questo esempio, aggiungeremo una macchina Debian con il nome host \linux-host1\ e disponibile nel namespace \default\. Il server Sensu Backend qui è \192.168.5.100\ con la porta API WebSocket predefinita di Sensu Backend \8081\.
name: "linux-host1"
namespace: "default"
...
backend-url:
- "ws://192.168.5.100:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"
Quando hai finito, salva e chiudi il file.
Successivamente, esegui il seguente comando per avviare il servizio Sensu Agent e abilitarne l'esecuzione automatica all'avvio del sistema.
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agent
Ora esegui il seguente comando per controllare e verificare il servizio Sensu Agent. Dovresti vedere che Sensu Agent è in esecuzione e abilitato.
sudo systemctl status sensu-agent
Quindi, torna al tuo browser web e seleziona lo spazio dei nomi \predefinito\. E dovresti vedere che il nuovo host di entità \linux-host1\ è disponibile.
Puoi anche controllare dalla riga di comando del terminale usando il comando \sensuctl\ come di seguito. Dovresti vedere l'agente \linux-host1\ aggiunto alla Sensu Monitoring Solution.
sensuctl entity list --format tabular
Monitora le risorse del server con i controlli
L'agente Sensu funziona solo per fornire un modo per il nodo dell'agente o il server di destinazione al backend Sensu tramite l'API WebSocket. Per monitorare le risorse del server come l'utilizzo della CPU, l'utilizzo della larghezza di banda e l'utilizzo del disco, dovrai impostare \Abbonamento\ e creare alcuni \Controlli\ sopra di esso. Quindi, puoi aggiungere più \Abbonamenti\ a Sensu Agent o al server di destinazione.
Per monitorare le risorse del server utilizzando Sensu, dovrai eseguire i seguenti passaggi:
- Crea abbonamento
- Registra le risorse runtime di Sensu
- Comando Definisci controlli per il controllo delle risorse di sistema
Prima di proseguire, eseguire il seguente comando \sensuctl\ per creare una nuova sottoscrizione denominata \system\ all'entità \linux-host1\.
sensuctl entity update linux-host1
Ti verranno poste le seguenti domande:
- Per la Classe Entità\, lasciare come predefinito \agente\ e premere INVIO.
- Per \Abbonamenti\, inserisci il nome dell'abbonamento \sistema\ e premi INVIO.
Su Sensu, \Checks\ in pratica ha appena definito un comando che può essere utilizzato per monitorare le risorse del server. \Controlli\ è la riga di comando che puoi definire in cima a Sensu \Risorse\ e \Abbonamenti\ per tutte le tue esigenze di monitoraggio. Per creare \Controlli\, imposterai le risorse di runtime dinamiche tramite il comando \sensuctl\. Tutti i \Risorse\ di Sensu sono disponibili su https://bonsai.sensu.io/.
Ora esegui il comando \sensuctl\ qui sotto per creare e registrare Sensu \Assets\ per monitorare l'utilizzo della CPU. Dovresti vedere il messaggio di output come \asset aggiunto: sensu/check-cpu-usage:0.2.2\. In questo esempio, rinominiamo anche il nome predefinito dell'asset in \check-cpu-usage\ con l'opzione \-r\.
sensuctl asset add sensu/check-cpu-usage:0.2.2 -r check-cpu-usage
Ora esegui il seguente comando per controllare l'elenco delle risorse Sensu. Dovresti vedere che l'asset \check-cpu-usage\ è disponibile su Sensu.
sensuctl asset list
Successivamente, esegui il seguente comando per creare il comando \Checks\ per monitorare l'utilizzo della CPU. In questo esempio, creerai un nuovo nome comando di controllo \check_cpu\ che sarà disponibile nell'abbonamento \system\ e basato sull'asset \check-cpu- utilizzo\. Puoi anche cambiare il parametro qui nell'opzione \--command\. E dovresti ottenere il messaggio di output come \Created\.
sensuctl check create check_cpu \
--command 'check-cpu-usage -w 75 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets check-cpu-usage
Esegui il seguente comando \sensuctl\ per controllare e verificare \check_cpu\. Dovresti vedere i dettagli dei \Checks\ del \check_cpu\ che hai appena creato.
sensuctl check info check_cpu --format yaml
Ora puoi verificare il monitoraggio degli eventi \check_cpu\ utilizzando il comando seguente. Dovresti vedere che il monitoraggio dell'utilizzo della CPU per \linux-host1\ è configurato e terminato.
sensuctl event list --format tabular
Ora passa alla dashboard di amministrazione di Sensu e seleziona lo spazio dei nomi \predefinito\. Nel menu \Entità\, dovresti aggiungere l'agente \linux-host1\ al sistema di monitoraggio Sensu.
Ora se fai clic sui dettagli dell'agente \linux-host1\, vedrai il monitoraggio \Checks\ \check_cpu\ che hai appena creato.
Successivamente, puoi aggiungere e creare altri \Controlli\ per il tuo sistema di monitoraggio.
Conclusione
Ora hai eseguito l'installazione di Sensu Monitoring Solution su Debian 11 Server. Hai anche appreso l'utilizzo di base del comando Sensuctl per la gestione del backend Sensu. Inoltre, hai monitorato con successo la macchina host Linux tramite l'agente Sensu e impostato i \controlli\ per il monitoraggio del tuo server di destinazione.