I client Sensu sono agenti di monitoraggio, installati ed eseguiti su ogni server monitorato dallo strumento Sensu. Il lavoro di un cliente Sensu consiste nel registrare un sistema con Sensu , invio di messaggi Keepalive ed esecuzione di controlli di monitoraggio .
Ogni cliente può essere membro di uno o più abbonamenti – puoi semplicemente dire; un elenco di ruoli loro assegnati (Ex, web server, database, ecc.).
Quando un client si iscrive alle richieste di controllo pubblicate dal server Sensu (tramite RabbitMQ – Sensu transport), le esegue localmente e pubblica il risultato del controllo sul trasporto Sensu, quindi un server Sensu elaborerà i risultati.
In questa guida, configureremo le macchine client per inviare i risultati dei controlli di servizio al server Sensu. Supponendo che tu abbia seguito i nostri precedenti articoli su Sensu core.
LEGGI :Installa Sensu su Ubuntu 16.04 / Debian 8
Sensu core non viene fornito con la dashboard grafica, quindi è necessario installare Uchiwa, una dashboard open source per lo strumento di monitoraggio Sensu.
LEGGI :Come installare Uchiwa – Dashboard open source per lo strumento di monitoraggio Sensu
Aggiungi repository Sensu:
A seconda del tuo sistema operativo, configura il repository Sensu per recuperare il pacchetto dal sito Web ufficiale.
### CentOS 7 / RHEL 7 ### echo '[sensu] name=sensu baseurl=https://sensu.global.ssl.fastly.net/yum/7/x86_64/ gpgcheck=0 enabled=1' | sudo tee /etc/yum.repos.d/sensu.repo ### Ubuntu 16.04 / Debian 8 ### sudo apt-get update && sudo apt-get -y install apt-transport-https wget -q https://sensu.global.ssl.fastly.net/apt/pubkey.gpg -O- | sudo apt-key add - echo "deb https://sensu.global.ssl.fastly.net/apt sensu main" | sudo tee /etc/apt/sources.list.d/sensu.list sudo apt-get update
Installa Sensu usando il seguente comando.
### CentOS 7 / RHEL 7 ### yum -y install sensu ### Ubuntu 16.04 / Debian 8 ### sudo apt-get -y install sensu
Registra un sistema:
La directory di configurazione predefinita di Sensu è /etc/sensu/config.d , in alcuni casi, potrebbe essere necessario creare questa directory manualmente se non disponibile.
I file di configurazione devono essere in formato JSON . Crea client.json file.
vi /etc/sensu/conf.d/client.json
Inserisci il seguente contenuto nel file sopra.
{ "client": { "name": "debian.itzgeek.local", "address": "10.128.0.4", "environment": "production", "subscriptions": [ "web", "debian" ] } }
Dove,
client:il nome del client deve essere un nome univoco. La mia macchina è Debian 8 .
indirizzo: indirizzo IP o nome host del client.
ambiente: Un attributo personalizzato, non parte delle specifiche del client Sensu. Questi attributi personalizzati vengono controllati dai filtri Sensu che ti aiutano a eseguire azioni specifiche in base all'ambiente (es. avviso solo su eventi nell'ambiente di produzione)
abbonamenti: Elenco di ruoli o responsabilità assegnati al cliente.
Configura il client Sensu per la connessione con il trasporto Sensu. Crea il file transport.json.
vi /etc/sensu/conf.d/transport.json
Inserisci il seguente contenuto nel file sopra.
{ "transport": { "name": "rabbitmq", "reconnect_on_error": true } }
Configura i dettagli del trasporto Sensu creando rabbitmq.json.
vi /etc/sensu/conf.d/rabbitmq.json
Copia e incolla i contenuti seguenti nel file sopra. Sostituisci i valori verdi a seconda della configurazione di Sensu.
{ "rabbitmq": { "host": "10.128.0.3", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "password" } }
Dove,
host – IP del server RabbitMQ (server Sensu)
porta:porta del server RabbitMQ
vhost, utente e password:host virtuale, utente e password RabbitMQ che abbiamo creato durante l'installazione del server Sensu.
Riavvia il servizio client Sensu utilizzando il comando seguente.
service sensu-client restart
Apri la dashboard Uchiwa e verifica se il nuovo client è stato registrato correttamente sul server Sensu.

Lo screenshot sottostante mostra i dettagli di un nuovo cliente aggiunto.

