Cómo configurar Icinga2 para monitorear nodos en un centro de datos

Icinga2 es una excelente herramienta de código abierto para monitorear todos los servidores de su centro de datos. Con esta herramienta, puede capacitar a su personal de IT para manejar problemas antes de que se conviertan en algo mucho más grande. Aunque Icinga2 facilita significativamente esta tarea, el método simple de configurar un nodo en el archivo hosts.conf no es tan seguro como desearía.

Con un poco de trabajo adicional, Icinga2 puede monitorear los parámetros de salud internos de un nodo de centro de datos (como la carga de la CPU, el espacio en disco, la memoria y el número de procesos en ejecución) a través de una configuración de canal seguro maestro/cliente.

A continuación, configuraré una instalación maestra y cliente de Icinga2. Utilizaré Ubuntu Server para ambas instancias y asumiré que ya tiene Icinga2 en funcionamiento en el maestro. (Consulte: Cómo instalar la herramienta de monitoreo Icinga2 en Ubuntu Server 16.04 y Cómo agregar hosts remotos al sistema de monitoreo Icinga2).

Índice de Contenido
  1. Configurando el maestro
  2. Configurando el cliente
  3. Crear los archivos de configuración

Configurando el maestro

Lo primero que debe hacer es configurar el maestro. Mi maestro tiene la dirección IP 192.168.1.193. Es importante conocer el nombre completo del host tanto del maestro como del cliente. El nombre del host de mi maestro es ubuntu16.04 (use el comando less /etc/hosts para encontrar el suyo). El nombre del host de mi cliente de prueba es localhost.localdomain. Como esto es solo para fines de prueba, está bien usar localhost.localdomain. Sin embargo, no use esto para sus servidores.

Aunque ya tiene Icinga2 en funcionamiento, aún debe ejecutar la configuración para que sea un maestro para un agente. Afortunadamente, esto es bastante sencillo. Inicie sesión en su servidor de Icinga2 y ejecute el siguiente comando:

sudo icinga2 node wizard

Cómo garantizar la validación local de los clientes en un dominio multi-sitio

Se le harán algunas preguntas sencillas (las respuestas están en mayúsculas):

Por favor, especifique si esto es una configuración de satélite ('n' instala una configuración de maestro) [Y/n]: N
Por favor, especifique el nombre común (CN) [icinga]: NOMBRE_DE_HOST_DEL_SERVIDOR
Por favor, especifique el host/puerto de enlace de la API (opcional): DEJE EN BLANCO
Enlace de host []: DEJE EN BLANCO
Puerto de enlace []: DEJE EN BLANCO

Cuando se complete lo anterior, reinicie el servicio de Icinga2 con el siguiente comando:

sudo systemctl restart icinga2

Ahora tenemos que generar un ticket de cliente para su nodo. Ejecute el siguiente comando:

icinga2 pki ticket --cn 'NOMBRE_DEL_NODO'

Cuál es la mejor opción de protocolo de enrutamiento para una red empresarial

Donde NOMBRE_DEL_NODO es el nombre completo del host de su cliente (en mi caso, localhost.localdomain). Es importante que lo escriba correctamente, de lo contrario, el cliente de Icinga2 no podrá conectarse al maestro. Copie la cadena generada.

Configurando el cliente

Muévase al cliente al que desea conectarse al maestro. Si Icinga2 no está instalado en este servidor, hágalo con el siguiente comando:

sudo apt-get install icinga2 -y

Una vez instalado, ejecute el asistente de nodos con el siguiente comando:

sudo icinga2 node wizard

Responda las preguntas de la siguiente manera:

Los 8 pasos para solucionar problemas de red y sistemas

Por favor, especifique si esto es una configuración de satélite ('n' instala una configuración de maestro) [Y/n]: Y
Por favor, especifique el nombre común (CN) [localhost.localdomain]: DEJE EN BLANCO
Nombre Común de Maestro (CN de su configuración maestra): NOMBRE_DEL_MAESTRO
¿Desea establecer una conexión con el nodo principal? Desde este nodo [Y/n]: y
Host del punto final principal (Dirección IP o FQDN de su maestro): IP_DEL_MAESTRO
Puerto del punto final principal [5665]: DEJE EN BLANCO ¿Agregar más puntos finales maestros? [y/N]: n
Por favor, especifique la conexión maestra para la firma automática de CSR (maestro por defecto): DEJE EN BLANCO
Host [10.25.32.120]: DEJE EN BLANCO
Puerto [5665]: DEJE EN BLANCO

