Ricerca nel sito web

Come installare Sensu Monitoring su Ubuntu 20.04


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Redis e RabbitMQ
  4. Installa Sensu Server
  5. Configura Sensu
  6. Installa e configura Sensu Dashboard
  7. Accedi a Sensu Dashboard
  8. Conclusione

Sensu è uno strumento gratuito e open source utilizzato per monitorare l'integrità dell'infrastruttura e delle applicazioni. È scritto in Ruby, utilizza RabbitMQ per gestire i messaggi e Redis per archiviare i dati. Può essere installato sulla maggior parte dei sistemi operativi inclusi Ubuntu, Debian, RHEL, CentOS, IBM, AIX, FreeBSD, Mac OS, Solaris, Windows e molti altri. È una delle piattaforme più popolari e di nuova generazione che sostituisce altri sistemi di monitoraggio come Zabbix, Icinga e Nagios. Sensu utilizza un modello client-server. Dovrai solo installare un client sensu su ciascun sistema che desideri monitorare.

In questo tutorial, mostreremo come installare il server di monitoraggio Sensu sul server Ubuntu 20.04.

Prerequisiti

  • Un server che esegue Ubuntu 20.04.
  • Il server è configurato con una password di root.

Iniziare

Innanzitutto, dovrai aggiornare il tuo sistema all'ultima versione stabile. Puoi farlo aggiornando tutti i pacchetti di sistema usando il seguente comando:

apt-get update -y

Una volta aggiornato il sistema, installa altre dipendenze utilizzando il seguente comando:

apt-get install gnupg2 curl wget unzip -y

Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.

Installa Redis e RabbitMQ

Sensu utilizza RabbitMQ per gestire i messaggi e Redis per archiviare i dati. Quindi entrambi i pacchetti devono essere installati nel tuo sistema. Per impostazione predefinita, RabbitMQ non è disponibile nel repository predefinito di Ubuntu 20.04. Quindi dovrai aggiungere il repository RabbitMQ nel tuo sistema.

Innanzitutto, importa la chiave GPG con il seguente comando:

wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -

Successivamente, aggiungi il repository eseguendo il seguente comando:

echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list

Successivamente, aggiorna il repository e installa il pacchetto RabbitMQ con il seguente comando:

apt-get update -y
apt-get install rabbitmq-server -y

Una volta installato, dovrai creare un vhost RabbitMQ per Sensu. Puoi crearlo con il seguente comando:

rabbitmqctl add_vhost /sensu

Dovresti vedere il seguente output:

Adding vhost "/sensu" ...

Successivamente, crea un utente per gestire il vhost con il seguente comando:

rabbitmqctl add_user sensu password

Dovresti vedere il seguente output:

Adding user "sensu" ...

Successivamente, dovrai assegnare autorizzazioni complete per vhost /sensu.

rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

Dovresti ottenere il seguente output:

Setting permissions for user "sensu" in vhost "/sensu" ...

Successivamente, installa il server Redis con il seguente comando:

apt-get install redis-server -y

Una volta completata l'installazione, avviare il servizio Redis e abilitarlo all'avvio al riavvio del sistema con il seguente comando:

systemctl start redis-server
systemctl enable redis-server

Una volta terminato, puoi procedere al passaggio successivo.

Installa Sensu Server

Per impostazione predefinita, Sensu non è disponibile nel repository ufficiale di Ubuntu. Quindi dovrai aggiungere il repository Sensu nel tuo sistema.

Innanzitutto, importa la chiave GPG del repository con il seguente comando:

wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | apt-key add -

Successivamente, aggiungi il repository con il seguente comando:

echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list

Una volta aggiunto il repository, aggiorna il repository e installa Sensu con il seguente comando:

apt-get update -y
apt-get install sensu -y

Una volta installato Sensu, puoi procedere al passaggio successivo.

Configura Senso

Successivamente, dovrai creare file di configurazione per RabbitMQ, Redis e Api. Innanzitutto, crea un file api.json con il seguente comando:

nano /etc/sensu/conf.d/api.json

Aggiungi le seguenti righe:

{
  "api": {
    "host": "localhost",
    "bind": "0.0.0.0",
    "port": 4567
  }
}

Salva e chiudi il file, quindi crea un file redis.json con il seguente comando:

nano /etc/sensu/conf.d/redis.json

Aggiungi le seguenti righe:

{
  "redis": {
    "host": "127.0.0.1",
    "port": 6379
  }
}

