GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo agregar un host Linux remoto a la herramienta de monitoreo Sensu

Los clientes Sensu son agentes de monitoreo, instalados y ejecutados en cada servidor que está siendo monitoreado por la herramienta Sensu. El trabajo de un cliente Sensu es registrar un sistema con Sensu , enviar mensajes de Keepalive y ejecutar controles de seguimiento .

Cada cliente puede ser miembro de una o más suscripciones; simplemente puede decir; una lista de roles asignados a ellos (Ej., servidor web, base de datos, etc.).

Cuando un cliente se suscribe a las solicitudes de verificación publicadas por el servidor Sensu (a través de RabbitMQ – Sensu transport), las ejecuta localmente y publica el resultado de la verificación nuevamente en Sensu transport, y luego un servidor Sensu procesará los resultados.

En esta guía, configuraremos las máquinas cliente para enviar los resultados de las comprobaciones de servicio al servidor Sensu. Suponiendo que haya seguido nuestros artículos anteriores sobre Sensu core.

LEER :Instalar Sensu en Ubuntu 16.04 / Debian 8

Sensu core no viene con el tablero gráfico, por lo que deberá instalar Uchiwa, un tablero de código abierto para la herramienta de monitoreo Sensu.

LEER :Cómo instalar Uchiwa:panel de código abierto para la herramienta de monitoreo Sensu

Añadir repositorios Sensu:

Dependiendo de su sistema operativo, configure el repositorio de Sensu para obtener el paquete del sitio web oficial.

### CentOS 7 / RHEL 7 ###

echo '[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/7/x86_64/
gpgcheck=0
enabled=1' | sudo tee /etc/yum.repos.d/sensu.repo

### Ubuntu 16.04 / Debian 8 ###

sudo apt-get update && sudo apt-get -y install apt-transport-https
wget -q https://sensu.global.ssl.fastly.net/apt/pubkey.gpg -O- | sudo apt-key add -
echo "deb     https://sensu.global.ssl.fastly.net/apt sensu main" | sudo tee /etc/apt/sources.list.d/sensu.list
sudo apt-get update

Instale Sensu usando el siguiente comando.

### CentOS 7 / RHEL 7 ### 

yum -y install sensu

### Ubuntu 16.04 / Debian 8 ###

sudo apt-get -y install sensu

Registrar un Sistema:

El directorio de configuración predeterminado de Sensu es /etc/sensu/config.d , en algunos casos, es posible que deba crear este directorio manualmente si no está disponible.

Los archivos de configuración deben estar en formato JSON . Crear cliente.json archivo.

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

Coloque el siguiente contenido en el archivo anterior.

{
"client": {
  "name": "debian.itzgeek.local",
  "address": "10.128.0.4",
  "environment": "production",
  "subscriptions": [
    "web",
    "debian"
  ]
 }
}

donde,

cliente:nombre del cliente, debe ser un nombre único. Mi máquina es Debian 8 .

dirección:dirección IP o nombre de host del cliente.

entorno: un atributo personalizado, que no forma parte de la especificación del cliente Sensu. Estos atributos personalizados son verificados por los filtros Sensu que lo ayudan a realizar acciones específicas según el entorno (por ejemplo, solo alertar sobre eventos en el entorno de producción)

suscripciones:lista de funciones o responsabilidades asignadas al cliente.

Configure el cliente Sensu para conectarse con el transporte Sensu. Cree el archivo transport.json.

vi /etc/sensu/conf.d/transport.json

Coloque el siguiente contenido en el archivo anterior.

{
 "transport": {
   "name": "rabbitmq",
   "reconnect_on_error": true
  }
 }

Configure los detalles de transporte de Sensu creando rabbitmq.json.

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

Copie y pegue el contenido a continuación en el archivo anterior. Reemplace los valores en verde según la configuración de Sensu.

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

donde,

host:IP del servidor RabbitMQ (servidor Sensu)

puerto:puerto del servidor RabbitMQ

vhost, usuario y contraseña:host virtual, usuario y contraseña de RabbitMQ que creamos durante la instalación del servidor Sensu.

Reinicie el servicio de cliente Sensu usando el siguiente comando.

service sensu-client restart

Abre el panel de Uchiwa y ver si el nuevo cliente se registró con éxito en el servidor Sensu.

La siguiente captura de pantalla muestra los detalles de un cliente recién agregado.

Ahora es el momento de configurar Sensu para monitorear su infraestructura.

Monitorizar un Servicio:

Sensu usa controles (comandos) para monitorear una infraestructura, el cliente Sensu lo ejecuta para monitorear una condición (por ejemplo, verificar el estado del servicio) o recopilar medidas (por ejemplo, cuánta memoria se usa).

Los datos de resultados de las comprobaciones estándar suelen estar en un mensaje legible por humanos, y las comprobaciones métricas suelen contener mediciones recopiladas por comprobación. Además, el estado del código de salida indica el estado; 0:correcto , 1 – ADVERTENCIA y 2 – CRÍTICO , similar a Nagios; significa que puede usar complementos de Nagios con Sensu sin modificaciones.

Estas comprobaciones están programadas por el servidor Sensu o el cliente Sensu.

Comprobaciones de suscripción:

