Implementación y configuración de Netdata v1.16.1 [Debian9]

Netdata es una herramienta para visualizar y monitorear métricas en tiempo real, optimizada para acumular todo tipo de datos, como uso de CPU, actividad de disco, consultas SQL, visitas a un sitio web, etc. La herramienta está diseñada para visualizar el ahora en el mayor detalle posible, permitiendo al usuario obtener una visión de lo que está sucediendo y lo que acaba de suceder en su sistema o aplicación, siendo una opción ideal para solucionar problemas de desempeño en tiempo real. Su objetivo es brindar métricas en tiempo real.

Consiste en un demonio que, al ejecutarse, se encarga de obtener información en tiempo real, por segundo, y presentarla en un sitio web para su visualización y análisis. La presentación es interactiva y en tiempo real.

Se trata de una herramienta ligera, en su mayor parte escrita en C, la cual presenta bajos niveles de consumo durante su ejecución: alrededor de 2% de uso para un CPU de un único hilo y unos pocos megabytes de RAM.

Puede ejecutarse en cualquier kernel GNU/Linux para monitorear cualquier sistema o aplicación, siendo posible correrla en PCs, servidores o dispositivos embebidos Linux.
Las mejoras introducidas en la nueva versión se pueden ver en el siguiente link:

https://github.com/netdata/netdata/blob/master/CHANGELOG.md

1-DATOS:

  • netdata1 (netdata-master): 192.168.9.100/24
  • netdata2 (netdata-slave): 192.168.9.101/24

2-Pre-requisitos

Otros paquetes útiles para los plugins de Netdata (son opcionales):

El motor de la DB de Netdata puede ser habilitado cuando los siguientes paquetes son instalados:

3-Instalando Netdata

#=============================================================

NOTA: El siguiente procedimiento describe cómo instalar Netdata, así como establecer una estructura de master-slave. Por medidas de seguridad, se recomienda implementar TLSv1.2 en la comunicación de streaming de las métricas entre el master y el slave. En esta guía se omite esta configuración de seguridad, y se explica el modo “Legacy”. Usted puede no implementar cifrado entre el master y el slave si y sólo si usted tiene la gestión de la red desde un segmento aislado y seguro, como bien podría ser la subred de gestión, a la cual usted sólo accede via tunel VPN y la información de gestión entre el netdata-master (ubicado en la subred de gestión) y los netdata-salves (ubicados en los segmentos de GI y DMZ) se comunican a través de tunel de gestión, mediante soluciones de código abierto VPN, como OpenVPN o SoftEtherVPN

#=============================================================

Para instalar netdata en modo “offline” (sin conexión a internet) y especificamos manualmente el directorio de instalación del servidor, necesitaremos pasarle la opción “–disable-go” al script de instalacción “./netdata-installer.sh”. La opción especificada evitara que se intente descargar e instalar de internet el paquete “go.d.plugin”.

Debe devolver algo como esto:

Presionamos ENTER para continuar con la instalación. Al finalizar debe devolver algo como esto:

Verificamos que el servicio esté corriendo:

5-Automatizando el servicio con el cron:

#=============================================================

NOTA: El script de instalación ofrece una opción para automatizar el servicio con la ejecución del mismo al iniciar el sistema; pero en este caso lo haremos nosotros mismos

#=============================================================

Agregar lo siguiente:

Reiniciamos el cron:

Hasta aquí, usted cuenta con un servicio de Netdata para visualizar en los dashboard de la web, las métricas del servidor local, sin embargo, a continuación se explica cómo configurar una estructura master-slave.

4-Configurando Netdata-master

Generando el uudi para el API_KEY:

Debe devolver un ID con la misma cantidad de cifras que el siguiente ejemplo:

#=============================================================

NOTA: Las API keys son GUIDs aleatorias. Use el comando Linux “uuidgen” para generar una. Usted puede usar la misma API key para todos los nodos slave, o puede configurar una API para cada uno de ellos. Esto es su decisión. Se recomienda usar la misma API key para cada plantilla de nodo efímero que se tenga, entonces todas las réplicas del mismo nodo efímero stendrá exactamente la misma configuración.

#=============================================================

Editamos el fichero “/etc/netdata/stream.conf”, para que acepte las métricas de todos los esclavos que usen la misma API. Si se usan varias “API keys”, se puede agregar una sección por cada “API key”:

Agregamos lo siguiente (adaptando a su red):

Reiniciamos el nodo netdata-master:

Ahora el netdata-master se encuentra listo para recibir métricas.

5-Configurando Netdata-slave

Configuramos el “stream” para que el slave pueda enviar sus métricas hacia el master. Editamos el
fichero “/etc/netdata/stream.conf”:

Agregar lo siguiente (adaptando a su red):

Deshabilitamos la base de datos local, lo cual implica que se debe deshabilitar también el “health checks”, ya que para su uso requiere de la base de datos local. Para ello, editamos el fichero “/etc/netdata/netdata.conf”:

Agregar lo siguiente (adaptando a su red):

6-Dashboard de Netdata v1.16.1

Visualización de las métricas deshabilitada en la web del netdata-slave:

Visualización de las métricas habilitada en la web del netdata-master:

 

(Visited 1 times, 1 visits today)
Franco Diaz Hurtado
Sobre Franco Diaz Hurtado 4 Artículos
Ing. Telecomunicaciones y Electrónica; Administrador de redes en la dirección general de ECASA

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*