Sensu es una solución de monitoreo de código abierto que tiene la capacidad de monitorear diferentes entornos, especialmente para entornos mixtos como nubes públicas, privadas e híbridas. Sensu también proporciona numerosos complementos que se pueden usar como lo que ellos llaman "verificaciones de Sensu". Estos complementos monitorean el estado de los servicios, los recursos del servidor y recopilan diferentes métricas del servidor de diferentes servicios. También proporciona alertas y notificaciones.
Está desarrollado utilizando el lenguaje Ruby. Utiliza RabbitMQ como intermediario para los mensajes y Redis para el almacenamiento en caché y el almacenamiento de datos.
En este artículo, le mostraremos instrucciones paso a paso sobre cómo instalar Sensu en Ubuntu 18.04 .
Requisitos previos:
Para este tutorial, recomendamos utilizar una nueva instalación Ubuntu 18.04 VPS .
Asegúrese de que su servidor cumpla con la siguiente configuración mínima de hardware y software para el back-end del servidor Sensu:
Hardware:
- 4 núcleos de CPU
- 4 GB de RAM
- 4 GB de espacio libre en disco
- Enlace de red confiable
Software:
- Ubuntu 18.04
- Una dirección IP dedicada
- Privilegios completos de raíz, o el usuario raíz
Para obtener más información sobre los requisitos de agente y back-end para Sensu, puede visitar su artículo oficial sobre requisitos de hardware aquí.
Buscar actualizaciones e instalar dependencias
Inicie sesión en su servidor a través de SSH:
ssh [username]@[server_ip_address]
Asegúrese de reemplazar "nombre de usuario" con el nombre de cuenta de un usuario raíz que se encuentra en el servidor (o el propio usuario raíz), y reemplace "server_ip" con la dirección IP de su servidor.
Antes de comenzar con la instalación, se recomienda actualizar todos los paquetes de Ubuntu a sus últimas versiones:
apt-get update apt-get upgrade
Para evitar el problema de "bibliotecas faltantes" en futuras instalaciones, se recomienda instalar dependencias básicas:
apt-get install software-properties-common build-essential -y
Instalación y configuración de RabbitMQ
RabbitMQ es el intermediario de mensajes más popular. Actuará como el sistema de mensajería intermediario para Sensu. RabbitMQ requiere Erlang, un lenguaje de programación que se utiliza para crear sistemas de aplicaciones en tiempo real.
Para instalar Erlang, use los siguientes comandos para instalar el paquete del repositorio de Erlang:
cd /opt wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb dpkg -i erlang-solutions_1.0_all.deb
Después de configurar el repositorio de Erlang y RabbitMQ y actualizar nuestra instalación de Ubuntu, ahora podemos proceder a instalar el paquete de Erlang simplemente escribiendo lo siguiente:
apt-get update apt-get install erlang rabbitmq-server
Para verificar si el servicio RabbitMQ se instaló correctamente, ejecute lo siguiente para verificar el estado del servicio RabbitMQ:
systemctl status rabbitmq-server
Debería poder ver un mensaje similar a este:
rabbitmq-server.service - RabbitMQ Messaging Server
Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor
Active: active (running) since Sun 2019-03-17 23:12:51 CDT; 1min 22s ago
Ahora, necesitamos crear un host virtual para nuestra instalación de Sensu:
rabbitmqctl add_vhost /sensu
Lo siguiente es agregar un usuario al vhost. Reemplace [contraseña] con una contraseña segura.
rabbitmqctl add_user sensu [password]
Finalmente, otorgue permisos completos a nuestro usuario "sensu":
rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
Instalación y configuración de Redis
Redis está siendo utilizado por Sensu como su principal sistema de almacenamiento en caché para los datos producidos por los agentes de monitoreo, incluidos controles, eventos, alertas y notificaciones.
Instalar el servidor Redis es simple:solo necesita escribir lo siguiente:
apt-get -y install redis-server
Para verificar que el servidor Redis se está ejecutando:
systemctl status redis-server
Debería ver "Activo (en ejecución)" en los resultados:redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor pre
Active: active (running) since Sun 2019-03-17 23:23:15 CDT; 1min 15s ago
Instalación de Sensu
Después de instalar los dos requisitos principales, ahora podemos continuar con la instalación y configuración de Sensu Core.
Al momento de escribir este artículo, el paquete Sensu Core aún no está oficialmente disponible en el repositorio de Ubuntu. Para agregar el repositorio y las claves oficiales de Sensu, use los siguientes comandos:
echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | sudo tee /etc/apt/sources.list.d/sensu.list wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
El siguiente paso es actualizar y finalmente instalar el paquete Sensu:
apt-get update apt-get install sensu -y
Configuración de Sensu
Después de instalar Sensu, necesitaremos configurar API, RabbitMQ y Redis para Sensu creando archivos de configuración individuales que están en formato JSON. Usaremos nano
para abrir los archivos de configuración.
API:
nano /etc/sensu/conf.d/api.json
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 } }
Conejo MQ:
nano /etc/sensu/conf.d/rabbitmq.json
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "[password]" } }
Redis:
nano /etc/sensu/conf.d/redis.json
{ "redis": { "host": "127.0.0.1", "port": 6379 } }
Instalación y configuración de Uchiwa como la interfaz web del panel de control de Sensu
Sensu no tiene un panel de control instalado de forma predeterminada. Uchiwa es un panel de control de código abierto diseñado para Sensu.
Para instalar Uchiwa, escriba los siguientes comandos:
apt-get install uchiwa -y
Una vez instalado, necesitamos crear el archivo de configuración para Sensu. Se recomienda utilizar una contraseña segura para la cuenta de administrador de Uchiwa:
nano /etc/sensu/uchiwa.json
{ "sensu": [ { "name": "sensu.your-domain.com", "host": "127.0.0.1", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10, "user": "admin", "pass": "[password]" } }
Recuerde reemplazar [contraseña] con una contraseña segura de su elección.
Configurar Sensu Server como cliente
Podemos configurar Sensu para que se controle a sí mismo creando el siguiente archivo:
nano /etc/sensu/conf.d/client.json
{ "client": { "environment": "development", "name": "sensu-server", "address": "127.0.0.1", "subscriptions": [ "development", "sensu-server" ] } }
Finalmente, se requiere establecer los permisos correctos para la configuración.
chown -R sensu:sensu /etc/sensu/conf.d/*
chown sensu:sensu /etc/sensu/uchiwa.json
Gestión de servicios Sensu
Para habilitar el inicio automático de todos los servicios en el arranque:
systemctl enable sensu-server systemctl enable sensu-api systemctl enable sensu-client systemctl enable uchiwa
Asegurémonos de que todos los servicios estén iniciados:
systemctl start sensu-server systemctl start sensu-api systemctl start sensu-client systemctl start uchiwa
Ahora puede acceder a su panel de Uchiwa usando http://[server's public IP]:3000
. Debería poder ver sensu-server como cliente.
Eso es todo: ahora tiene un servidor de monitoreo Sensu en funcionamiento en su servidor Ubuntu 18.04.
Por supuesto, no tiene que instalar Sensu en Ubuntu 18.04 si tiene un VPS de Ubuntu con nosotros. Simplemente puede pedirle a nuestro equipo de soporte que instale Sensu en Ubuntu 18.04 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación.
Aquellos que usan Sensu en Ubuntu 20.04 pueden encontrar más información sobre cómo instalar Sensu en Ubuntu 20.04 en nuestra guía paso a paso.
PD . Si disfrutó leyendo esta publicación de blog sobre cómo instalar Sensu en Ubuntu 18.04, siéntase libre de compartirla en las redes sociales usando los accesos directos a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.