Ora è il momento di configurare Sensu per monitorare la tua infrastruttura.
Monitoraggio di un servizio:
Sensu utilizza i controlli (comandi) per monitorare un'infrastruttura, viene eseguito dal client Sensu per monitorare una condizione (es. verifica dello stato del servizio) o raccogliere misurazioni (es. quanta memoria viene utilizzata).
I dati dei risultati dei controlli standard si trovano in genere in un messaggio leggibile dall'uomo e i controlli metrici contengono in genere misurazioni raccolte dal controllo. Inoltre, lo stato del codice di uscita indica lo stato; 0 – OK , 1 – ATTENZIONE e 2 – CRITICO , simile a Nagios; significa che puoi utilizzare plug-in Nagios con Sensu senza modifiche.
Questi controlli sono programmati dal server Sensu o dal client Sensu.
Controlli dell'abbonamento:
Questi controlli sono definiti e programmati centralmente dal server Sensu, e hanno un insieme definito di abbonati (potresti dire - un ruolo) e i client sensu diventano abbonati a questi ruoli (cioè abbonamento) tramite "abbonamento ” attributo.
Monitoriamo il servizio Apache utilizzando i "Controlli abbonamenti ” con l'intervallo di 60 secondi. Sul server sensu, crea un file di configurazione per "Controlli abbonamenti ” sul server Sensu.
raj@server:~$ sudo vi /etc/sensu/conf.d/apache_check.json
Inserisci i seguenti contenuti in .json sopra file.
Se il cliente è Ubuntu 16.04 / Debian 8 :
{ "checks": { "apache-status": { "command": "check-process.rb -p apache2", "subscribers": [ "web" ], "interval": 60 } } }
Se il client è CentOS 7 / RHEL 7 :
{ "checks": { "apache-status": { "command": "check-process.rb -p httpd", "subscribers": [ "web" ], "interval": 60 } } }
Riavvia il "sensu-server ” utilizzando il comando seguente.
raj@server:~$ sudo service sensu-server restart
Assicurati che la macchina client (es, debian.itzgeek.local ) è iscritto a “web “, in caso contrario, aggiorna il client.json file.
vi /etc/sensu/conf.d/client.json
Il file dovrebbe apparire come sotto.
{ "client": { "name": "debian.itzgeek.local", "address": "10.128.0.4", "environment": "production", "subscriptions": [ "web", "debian" ] } }
I plug-in Sensu forniscono uno script eseguibile che può essere utilizzato come controlli sensu per monitorare le risorse di sistema, i servizi e lo stato delle applicazioni. Installa il plug-in Sensu per i controlli di processo "sensu-plugins-process-checks ” usando il comando gem sulla macchina client (debian.itzgeek.local ).
/opt/sensu/embedded/bin/gem install sensu-plugins-process-checks
Apri la dashboard di Uchiwa e attendi un po' di tempo, nuova spunta "stato-apache ” apparirà tra un minuto. Se il processo Apache non è in esecuzione o non è stato trovato, potresti ricevere un messaggio di evento critico come di seguito nella dashboard.

Se il processo Apache è in esecuzione, la dashboard potrebbe apparire come di seguito.

Spero che tu abbia ora capito come "Verifica dell'abbonamento ” lavorare a Sensu. Vedremo "Controlli autonomi ” nella prossima sezione.
Assegni autonomi:
Questi controlli sono definiti su un client Sensu (debian.itzgeek.local ) con l'attributo di controllo “autonomo ” impostato su “vero “. Qui, il client Sensu utilizza il proprio scheduler per la pianificazione dei controlli standalone e invia il risultato dei controlli al server Sensu.
Monitoriamo lo spazio su disco utilizzando i "Controlli autonomi ” con l'intervallo di 60 secondi. Sulla macchina client (debian.itzgeek.local ), installa il plug-in di spazio su disco Sensu utilizzando il comando seguente.
/opt/sensu/embedded/bin/gem install sensu-plugins-disk-checks
Crea un file di configurazione per il controllo del disco in "/etc/sensu/conf.d ” directory.
vi /etc/sensu/conf.d/disk_check.json
Utilizza il contenuto di seguito per questo controllo.
{ "checks": { "disk-status": { "command": "check-disk-usage.rb -w 70 -c 90", "standalone": true, "interval": 60 } } }
Riavvia il servizio sensu-client.
service sensu-client restart
Apri la dashboard Uchiwa e controlla se il nuovo controllo è visibile sulla dashboard.

L'immagine sotto mostra che l'utilizzo del disco è in condizioni di avviso.

Interessato al monitoraggio del server:
LEGGI :Installa e configura Nagios su CentOS 7 / Ubuntu 16.04 / Debian 8
LEGGI :Installa Icinga2 su Ubuntu 16.04 / 14.04, Debian e Mint
LEGGI:Come installare Zabbix Server 3.2 su CentOS 7 / Ubuntu 16.04 / Debian 8
LEGGI :Installa Monitorix su CentOS 7 / Ubuntu 16.04 / Fedora 24 / Debian 8 – Strumento di monitoraggio del sistema leggero OpenSource
LEGGI :Netdata – Strumento di monitoraggio delle prestazioni in tempo reale per Linux
È tutto. Grazie per aver letto.