Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Configurazione

Installa repository Epel

Installa Erlang

Installare Redis, RabbitMQ e configurare RabbitMQ

Registra repository sensore

Installazione e configurazione del sensore

Abilita servizi sensori

Installazione e configurazione di Uchiwa

Verifica dell'esecuzione del server

Configura controlli

Sensore di riavvio

Aggiorna script azioni

Crea azioni sensore

Informazioni correlate

Introduzione

In questo documento viene descritto come configurare un server Sensu e altre azioni su CloudCenter per aggiungere o rimuovere macchine virtuali (VM) di lavoro dal server.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Azioni CloudCenter

- Sensore

Componenti usati

Il documento può essere consultato per tutte le versioni software o hardware.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Sensu è un programma progettato per monitorare vari aspetti di una macchina. Può essere integrato in CloudCenter per fornire una maggiore capacità di monitoraggio a tutte le VM installate. Questa procedura dettagliata è progettata per essere un esempio che mostra come è possibile integrare Sensu con CloudCenter con l'utilizzo delle azioni.

Configurazione

Progettato per essere eseguito su una VM CentOS 7 con accesso diretto a Internet. Se è necessario connettersi a un proxy, eseguire la configurazione prima di procedere.

Apri queste porte per connessioni in ingresso e in uscita: 3000, 3030, 4567, 5671, 5672, 6379.

Verificare che il server Sensu disponga di un indirizzo IP statico.

Nota: Tutto ciò che si trova all'interno dei blocchi di codice è progettato per essere copiato e incollato nel terminale.

Installa repository Epel

sudo yum -y install epel-release

Installa Erlang

sudo yum -y install erlang

Installare Redis, RabbitMQ e configurare RabbitMQ

sudo rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

sudo rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.1/rabbitmq-server-3.4.1-1.noarch.rpm

sudo rabbitmq-plugins enable rabbitmq_management

sudo yum -y install redis

sudo chkconfig redis on

sudo service redis start

sudo chkconfig rabbitmq-server on

sudo /etc/init.d/rabbitmq-server start

sudo rabbitmqctl add_vhost /sensu

sudo rabbitmqctl add_user sensu secret

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

Registra repository sensore

echo '[sensu]

name=sensu-main

baseurl=http://repositories.sensuapp.org/yum/el/7/x86_64/

gpgcheck=0

enabled=1' |sudo tee /etc/yum.repos.d/sensu.repo

Installazione e configurazione del sensore

sudo yum -y install sensu

sudo rm -f /etc/sensu/config.json.example

echo '{

"api": {

"host": "localhost",

"bind": "0.0.0.0",

"port": 4567

}

}' |sudo tee /etc/sensu/conf.d/api.json

echo '{

"client": {

"name": "sensu-server",

"address": "127.0.0.1",

"environment": "sensu",

"subscriptions": [ "linux"],

"keepalive":

{

"handler": "mailer",

"thresholds": {

"warning": 250,

"critical": 300

}

},

"socket": {

"bind": "127.0.0.1",

"port": 3030

}

}

}' |sudo tee /etc/sensu/conf.d/client.json

echo '{

"rabbitmq": {

"host": "127.0.0.1",

"port": 5672,

"vhost": "/sensu",

"user": "sensu",

"password": "secret"

}

}' |sudo tee /etc/sensu/conf.d/rabbitmq.json

echo '{

"redis": {

"host": "127.0.0.1",

"port": 6379

}

}' |sudo tee /etc/sensu/conf.d/redis.json

echo '{

"transport": {

"name": "rabbitmq",

"reconnect_on_error": true

}

}' |sudo tee /etc/sensu/conf.d/transport.json

Abilita servizi sensori

sudo chkconfig sensu-server on

sudo chkconfig sensu-client on

sudo chkconfig sensu-api on

sudo service sensu-server start

sudo service sensu-client start

sudo service sensu-api start

Installazione e configurazione di Uchiwa

sudo yum -y install uchiwa

echo '{

"sensu": [

{

"name": "sensu",

"host": "localhost",

"port": 4567,

"timeout": 10

}

],

"uchiwa": {

"host": "0.0.0.0",

"port": 3000,

"refresh": 10

}

}' |sudo tee /etc/sensu/uchiwa.json