Donde:

  • NOMBRE_DEL_MAESTRO es el nombre completo del servidor maestro.
  • IP_DEL_MAESTRO es la dirección IP del maestro.
  • DEJE EN BLANCO significa simplemente presionar Enter en su teclado.

Luego se le preguntará si la información es correcta. Escriba "y" y presione Enter en su teclado. A continuación, se le pedirá que pegue la clave PKI de su servidor (Figura A). Haga esto y presione Enter en su teclado.

Finalmente, se le harán otra serie de preguntas breves:

Por favor, especifique el host/puerto de enlace de la API (opcional): DEJE EN BLANCO
Enlace de Host []: DEJE EN BLANCO
Puerto de enlace []: DEJE EN BLANCO
¿Aceptar la configuración del maestro? [y/N]: y
¿Aceptar comandos del maestro? [y/N]: y

Una vez que haya respondido lo anterior, reinicie el daemon de Icinga2 en el nodo con el siguiente comando:

Diferencias entre redes cliente/servidor y peer-to-peer

sudo systemctl restart icinga2

Crear los archivos de configuración

A continuación, debemos crear un nuevo directorio para albergar un par de archivos de configuración. Ejecute el siguiente comando:

sudo mkdir /etc/icinga2/zones.d/NOMBRE_DEL_NODO

Donde NOMBRE_DEL_NODO es el nombre de su nodo (para mi ejemplo, localhost.localdomain).

A continuación, cree los dos archivos de configuración con los siguientes comandos:

sudo touch /etc/icinga2/zones.d/NOMBRE_DEL_NODO/NOMBRE_DEL_NODO.conf
sudo touch /etc/icinga2/zones.d/NOMBRE_DEL_NODO/services.conf

Qué son los switches Cisco y cómo funcionan

Donde NOMBRE_DEL_NODO es el nombre de su nodo (para mi ejemplo, localhost.localdomain).

En el archivo NOMBRE_DEL_NODO.conf, pegue lo siguiente:

object Zone "NOMBRE_DEL_NODO" {
endpoints = [ "NOMBRE_DEL_NODO" ]
parent = "NODO_SERVIDOR"
}

object Endpoint "NOMBRE_DEL_NODO" {
host = "IP_DEL_NODO"
}

object Host "NOMBRE_DEL_NODO" {
import "generic-host"
address = "IP_DEL_NODO"
vars.http_vhosts["http"] = {
http_uri = "/"
}
vars.notification["mail"] = {
groups = [ "icingaadmins" ]
}
vars.client_endpoint = name
}

Donde NOMBRE_DEL_NODO es el nombre del nodo, NODO_SERVIDOR es el nombre del maestro de Icinga2 y IP_DEL_NODO es la dirección IP del nodo. Guarde y cierre ese archivo.

Técnicas para mejorar la seguridad en redes peer-to-peer

A continuación, en el archivo services.conf, pegue lo siguiente:

apply Service "carga" {
import "generic-service"
check_command = "carga"
command_endpoint = host.vars.client_endpoint
assign where host.vars.client_endpoint
}

apply Service "procs" {
import "generic-service"
check_command = "procs"
command_endpoint = host.vars.client_endpoint
assign where host.vars.client_endpoint
}

Guarde y cierre ese archivo.

Una vez que haya terminado con eso, reinicie Icinga2 con el siguiente comando:

sudo systemctl restart icinga2

Cómo cargar y descargar módulos del kernel de Linux: una guía completa

Después de un momento, el nuevo agente aparecerá y Icinga2 comenzará a monitorearlo con algo más que una prueba de ping, utilizando un método de conexión más seguro que la configuración estándar de hosts.conf.

Si el nodo no aparece, consulte nuevamente Cómo agregar hosts remotos al sistema de monitoreo Icinga2.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Redes, allí encontraras muchos artículos similares a Cómo configurar Icinga2 para monitorear nodos en un centro de datos , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.