Salva e chiudi il file, quindi crea un file di configurazione RabbitMQ con il seguente comando:

nano /etc/sensu/conf.d/rabbitmq.json

Aggiungi le seguenti righe:

{
  "rabbitmq": {
    "host": "127.0.0.1",
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "password"
  }
}

Salva e chiudi il file quando hai finito.

Installa e configura Sensu Dashboard

Successivamente, dovrai installare la dashboard di Uchiwa nel tuo sistema. Uchiwa è una dashboard open source per monitorare Sensu attraverso l'interfaccia web.

Puoi installare Uchiwa con il seguente comando:

apt-get install uchiwa -y

Dopo aver installato Uchiwa, crea un file di configurazione per Uchiwa con il seguente comando:

nano /etc/sensu/uchiwa.json

Aggiungi le seguenti righe:

{
  "sensu": [
    {
      "name": "Sensu",
      "host": "127.0.0.1",
      "port": 4567,
      "timeout": 10
    }
  ],
  "uchiwa": {
    "host": "0.0.0.0",
    "port": 3000,
    "refresh": 10
  }
}

Salva e chiudi il file quando hai finito.

Successivamente, dovrai creare un file client.json per monitorare il server Sensu stesso. Puoi crearlo con il seguente comando:

nano /etc/sensu/conf.d/client.json

Aggiungi le seguenti righe:

{
  "client": {
    "name": "sensu-server",
    "address": "127.0.0.1",
    "environment": "management",
    "subscriptions": [
      "dev",
      "ubuntu"
   ],
    "socket": {
      "bind": "127.0.0.1",
      "port": 3030
    }
  }
}

Salva e chiudi il file quando hai finito.

Successivamente, avvia il server Sensu, Api, Uchiwa e il servizio client Sensu con il seguente comando:

systemctl start sensu-server
systemctl start sensu-api
systemctl start uchiwa
systemctl start sensu-client

Una volta avviati tutti i servizi, è possibile verificare lo stato di tutti i servizi con il seguente comando:

systemctl status sensu-server sensu-api sensu-client uchiwa

Dovresti ottenere il seguente output:

? sensu-server.service - sensu server
     Loaded: loaded (/lib/systemd/system/sensu-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:43 UTC; 4min 18s ago
   Main PID: 10031 (sensu-server)
      Tasks: 24 (limit: 2353)
     Memory: 20.6M
     CGroup: /system.slice/sensu-server.service
             ??10031 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-server -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:43 ubunt4 systemd[1]: Started sensu server.

? sensu-api.service - sensu api
     Loaded: loaded (/lib/systemd/system/sensu-api.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 19s ago
   Main PID: 10023 (sensu-api)
      Tasks: 2 (limit: 2353)
     Memory: 18.9M
     CGroup: /system.slice/sensu-api.service
             ??10023 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-api -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/extens>

Aug 23 09:04:42 ubunt4 systemd[1]: Started sensu api.

? sensu-client.service - sensu client
     Loaded: loaded (/lib/systemd/system/sensu-client.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 18s ago
   Main PID: 10027 (sensu-client)
      Tasks: 2 (limit: 2353)
     Memory: 17.0M
     CGroup: /system.slice/sensu-client.service
             ??10027 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-client -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:42 ubunt4 systemd[1]: sensu-client.service: Succeeded.
Aug 23 09:04:42 ubunt4 systemd[1]: Stopped sensu client.
Aug 23 09:04:42 ubunt4 systemd[1]: Started sensu client.

? uchiwa.service - LSB: Uchiwa, a Sensu dashboard.
     Loaded: loaded (/etc/init.d/uchiwa; generated)
     Active: active (exited) since Sun 2020-08-23 09:04:41 UTC; 4min 19s ago

Una volta terminato, puoi procedere al passaggio successivo.

Accedi a Sensu Dashboard

Ora, apri il tuo browser web e digita l'URL http://your-server-ip:3000. Dovresti vedere la dashboard di Sensu nella seguente schermata:

Ora, fai clic sull'icona del client nel riquadro di sinistra. Dovresti vedere lo stato del client Sensu nella schermata seguente:

Conclusione

Congratulazioni! hai installato e configurato con successo Sensu e Uchiwa sul server Ubuntu 20.04. Ora puoi aggiungere altri clienti e iniziare a monitorare dalla dashboard di Uchiwa. Non esitate a chiedermi se avete domande.