sudo chown uchiwa:uchiwa /etc/sensu/uchiwa.json

sudo chmod 664 /etc/sensu/uchiwa.json

sudo chkconfig uchiwa on

sudo service uchiwa start

Verifica dell'esecuzione del server

Passare a IndirizzoIP: 3000/#/eventi

A questo punto, è necessario avere un client chiamato Sensu-server.

Configura controlli

echo '{

"checks": {

"check-cpu-linux": {

"handlers": ["mailer"],

"command": "/opt/sensu/embedded/bin/check-cpu.rb -w 80 -c 90 ",

"interval": 60,

"occurrences": 5,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_cpu_linux.json

echo '{

"checks": {

"check-disk-usage-linux": {

"handlers": ["mailer"],

"type": "metric",

"command": "/opt/sensu/embedded/bin/check-disk-usage.rb",

"interval": 60,

"occurrences": 5,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_disk_usage_linux.json

echo '{

"checks": {

"check_memory_linux": {

"handlers": ["mailer"],

"command": "/opt/sensu/embedded/bin/check-memory-percent.rb -w 80 -c 90 ",

"interval": 60,

"occurrences": 5,

"refresh": 1800,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_memory_linux.json

sudo sensu-install -p cpu-checks

sudo sensu-install -p disk-checks

sudo sensu-install -p memory-checks

Sensore di riavvio

sudo service sensu-client restart && sudo service sensu-server restart && sudo service sensu-api restart

Dopo un minuto, dovrebbero essere elencati tre controlli.

Se si fa clic sul client Sensu-server, vengono visualizzate informazioni dettagliate dai tre controlli eseguiti per il dispositivo.

Aggiorna script azioni

1. Scarica Sensu.zip.

2. Decomprimere il file.

3. Modificare sensuinstall.sh.

4. Cambiare l'host della linea su "SensuServerIP" per avere l'indirizzo IP di Sensu Server.

5. Modificare sensuuninstall.sh.

6. Modificare la riga curl -s -i -X DELETE http://SensuServerIP:4567/clients/$cliqrNodeHostname in modo che abbia l'indirizzo IP del Sensu Server.

7. Reinserire i file modificati nel file Sensu.zip.

8. Caricare in un repository configurato da CloudCenter Manager (CCM).

Crea azioni sensore

Passare alla libreria delle azioni e selezionare Nuova azione.

Tipo: Comando o script

Nome azione: Sensore del registro

Descrizione: Installa il client Sensu e lo registra nel server

Esegui azione: Nel sistema operativo della macchina virtuale

Mappatura oggetti:

Tipo di risorsa: VM distribuite con CloudCenter

Profilo applicazione: Tutto

Area cloud: Tutto

Account cloud: Tutto

Service All

Tipo di risorsa: VM importate (con agente installato)

Area cloud: Tutto

Account cloud: Tutto

Tipi di sistema operativo: Tutto

Definizione azione:

Esegui da pacchetto: Sì

Percorso: Il repository in cui è stato caricato e il percorso del file Sensu.zip

Script da bundle: sensuinstall.sh

Salva azione e crea un'altra nuova azione

Tipo: Comando o script

Nome azione: Annulla registrazione sensore

Descrizione: Arresta il client Sensu e ne annulla la registrazione con il server

Esegui azione: Nel sistema operativo della macchina virtuale

Mappatura oggetti:

Tipo di risorsa: VM distribuite con CloudCenter

Profilo applicazione: Tutto

Area cloud: Tutto

Account cloud: Tutto

Service All

Tipo di risorsa: VM importate (con agente installato)

Area cloud: Tutto

Account cloud: Tutto

Tipi di sistema operativo: Tutto

Definizione azione:

Esegui da pacchetto: Sì

Percorso: Il repository in cui è stato caricato e il percorso del file Sensu.zip

Script da bundle: sensuuninstall.sh

Salva azione

È ora possibile utilizzare queste azioni su qualsiasi VM distribuita per registrarla sul server Sensu e annullare la registrazione. L'annullamento della registrazione non disinstalla il client Sensu, ma arresta il servizio e lo rimuove dal database del server (DB).

Informazioni correlate

- Sensore

- Raccolta azioni

- Documentazione e supporto tecnico – Cisco Systems