GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Sensu Monitoring en Ubuntu 20.04

Sensu es una herramienta gratuita y de código abierto que se utiliza para monitorear la infraestructura y el estado de las aplicaciones. Está escrito en Ruby, usa RabbitMQ para manejar mensajes y Redis para almacenar datos. Se puede instalar en la mayoría de los sistemas operativos, incluidos Ubuntu, Debian, RHEL, CentOS, IBM, AIX, FreeBSD, Mac OS, Solaris, Windows y muchos más. Es una de las plataformas más populares y de próxima generación que reemplaza a otros sistemas de monitoreo como Zabbix, Icinga y Nagios. Sensu utiliza un modelo cliente-servidor. Solo necesitará instalar un cliente sensu en cada sistema que desee monitorear.

En este tutorial, mostraremos cómo instalar el servidor de monitoreo Sensu en el servidor Ubuntu 20.04.

Requisitos

  • Un servidor con Ubuntu 20.04.
  • Se configura una contraseña de root en el servidor.

Cómo empezar

Primero, deberá actualizar su sistema a la última versión estable. Puede hacer esto actualizando todos los paquetes del sistema usando el siguiente comando:

apt-get update -y

Una vez que su sistema esté actualizado, instale otras dependencias usando el siguiente comando:

apt-get install gnupg2 curl wget unzip -y

Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Instalar Redis y RabbitMQ

Sensu usa RabbitMQ para manejar mensajes y Redis para almacenar datos. Así que ambos paquetes deben estar instalados en su sistema. De forma predeterminada, RabbitMQ no está disponible en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deberá agregar el repositorio RabbitMQ en su sistema.

Primero, importa la clave GPG con el siguiente comando:

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

A continuación, agregue el repositorio ejecutando el siguiente comando:

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

A continuación, actualice el repositorio e instale el paquete RabbitMQ con el siguiente comando:

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

Una vez instalado, deberá crear un vhost de RabbitMQ para Sensu. Puedes crearlo con el siguiente comando:

rabbitmqctl add_vhost /sensu

Debería ver el siguiente resultado:

Adding vhost "/sensu" ...

A continuación, cree un usuario para administrar el host virtual con el siguiente comando:

rabbitmqctl add_user sensu password

Debería ver el siguiente resultado:

Adding user "sensu" ...

A continuación, deberá asignar permisos completos para vhost /sensu.

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

Deberías obtener el siguiente resultado:

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

A continuación, instale el servidor Redis con el siguiente comando:

apt-get install redis-server -y

Una vez que se haya completado la instalación, inicie el servicio Redis y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start redis-server
systemctl enable redis-server

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar servidor Sensu

De forma predeterminada, Sensu no está disponible en el repositorio oficial de Ubuntu. Por lo tanto, deberá agregar el repositorio Sensu en su sistema.

Primero, importe la clave GPG del repositorio con el siguiente comando:

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

A continuación, agregue el repositorio con el siguiente comando:

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

Una vez que se agrega el repositorio, actualice el repositorio e instale Sensu con el siguiente comando:

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

Una vez que Sensu esté instalado, puede continuar con el siguiente paso.

Configurar Sensu

A continuación, deberá crear archivos de configuración para RabbitMQ, Redis y Api. Primero, cree un archivo api.json con el siguiente comando:

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo, luego cree un archivo redis.json con el siguiente comando:

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo, luego cree un archivo de configuración de RabbitMQ con el siguiente comando:

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo cuando haya terminado.

Instalar y configurar Sensu Dashboard

A continuación, deberá instalar el panel de Uchiwa en su sistema. Uchiwa es un panel de control de código abierto para monitorear Sensu a través de la interfaz web.

Puedes instalar el Uchiwa con el siguiente comando:

apt-get install uchiwa -y

Después de instalar Uchiwa, cree un archivo de configuración para Uchiwa con el siguiente comando:

nano /etc/sensu/uchiwa.json

Agregue las siguientes líneas:

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

Guarde y cierre el archivo cuando haya terminado.

A continuación, deberá crear un archivo client.json para monitorear el propio servidor Sensu. Puedes crearlo con el siguiente comando:

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo cuando haya terminado.

A continuación, inicie el servidor Sensu, Api, Uchiwa y el servicio de cliente Sensu con el siguiente comando:

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

Una vez que se inician todos los servicios, puede verificar el estado de todos los servicios con el siguiente comando:

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

Deberías obtener el siguiente resultado:

? 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 ubuntu2004 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 ubuntu2004 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 ubuntu2004 systemd[1]: sensu-client.service: Succeeded.
Aug 23 09:04:42 ubuntu2004 systemd[1]: Stopped sensu client.
Aug 23 09:04:42 ubuntu2004 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 vez que haya terminado, puede continuar con el siguiente paso.

Acceder al panel Sensu

Ahora, abra su navegador web y escriba la URL http://your-server-ip:3000. Debería ver el panel Sensu en la siguiente pantalla:

Ahora, haga clic en el cliente icono en el panel izquierdo. Debería ver el estado del cliente Sensu en la siguiente pantalla:

Conclusión

¡Felicidades! Ha instalado y configurado con éxito Sensu y Uchiwa en el servidor Ubuntu 20.04. Ahora puede agregar más clientes y comenzar a monitorear desde el tablero de Uchiwa. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo instalar Logstash en Ubuntu 18.04

  2. Cómo instalar Sensu en Ubuntu 18.04

  3. Cómo instalar Sensu en Ubuntu 20.04

  4. Cómo instalar XWiki en Ubuntu 20.04

  5. Cómo instalar phpBB en Ubuntu 20.04

Cómo instalar Sysdig en Ubuntu 20.04

Cómo instalar Cacti Monitoring en Ubuntu 15.04

Cómo instalar Sensu en Ubuntu 16.04 LTS

Cómo instalar Sensu Monitoring en Ubuntu 20.04 LTS

Cómo instalar Jenkins en Ubuntu 18.04

Cómo instalar Monit Monitoring Server en Ubuntu 20.04.