Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Configurar

Instalar repositorio Epel

Install Erlang

Instale Redis, RabbitMQ y Configure RabbitMQ

Registrar repositorio Sensu

Instalación y configuración de Sensu

Habilitar servicios Sensu

Instalación y configuración de Uchiwa

Verifique si el servidor se ejecuta

Configurar verificaciones

Reiniciar Sensu

Guiones de acción de actualización

Crear acciones de Sensu

Información Relacionada

Introducción

Este documento describe cómo configurar un servidor Sensu y otras acciones en CloudCenter para agregar o quitar máquinas virtuales (VM) de los trabajadores del servidor.

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Acciones de CloudCenter

- Sensu

Componentes Utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Antecedentes

Sensu es un programa diseñado para monitorear diversos aspectos de una máquina. Se puede incorporar a CloudCenter para proporcionar una mayor capacidad de supervisión a cualquier VM implementada. Este tutorial está diseñado para ser un ejemplo que muestra cómo integrar Sensu con CloudCenter con el uso de acciones.

Configurar

Esto está diseñado para ejecutarse en una VM CentOS 7 que tenga acceso directo a Internet. Si necesita conectarse a un proxy, realice esa configuración antes de continuar.

Abra estos puertos para entrante y saliente: 3000, 3030, 4567, 5671, 5672, 6379.

Asegúrese de que el servidor Sensu tenga una dirección IP estática.

Nota: Todo lo que está dentro de los Bloques de código está diseñado para copiarse y pegarse en el terminal.

Instalar repositorio Epel

sudo yum -y install epel-release

Install Erlang

sudo yum -y install erlang

Instale Redis, RabbitMQ y Configure 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 ".*" ".*" ".*"

Registrar repositorio Sensu

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

Instalación y configuración de Sensu

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

Habilitar servicios Sensu

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

Instalación y configuración de 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

Verifique si el servidor se ejecuta

Vaya a Dirección IP: 3000/#/eventos

En este punto, debe tener un cliente llamado Sensu-server.

Configurar verificaciones

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

Reiniciar Sensu

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

Después de un minuto, debe tener tres comprobaciones en la lista.

Si hace clic en el cliente Sensu-server, verá información detallada de las tres comprobaciones para ese dispositivo.

Guiones de acción de actualización

1. Descargar Sensu.zip.

2. Descomprima el archivo zip.

3. Editar sensuinstall.sh.

4. Cambie el host de línea a "SensuServerIP" para tener la dirección IP del servidor Sensu.

5. Editar sensudesinstalar.sh.

6. Cambie la línea curl -s -i -X DELETE http://SensuServerIP:4567/clients/$cliqrNodeHostname para tener la dirección IP del servidor Sensu.

7. Vuelva a colocar los archivos modificados en Sensu.zip.

8. Cargue en un repositorio que el administrador de CloudCenter (CCM) haya configurado.

Crear acciones de Sensu

Navegue hasta Biblioteca de acciones y seleccione Nueva acción.

Tipo: Comando o script

Nombre de la acción: Registrar Sensu

Descripción: Instala el cliente Sensu y lo registra con el servidor

Ejecutar acción: En el SO de la máquina virtual

Asignación de objetos:

Tipo de recurso: VM implementadas en CloudCenter

Perfil de la aplicación: Todos

Región de nube: Todos

Cuenta de nube: Todos

Service All

Tipo de recurso: VM importadas (con el agente instalado)

Región de nube: Todos

Cuenta de nube: Todos

Tipos de SO: Todos

Definición de acción:

Ejecutar desde paquete: Yes

Ubicación: La repo a la que la cargó y la ruta al archivo Sensu.zip

Guión desde paquete: sensuinstall.sh

Guardar acción y crear otra acción nueva

Tipo: Comando o script

Nombre de la acción: Anular registro de Sensu

Descripción: Detiene el cliente Sensu y lo desregistra con el servidor

Ejecutar acción: En el SO de la máquina virtual

Asignación de objetos:

Tipo de recurso: VM implementadas en CloudCenter

Perfil de la aplicación: Todos

Región de nube: Todos

Cuenta de nube: Todos

Service All

Tipo de recurso: VM importadas (con el agente instalado)

Región de nube: Todos

Cuenta de nube: Todos

Tipos de SO: Todos

Definición de acción:

Ejecutar desde paquete: Yes

Ubicación: La repo a la que la cargó y la ruta al archivo Sensu.zip

Guión desde paquete: sensuinstall.sh

Guardar acción

Ahora puede utilizar estas acciones en cualquier VM implementada para registrarla en su servidor Sensu y anular el registro. Tenga en cuenta que la eliminación del registro no desinstala el cliente Sensu, simplemente detiene el servicio y lo quita de la base de datos (DB) del servidor.

Información Relacionada

- Sensu

- Biblioteca de acciones

- Soporte Técnico y Documentación - Cisco Systems