Estas comprobaciones están definidas y programadas centralmente por el servidor Sensu, y tienen un conjunto definido de suscriptores (se podría decir, un rol) y los clientes sensu se suscriben a estos roles (es decir, suscripción) a través de "suscripción ” atributo.

Supervisemos el servicio de Apache usando las “comprobaciones de suscripción ” con el intervalo de 60 segundos. En el servidor sensu, cree un archivo de configuración para "Comprobaciones de suscripción ” en el servidor Sensu.

raj@server:~$ sudo vi /etc/sensu/conf.d/apache_check.json

Coloque el siguiente contenido arriba de .json archivo.

Si el cliente es Ubuntu 16.04 / Debian 8 :

{
  "checks": {
    "apache-status": {
      "command": "check-process.rb -p apache2",
      "subscribers": [
        "web"
      ],
      "interval": 60    
    }
  }
}

Si el cliente es CentOS 7 / RHEL 7 :

{
  "checks": {
    "apache-status": {
      "command": "check-process.rb -p httpd",
      "subscribers": [
        "web"
      ],
      "interval": 60    
    }
  }
}

Reinicie el “sensu-server ” usando el siguiente comando.

raj@server:~$ sudo service sensu-server restart

Asegúrese de que la máquina cliente (p. ej., debian.itzgeek.local ) está suscrito a “web “, si no, actualice el client.json archivo.

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

El archivo debería tener el siguiente aspecto.

{
"client": {
  "name": "debian.itzgeek.local",
  "address": "10.128.0.4",
  "environment": "production",
  "subscriptions": [
    "web",
    "debian"
  ]
 }
}

Los complementos Sensu proporcionan un script ejecutable que se puede usar como controles Sensu para monitorear los recursos del sistema, los servicios y el estado de la aplicación. Instale el complemento Sensu para verificaciones de procesos “sensu-plugins-process-checks ” usando el comando gem en la máquina cliente (debian.itzgeek.local ).

/opt/sensu/embedded/bin/gem install sensu-plugins-process-checks

Abra el panel de control de Uchiwa y espere un momento, vuelva a comprobar "apache-status ” aparecerá en un minuto. Si el proceso de Apache no se está ejecutando o no se encuentra, es posible que reciba un mensaje de evento crítico como el siguiente en el tablero.

Si el proceso de Apache se está ejecutando, entonces el tablero podría verse como a continuación.

Espero que ahora hayas entendido cómo “Comprobaciones de suscripción ” trabajo en Sensu. Veremos "Comprobaciones independientes ” en la siguiente sección.

Cheques independientes:

Estas comprobaciones se definen en un cliente Sensu (debian.itzgeek.local ) con el atributo de verificación "independiente ” establecido en “verdadero “. Aquí, el cliente Sensu utiliza su propio planificador para programar comprobaciones independientes y envía el resultado de las comprobaciones al servidor Sensu.

Supervisemos el espacio en disco usando las “comprobaciones independientes ” con el intervalo de 60 segundos. En la máquina cliente (debian.itzgeek.local ), instale el complemento de espacio en disco Sensu usando el siguiente comando.

/opt/sensu/embedded/bin/gem install sensu-plugins-disk-checks

Cree un archivo de configuración para comprobar el disco en “/etc/sensu/conf.d ” directorio.

vi /etc/sensu/conf.d/disk_check.json

Use el contenido a continuación para esta verificación.

{
  "checks": {
    "disk-status": {
      "command": "check-disk-usage.rb -w 70 -c 90",
      "standalone": true,
      "interval": 60
   }
 }
}

Reinicie el servicio sensu-client.

service sensu-client restart

Abre el panel de Uchiwa y vea si el nuevo cheque está visible en el tablero.

La imagen de abajo muestra que el uso del disco está en condición de advertencia.

Interesado en la supervisión del servidor:

LEER :Instalar y configurar Nagios en CentOS 7/Ubuntu 16.04/Debian 8

LEER :Instalar Icinga2 en Ubuntu 16.04/14.04, Debian y Mint

LEA:Cómo instalar Zabbix Server 3.2 en CentOS 7/Ubuntu 16.04/Debian 8

LEER :Instalar Monitorix en CentOS 7/Ubuntu 16.04/Fedora 24/Debian 8:herramienta ligera de supervisión de sistemas OpenSource

LEER :Netdata:herramienta de supervisión del rendimiento en tiempo real para Linux

Eso es todo. Gracias por leer.


Debian
  1. Cómo agregar un host remoto de Linux y Windows a Icinga 2 para monitoreo

  2. Cómo agregar un host de Windows y Linux al servidor Nagios para monitoreo

  3. Cómo agregar un host remoto de Linux a Cacti para monitoreo

  4. Cómo incluir en la lista blanca una IP en Fail2ban en Debian Linux

  5. ¿Cómo agregar una conexión MySQL remota en Linux?

Cómo SSH en un directorio particular en Linux

Cómo instalar la herramienta de monitoreo del sistema Gtop en Linux

Cómo agregar un host Linux al servidor Nagios Ubuntu - Parte 2

Cómo instalar la herramienta de monitorización de Pandora FMS en Ubuntu Linux

Cómo instalar el cliente de escritorio remoto Remmina en Ubuntu Linux

Cómo instalar la herramienta de monitoreo Icinga 2 en Rocky Linux 8