Cómo instalar la solución de monitoreo Sensu en Debian 11
En esta página
- Requisito previo
- Agregar repositorio Sensu
- Instalación de Sensu Backend
- Instalación de la línea de comandos de Sensuctl
- Instalación del agente Sensu
- Supervise los recursos del servidor con comprobaciones
- Conclusión
Sensu es un sistema de monitoreo de aplicaciones e infraestructura de código abierto diseñado para el monitoreo de contenedores y no contenedores y la infraestructura de múltiples nubes. Sensu es una solución de monitoreo escalable, segura e integrada para su tecnología e infraestructura de servidor. Se puede usar para monitorear servidores, el estado de las aplicaciones y los servicios, y enviar notificaciones de alertas a múltiples objetivos con integración de terceros.
En este tutorial, aprenderá cómo instalar el software de monitoreo Sensu en el servidor Debian 11. También aprenderá a configurar Sensu CLI para administrar Sensu. Finalmente, aprenderá cómo configurar el monitoreo del servidor con Sensu a través de Sensu Agent.
Requisito previo
Para esta implementación de Sensu, necesitará los siguientes requisitos:
- Un servidor Debian 11 con 4 GB de RAM y 2 CPU. Este requisito depende en gran medida de su entorno de infraestructura.
- Un usuario no root con privilegios de sudo/administrador.
- Se usará una máquina Linux como destino para monitorear.
Agregar repositorio Sensu
Para comenzar con la instalación de Sensu, deberá agregar el repositorio de paquetes de Sensu a todos sus sistemas, tanto a Sensu Backend como a los servidores de destino.
El repositorio de Sensu está disponible en packagecloud.io, que se puede agregar a su sistema manualmente o mediante el script bash proporcionado por packagecloud.io.
Antes de agregar el repositorio de Sensu, ejecute el siguiente comando apt para instalar las dependencias básicas del paquete. Presione Y y Enter cuando se le solicite que confirme la instalación.
sudo apt install debian-archive-keyring curl gnupg apt-transport-https
Ahora ejecute el siguiente comando para agregar el repositorio Sensu. Este script bash agregará automáticamente el repositorio Sensu y la clave GPG a sus servidores Debian.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
Si desea agregar manualmente el repositorio de Sensu, siga estos pasos:
Cree un directorio de conjunto de claves para almacenar la clave GPG del repositorio de Sensu.
mkdir -p /etc/apt/keyrings/
curl -fsSL https://packagecloud.io/sensu/stable/gpgkey | gpg --dearmor > /etc/apt/keyrings/sensu_stable-archive-keyring.gpg
Agregue el repositorio de Sensu usando el siguiente comando. Este repositorio es para Debian 11 Bullseye y la última versión estable de Sensu.
cat <<EOF | sudo tee /etc/apt/sources.list.d/sensu_stable.list
deb [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
deb-src [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
EOF
Ahora puede actualizar y refrescar el índice de su paquete Debian usando el siguiente comando apt.
sudo apt update
Instalación de Sensu Backend
El corazón principal de la solución de monitoreo Sensu es un \Sensu Backend\, que proporciona una API HTTP que puede ser utilizada por un administrador a través de la línea de comando \sensuctl\. API de WebSocket que utilizará \Sensu Agent\ para la supervisión y también proporciona un panel de interfaz de usuario web para administrar Sensu.
Además, Sensu usó \etcd\ para almacenar datos, especialmente en implementaciones grandes de Sensu Cluster.
Para instalar Sensu Backend, ejecute el comando apt a continuación. La instalación comenzará automáticamente.
sudo apt install sensu-go-backend
Una vez finalizada la instalación, descargue la muestra de la configuración del backend de Sensu en \/etc/sensu/backend.yml\. Luego, edite el archivo \/etc/sensu/backend.yml\ usando el siguiente comando.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml
sudo nano /etc/sensu/backend.yml
Descomente la siguiente configuración.
cache-dir: "/var/cache/sensu/sensu-backend"
config-file: "/etc/sensu/backend.yml"
log-level: "debug"
state-dir: "/var/lib/sensu/sensu-backend"
Cuando haya terminado, guarde y cierre el archivo.
A continuación, ejecute el siguiente comando systemctl para iniciar el servicio Sensu Backend y habilitarlo. Y el servicio Sensu Backend se ejecutará automáticamente al iniciar el sistema.
sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend
Verifique y verifique el servicio backend de Sensu usando el siguiente comando. Debería ver que el servicio Sensu Backend se está ejecutando y habilitado actualmente.
sudo systemctl status sensu-backend
Después de que se esté ejecutando Sensu Backend, ahora inicializará la instalación y configuración de Sensu Backend. Esto se puede hacer usando la línea de comando \sensu-backend init\, que es proporcionada por el paquete Sensu Backend.
Además, durante la inicialización de Sensu Backend, configurará el usuario y la contraseña de administrador para su solución de monitoreo Sensu.
Ejecute el siguiente comando para crear nuevas variables de entorno del sistema para el usuario y la contraseña del administrador de Sensu. En este ejemplo, creará un nuevo usuario administrador de Sensu \adminsensu\ con la contraseña \SensuRocks\.
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks
Ahora comience a inicializar el backend Sensu usando el siguiente comando. Debería ver el proceso de inicialización y Sensu almacenará los datos dentro del almacén de datos \etcd\.
sensu-backend init
Para comprobar y verificar la instalación del backend de Sensu, realizará la comprobación de estado de Sensu a través del comando curl en la API HTTP de Sensu que se ejecuta en el puerto predeterminado \8080\.
Ejecute el comando curl a continuación para realizar la verificación de estado de su instalación de back-end de Sensu. Debería ver el mensaje de salida en la pantalla de su terminal, como \salud: OK\.
curl http://127.0.0.1:8080/health
También puede visitar el panel de control de la interfaz de usuario web de Sensu a través del puerto TCP \3000\. Abra su navegador web y visite la dirección IP de su servidor siguiendo el puerto 3000 (es decir: http://192.168.5.100:3000). Y debería ver la página de inicio de sesión de Sensu.
Ingrese el usuario administrador \adminsensu\ con la contraseña \SensuRocks\. Luego, haga clic en \INICIAR SESIÓN\ para iniciar sesión en el panel de control de la interfaz de usuario web de Sensu.
Ahora debería ver el panel de administración web de Sensu.
Instalación de la línea de comandos de Sensuctl
En Sensu, el administrador puede administrar Sensu Monitoring Solution a través del panel de administración de la interfaz de usuario web de Sensu y a través del terminal de línea de comandos usando \sensuctl\.
El \sensuctl\ es una herramienta de línea de comandos para administrar los recursos de Sensu. Utiliza una API HTTP para comunicarse con Sensu Backend, que le permite crear, leer y eliminar recursos, eventos y entidades.
El \sensuctl\ se puede instalar en varios sistemas operativos, como Linux, Windows y macOS. La función de \sensuctl\ es similar al panel de control de la interfaz de usuario web de Sensu, y puede instalarlo en su estación de trabajo local o en el servidor \bastión\ seguro de su infraestructura.
Para sistemas basados en Debian/Ubuntu, ejecute el siguiente comando apt para instalar la herramienta de línea de comandos \sensuctl\. La instalación comenzará automáticamente.
sudo apt install sensu-go-cli
Una vez finalizada la instalación, ejecute el siguiente comando \sensuctl\ para comenzar a configurar y conectarse a la API del servidor Sensu Backend.
sensuctl configure
Se le pedirá con las siguientes configuraciones:
- Para el método de autenticación, seleccione \nombre de usuario/contraseña\.
- Ingrese la URL de la API backend de Sensu de su servidor. En este ejemplo, configuraremos \sensuctl\ en el mismo servidor, por lo que el host será localhost o \127.0.0.1\. Y el puerto predeterminado para Sensu HTTP API es \8080\ - http://127.0.0.1:8080.
- Para la configuración del espacio de nombres, seleccione \predeterminado\.
- Para el formato de salida, puede seleccionar el estilo \tabular\ o usar el formato de salida \yaml\.
- Por último, ingrese el usuario administrador y la contraseña para su Sensu Backend.
Ahora ha completado la configuración básica de \sensuctl\ y se ha conectado al servidor API de Sensu Backend.
Ejecute el siguiente comando \sensuctl\ a continuación para verificar su configuración. Debería ver las configuraciones API detalladas de \sensuctl\.
sensuctl config view
Además, el \sensuctl\ también proporciona un autocompletado para su shell. Si está utilizando bash, debe instalar el paquete \bash-completion\ y agregar alguna configuración al archivo de configuración \~/.bashrc\.
Ejecute el siguiente comando apt para instalar el paquete \bash-completion\.
sudo apt install bash-completion
Ahora identifique la configuración \~/.bashrc\ usando el siguiente comando.
sudo nano ~/.bashrc
Agregue la siguiente configuración al archivo.
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
source <(sensuctl completion bash)
Cuando haya terminado, guarde y cierre el archivo.
A continuación, vuelva a cargar la sesión actual de su shell con el siguiente comando.
source ~/.bashrc
Por último, ingrese el comando \sensuctl\ y presione el botón TAB para obtener todas las opciones de comando disponibles. Debería obtener todas las opciones disponibles del comando \sensuctl\.
sensuctl TAB
Instalación de Sensu Agent
Para monitorear el host o la máquina usando Sensu, debe instalar el paquete Sensu Agent en todos sus hosts. Sensu Agent está disponible para casi todas las distribuciones de Linux y Windows.
Para instalar Sensu Agent en un sistema Linux, asegúrese de agregar el repositorio de Sensu.
Para el sistema basado en Debian/Ubuntu, ejecute el siguiente comando apt para instalar el paquete Sensu Agent. Ahora comenzará la instalación.
sudo apt install sensu-go-agent
Una vez finalizada la instalación, descargue la configuración de Sensu Agent en \/etc/sensu/agent.yml\. Luego, edite la configuración \/etc/sensu/agent.yml\ usando el siguiente comando.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml
sudo nano /etc/sensu/agent.yml
Descomente estas configuraciones siguientes. asegúrese de cambiar el \nombre\ aquí por el nombre de host del sistema y el \backend-url\ con la dirección IP del servidor Sensu Backend.
En este ejemplo, agregaremos una máquina Debian con el nombre de host \linux-host1\ y disponible en el espacio de nombres \predeterminado\. El servidor Sensu Backend aquí es \192.168.5.100\ con el puerto de API WebSocket predeterminado de Sensu Backend \8081\.
name: "linux-host1"
namespace: "default"
...
backend-url:
- "ws://192.168.5.100:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"
Cuando haya terminado, guarde y cierre el archivo.
A continuación, ejecute el siguiente comando para iniciar el servicio Sensu Agent y habilitarlo para que se ejecute automáticamente al iniciar el sistema.
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agent
Ahora ejecute el siguiente comando para comprobar y verificar el servicio Sensu Agent. Debería ver que Sensu Agent se está ejecutando y habilitado.
sudo systemctl status sensu-agent
A continuación, vuelva a su navegador web y seleccione el espacio de nombres \predeterminado\. Y debería ver que el nuevo host de entidad \linux-host1\ está disponible.
También puede verificar desde la línea de comando del terminal usando el comando \sensuctl\ como se muestra a continuación. Debería ver el agente \linux-host1\ agregado a Sensu Monitoring Solution.
sensuctl entity list --format tabular
Supervise los recursos del servidor con comprobaciones
Sensu Agent funciona para proporcionar una vía para que el nodo del agente o el servidor de destino accedan al Sensu Backend a través de la API de WebSocket. Para monitorear los recursos del servidor, como el uso de la CPU, el uso del ancho de banda y el uso del disco, deberá configurar \Suscripción\ y crear algún \Verificar\ encima. Luego, puede agregar múltiples \Suscripciones\ a Sensu Agent o al servidor de destino.
Para monitorear los recursos del servidor utilizando Sensu, deberá realizar los siguientes pasos:
- Crear suscripción
- Registrar activos de tiempo de ejecución de Sensu
- Comando Define Checks para verificar los recursos del sistema
Antes de continuar, ejecute el siguiente comando \sensuctl\ para crear una nueva suscripción denominada \system\ para la entidad \linux-host1\.
sensuctl entity update linux-host1
Se le solicitarán las siguientes preguntas:
- Para la clase de entidad\, deje como predeterminado \agente\ y presione ENTER.
- Para \Suscripciones\, ingrese el nombre del \sistema\ de suscripción y presione ENTER.
En Sensu, \Checks\ básicamente define un comando que se puede usar para monitorear los recursos del servidor. \Cheques\ es la línea de comando que puede definir en la parte superior de Sensu \Activos\ y \Suscripciones\ para todas sus necesidades de monitoreo. Para crear \Comprobaciones\, configurará activos de tiempo de ejecución dinámicos a través del comando \sensuctl\. Todos los \activos\ de Sensu se pueden encontrar en https://bonsai.sensu.io/.
Ahora ejecute el comando \sensuctl\ a continuación para crear y registrar Sensu \Assets\ para monitorear el uso de la CPU. Debería ver el mensaje de salida como \recurso añadido: sensu/check-cpu-usage:0.2.2\. En este ejemplo, también cambiamos el nombre predeterminado del activo a \verificar-uso-de-cpu\ con la opción \-r\.
sensuctl asset add sensu/check-cpu-usage:0.2.2 -r check-cpu-usage
Ahora ejecute el siguiente comando para verificar la lista de activos de Sensu. Debería ver que el recurso \check-cpu-usage\ está disponible en Sensu.
sensuctl asset list
A continuación, ejecute el siguiente comando para crear el comando \Comprobaciones\ para monitorear el uso de la CPU. En este ejemplo, creará un nuevo nombre de comando de verificación \check_cpu\ que estará disponible en la suscripción \system\ y se basará en el activo \check-cpu- uso\. También puede cambiar el parámetro aquí en la opción \--command\. Y debería obtener el mensaje de salida como \Creado\.
sensuctl check create check_cpu \
--command 'check-cpu-usage -w 75 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets check-cpu-usage
Ejecute el siguiente comando \sensuctl\ para comprobar y verificar \check_cpu\. Debería ver los detalles de \Comprobaciones\ de \check_cpu\ que acaba de crear.
sensuctl check info check_cpu --format yaml
Ahora puede verificar el monitoreo de eventos \check_cpu\ usando el siguiente comando. Debería ver que la supervisión del uso de la CPU para \linux-host1\ está configurada y finalizada.
sensuctl event list --format tabular
Ahora vaya al panel de administración de Sensu y seleccione el espacio de nombres \predeterminado\. En el menú \Entidad\, debe agregar el agente \linux-host1\ al sistema de monitoreo Sensu.
Ahora, si hace clic en los detalles del agente \linux-host1\, verá \Comprobaciones\ monitoreando \check_cpu\ que acaba de crear.
A continuación, puede agregar y crear más \Comprobaciones\ para su sistema de monitoreo.
Conclusión
Ahora ha realizado la instalación de Sensu Monitoring Solution en Debian 11 Server. También aprendió el uso básico del comando Sensuctl para administrar el backend Sensu. Además, ha monitoreado con éxito la máquina host de Linux a través de Sensu Agent y ha configurado \verificaciones\ para monitorear su servidor de destino.