Sensu Go es una herramienta de monitoreo de aplicaciones e infraestructura de código abierto y gratuita para sistemas operativos basados en Linux. Se utiliza para monitorear servidores, servicios, aplicaciones y enviarte notificaciones por correo electrónico. Sensu Go automatiza el registro y la cancelación del registro de servidores, contenedores, servicios, aplicaciones, funciones y dispositivos conectados. Recopila métricas básicas del sistema, incluida la CPU, la memoria y el uso del disco. Puedes utilizar Sensu para forzar reinicios del servicio o ejecutar scripts personalizados cuando se detectan problemas.
En este tutorial te mostramos cómo instalar Sensu Go en Ubuntu 20.04 VPS.
Requisitos previos
- Un servidor Ubuntu 20.04 instalado en tu sistema.
- Un usuario root user o un usuario con privilegios sudo configurado en tu servidor.
Empezamos
Ante de comenzar, necesitarás actualizar los paquetes de tu sistema a la última versión. Esto puedes hacerlo con el siguiente comando:
# apt-get update -y
Una vez que todos los paquetes estén actualizados, instala otras dependencias requeridas utilizando el siguiente comando:
# apt-get install curl gnupg unzip wget -y
Una vez que todas las dependencias estén instaladas, puedes proceder a instalar Sensu Go.
Instala el Backend de Sensu Go
Por defecto, Sensu Go no está incluido en el repositorio por defecto de Ubuntu 20.04. Por ello, necesitarás instalar el repositorio del backend de Sensu Go en tu sistema. Puedes hacerlo con el siguiente comando:
# curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | bash
Después de añadir el repositorio, actualízalo e instala el backend de Sensu con el siguiente comando:
# apt-get update -y
# apt-get install sensu-go-backend -y
Después de instalar el backend de Sensu Go, también deberás descargar el archivo de configuración de Sensu Go en el directorio / etc / sensu. Puedes descargarlo usando el siguiente comando:
# curl -L https://docs.sensu.io./sensu-go/latest/files/backend.yml -o backend.yml
# mv backend.yml /etc/sensu/backend.yml
A continuación, inicia el servicio backend de Sensu y habilítalo para que se inicie al reiniciar el sistema:
# systemctl start sensu-backend
# systemctl enable sensu-backend
Ahora puedes verificar el estado del servicio Sensu usando el siguiente comando:
# systemctl status sensu-backend
Deberías ver el siguiente resultado:
● sensu-backend.service - The Sensu Backend service.
Loaded: loaded (/lib/systemd/system/sensu-backend.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2021-04-07 15:13:42 UTC; 7s ago
Main PID: 2721 (sensu-backend)
Tasks: 9 (limit: 2353)
Memory: 16.7M
CGroup: /system.slice/sensu-backend.service
└─2721 /usr/sbin/sensu-backend start -c /etc/sensu/backend.yml
Apr 07 15:13:44 Ubuntu2004 sensu-backend[2721]: {"component":"store","key":"/sensu.io/api/enterprise/secrets/v1/providers/","level":"debug","m>
Apr 07 15:13:44 Ubuntu2004 sensu-backend[2721]: {"component":"web","level":"info","msg":"starting webd on address: [::]:3000","time":"2021-04->
Apr 07 15:13:47 Ubuntu2004 sensu-backend[2721]: {"cache_version":"v1","component":"cache","level":"debug","msg":"rebuilding the cache for reso>
Apr 07 15:13:47 Ubuntu2004 sensu-backend[2721]: {"cache_version":"v2","component":"cache","level":"debug","msg":"rebuilding the cache for reso>
Apr 07 15:13:47 Ubuntu2004 sensu-backend[2721]: {"cache_version":"v1","component":"cache","level":"debug","msg":"rebuilding the cache for reso>
Apr 07 15:13:47 Ubuntu2004 sensu-backend[2721]: {"cache_version":"v2","component":"cache","level":"debug","msg":"rebuilding the cache for reso>
Apr 07 15:13:47 Ubuntu2004 sensu-backend[2721]: {"component":"tessend","level":"debug","metric_name":"event_count","metric_value":0,"msg":"col>
Apr 07 15:13:47 Ubuntu2004 sensu-backend[2721]: {"backend_id":"af1cf03c-ba26-48d1-86a4-e308d3c012c9","component":"metricsd","level":"debug","m>
Apr 07 15:13:48 Ubuntu2004 sensu-backend[2721]: {"backend_id":"af1cf03c-ba26-48d1-86a4-e308d3c012c9","component":"metricsd","level":"debug","m>
Apr 07 15:13:49 Ubuntu2004 sensu-backend[2721]: {"backend_id":"af1cf03c-ba26-48d1-86a4-e308d3c012c9","component":"metricsd","level":"debug","m>
Configura la Contraseña de Sensu Admin
A continuación, deberás crear un nombre de usuario y una contraseña de administrador para acceder al panel de Sensu Go. Puedes crearlo usando el siguiente comando:
# sensu-backend init --interactive
Te pedirá que proporciones el nombre de usuario y contraseña de Sensu admin como se muestra más abajo:
? Cluster Admin Username: sensuadmin
? Cluster Admin Password: *************
? Retype Cluster Admin Password: *************
{"component":"backend.seeds","level":"info","msg":"seeding etcd store with intial data","time":"2021-04-07T15:14:24Z"}
{"component":"store","level":"warning","msg":"migrating etcd database to a new version","time":"2021-04-07T15:14:24Z"}
{"component":"store","database_version":1,"level":"info","msg":"successfully upgraded database","time":"2021-04-07T15:14:24Z"}
{"component":"store","database_version":2,"level":"info","msg":"successfully upgraded database","time":"2021-04-07T15:14:24Z"}
Accede a la Interfaz Web de Sensu Go
En este momento, Sensu Go está instalado y escuchando en el puerto 3000. Ahora, abre tu navegador web y accede al panel de Sensu con la URL http: // your-server-ip: 3000. Serás redirigido a la página de inicio de sesión de Sensu:
Introduce tu nombre de usuario de administrador, contraseña y haz clic en el botón "INICIAR SESIÓN". Deberías ver el panel de Sensu en la siguiente página:
Instala Sensuctl
Sensuctl es una utilidad de línea de comandos que te ayudará a administrar y monitorear Sensu Go desde la interfaz de la línea de comandos.
Primero, agrega el repositorio Sensuctl con el siguiente comando:
# curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | bash
A continuacuión, instala Sensuctl utilizando el siguiente comando:
# apt-get install sensu-go-cli -y
Después de instalar la utilidad Sensuctl, ejecuta el siguiente comando para configurar Sensuctl:
# sensuctl configure
Proporciona las mismas credenciales de administrador que creaste con anterioridad:
? Authentication method: username/password
? Sensu Backend URL: http://127.0.0.1:8080
? Namespace: default
? Preferred output format: tabular
? Username: sensuadmin
? Password: *************
Instala el Agente Sensu Go
Ahora deberás instalar el paquete Sensu Go Agent en cada sistema que quieras monitorear. En esta sección, instalaremos el agente Sensu Go en el servidor Sensu Go.
Puede instalarlo ejecutando el siguiente comando:
# apt-get install sensu-go-agent -y
Una vez que la instalación se haya completado, descarga el archivo de configuración del agente con el siguiente comando:
# curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o agent.yml
# mv agent.yml /etc/sensu/agent.yml
A continuación, inicia el servicio agente con el siguiente comando:
# systemctl start sensu-agent
También puedes verificar el servicio agente con el siguiente comando:
# systemctl status sensu-agent
Deberías ver el siguiente resultado:
● sensu-agent.service - The Sensu Agent process.
Loaded: loaded (/lib/systemd/system/sensu-agent.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2021-04-07 15:19:47 UTC; 12s ago
Main PID: 3744 (sensu-agent)
Tasks: 8 (limit: 2353)
Memory: 3.3M
CGroup: /system.slice/sensu-agent.service
└─3744 /usr/sbin/sensu-agent start -c /etc/sensu/agent.yml
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","level":"info","msg":"successfully connected","time":"2021-04-07T15:19:47Z"}
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","header":"Accept: [application/octet-stream application/json]","level":"deb>
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","format":"protobuf","level":"debug","msg":"setting serialization/deserializ>
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","header":"Content-Type: application/octet-stream","level":"debug","msg":"se>
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","content_type":"application/octet-stream","level":"info","msg":"message rec>
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","level":"debug","msg":"received an entity config from the backend","time":">
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","level":"debug","msg":"successfully received the initial entity config","ti>
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"check":"keepalive","component":"agent","entity":"Ubuntu2004","event_uuid":"0064d633-12fa-4292->
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","content_type":"application/octet-stream","level":"info","msg":"message rec>
Apr 07 15:19:47 Ubuntu2004 sensu-agent[3744]: {"component":"agent","level":"debug","msg":"received an entity config from the backend","time":"
Ahora regresa al navegador web y actualiza la página Sensu Go. Debería ver la siguiente página:
Conclusión
Con este tutorial has aprendido a instalar y configurar la herramienta de monitoreo Sensu Go en un servidor Ubuntu 20.04.
¡Ya puedes añadir más nodos y empezar a monitorizar desde el panel de Sensu Go!
Nota
Recuerda que para realizar este tutorial, debes abrir el puerto 3.000 en el firewall de tu panel de control.