Sensu è una soluzione open source per il monitoraggio di applicazioni e infrastrutture, progettata per risolvere le sfide di monitoraggio introdotte da un mix di infrastrutture (ovvero cloud pubblici, privati e ibridi).
I servizi Sensu utilizzano un bus di messaggi (ad es. RabbitMQ) per comunicare le richieste di controllo e i risultati del controllo, i dati relativi al controllo, l'evento, le informazioni sul cliente sono archiviati in modo permanente nell'archivio dati (ad es. Redis).
Il server Sensu pubblica e pianifica il controllo delle richieste di esecuzione agli abbonamenti dei client. Le sottoscrizioni possono essere semplicemente indicate come un elenco di ruoli (es. server web, database, tipo di sistema operativo), determina quali controlli vengono eseguiti dal client.
La macchina client esegue il software client Sensu, un agente di monitoraggio completo che esegue la registrazione del client, le sottoscrizioni, l'esecuzione del controllo locale (programmato dal client Sensu, non dal server Sense) e controlla le richieste pianificate dal server Sensu.
Quando c'è un assegno, ad es. per controllare lo stato del server web Apache. Il controllo verrà eseguito sul client Sensu. Se il controllo segnala un servizio inattivo, il server Sensu passerà il risultato al processore di eventi che elabora i risultati del controllo e intraprende azioni come l'invio di un'e-mail o la notifica nella dashboard tramite l'API RESTful.
Serie di articoli:
PARTE 1 : Installa Sensu su Ubuntu 16.04 / Debian 9 / Debian 8
PARTE 2 :Installa Uchiwa – Dashboard per Sensu Core Monitoring Tool
PARTE 3 :Come aggiungere un host Linux remoto allo strumento di monitoraggio Sensu
Rilascio:
Sensu Core – un progetto software open source, rilasciato sotto una licenza MIT permissiva.
Sensu Enterprise – la versione commerciale di Sense Core con funzionalità aggiuntive, supporto, formazione e molti altri vantaggi.
Caratteristiche:
I seguenti sono i vantaggi di Sensu,
- Monitoraggio di server, stato delle applicazioni, servizi e KPI aziendali
- Avvisi e notifiche
- Registrazione e cancellazione dinamica del cliente
- Può essere automatizzato con Chef, Puppet e Ansible
- Disponibilità di supporto commerciale
Ambiente:
HostName | Indirizzo IP | OS | Scopo |
---|---|---|---|
server.itzgeek.local | 10.128.0.3 | Ubuntu 16.04 | Sensu Server (Redis, RabbitMQ e Uchiwa) |
debian.itzgeek.local | 10.128.0.4 | Debian 9 | Cliente Sensu |
Questa guida ti guiderà attraverso l'installazione di Sensu su Ubuntu 16.04 / Debian 8.
Installa Redis:
Per iniziare, installa Redis sul server Sensu.
sudo apt-get update sudo apt-get -y install redis-server apt-transport-https
Avvia il servizio Redis, se necessario.
sudo service redis-server start
Verifica che Redis sia pronto per l'uso eseguendo il comando seguente.
redis-cli ping
Uscita
PONG
Installa RabbitMQ:
Aggiungi il repository Erlang mentre RabbitMQ viene eseguito sul runtime Erlang.
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb sudo dpkg -i erlang-solutions_1.0_all.deb
Aggiungi la chiave pubblica Erlang al tuo elenco di chiavi attendibili.
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
Installa RabbitMQ insieme al runtime Erlang usando il comando seguente.
sudo apt-get update && sudo apt-get install -y socat erlang-nox=1:19.3-1
RabbitMQ è incluso nei repository standard di Ubuntu e Debian, ma le versioni sono spesso piuttosto vecchie. Questa guida ti consiglia di installare l'ultima versione di RabiitMQ tramite il repository ufficiale.
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server_3.6.10-1_all.deb
Installa il pacchetto di repository RabbitMQ.
sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb
Procedi con l'installazione del server RabbitMQ.
sudo apt-get update && sudo apt-get install -y rabbitmq-server
Avvia il servizio RabbitMQ.
sudo service rabbitmq-server start
Crea un RabbitMQ vhost e utente per Sensu. Sostituisci password con la password di tua scelta. Avrai bisogno di questi dettagli dell'account in seguito per configurare il server Sensu.
sudo rabbitmqctl add_vhost /sensu sudo rabbitmqctl add_user sensu password sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
Installa Sensu Core:
Sensu offre repository ufficiali per i sistemi operativi Debian e Ubuntu. Il pacchetto Sensu Core include sensu-server , sensu-api e sensu-client .
Installa la chiave pubblica GPG e aggiungi il file di configurazione APT su /etc/apt/sources.list.d/sensu.list .
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add - echo "deb https://sensu.global.ssl.fastly.net/apt sensu main" | sudo tee /etc/apt/sources.list.d/sensu.list
Installa Sensu usando il seguente comando.
sudo apt-get update && sudo apt-get install -y sensu
Configura server Sensu:
Sui sistemi Debian e Ubuntu, Sensu caricherà la configurazione da /etc/sensu/config.json e /etc/sensu/conf.d/ directory.
I processi Sensu richiedono una configurazione aggiuntiva per dire loro come connettersi al bus di trasporto RabbitMQ.
sudo nano /etc/sensu/conf.d/rabbitmq.json
Aggiorna il file con i seguenti valori. Sostituisci password con la password che hai scelto qualche passo indietro.
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "password" } }
Questa guida non tratta la sicurezza del trasporto (RabbitMQ), ma ti consigliamo vivamente di proteggere un'installazione Sensu.
LEGGI :Proteggi il trasporto Sensu tramite crittografia SSL
Crea redis.json per includere le informazioni di connessione per consentire a Sensu di accedere a Redis.
sudo nano /etc/sensu/conf.d/redis.json
Aggiungi le righe sottostanti al file sopra.
{ "redis": { "host": "127.0.0.1", "port": 6379 } }
Crea api.json per includere le informazioni di connessione per consentire a Sensu di accedere al servizio API.
sudo nano /etc/sensu/conf.d/api.json
Aggiungi le righe sottostanti al file sopra.
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 } }
Sensu core non viene fornito con la dashboard di monitoraggio, quindi è necessario installare Uchiwa che è una dashboard open source per Sensu.
LEGGI :Come installare la dashboard di Uchiwa.
È tutto per ora. Resta sintonizzato per altri articoli su Sensu Monitoring Tool.