Existen diversas aplicaciones que han sido desarrolladas para optimizar el rendimiento del sistema y sus aplicaciones y muchas otras son creadas para permitirnos ver en tiempo real como se comportan cada uno de los parámetros del sistema.
Una de estas aplicaciones es NetData la cual se diseñó para darnos la posibilidad de ver en tiempo real todo lo que sucede en el sistema y en las aplicaciones, ofreciéndonos paneles web interactivos y múltiples alarmas de rendimiento y salud para así estar al tanto de cualquier cambio que ocurra allí.
Por ello vamos a ver como instalar NetData en Ubuntu 18.04 Server y comprender cómo es una herramienta vital para cualquier administrador.
- Posibilidad de analizar miles de métricas por cada servidor, asi será posible ver métricas de elementos como CPU, RAM, discos, red, firewall, QoS, NFS, ZFS, y mucho más.
- Métricas de rendimiento detalladas para múltiples de aplicaciones como servidores web, servidores de bases de datos, servidores de correo electrónico, y más.
- NetData soporta la autodetección para todo tipo de elementos, es capaz de recopilar más de 5000 métricas de forma automática, su configuración es de cero, tiene cero dependencias, no requiere mantenimiento alguno y cuenta con más de 100 alarmas preconfiguradas para alertarnos sobre algún cambio que se presente en el sistema.
- Las notificaciones de alarmas están basadas en roles y admiten umbrales dinámicos y pueden enviarse a través de diversos métodos como correo electrónico, slack.com, pushover.net, pushbullet.com y más.
- NetData puede recopilar miles de métricas de servidor por segundo sin usar más del 2% de recursos del equipo
- Los paneles personalizados se pueden construir usando HTML simple lo cual nos permite aumentar la capacidad de diseño
- NetData tiene dependencias mínimas y es capaz de funcionar aun en dispositivos IoT.
- Cuenta con APIs de complemento como BASH, Python, Perl, Node.js, java, Go y más.
1. Instalar dependencias en Ubuntu 18.04 Server
El primer paso que dar consiste en actualizar el sistema operativo usando el siguiente comando:
sudo apt update
El siguiente paso consiste en instalar las dependencias de NetData, las cuales incluyen el gcc (un compilador de C), las herramientas GNU Autoconf, la administración GUID y las bibliotecas de compresión para el servidor web interno de NetData, para ello ejecutamos lo siguiente:
sudo apt install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl
Ingresaremos la letra S para continuar y descargar los respectivos paquetes. El siguiente conjunto de paquetes es opcional, pero es recomendado por Netdata el cual incluye Python, algunos paquetes de Python y Node.JS, podemos ejecutar lo siguiente. Igualmente debemos ingresar la letra S para aceptar la descarga e instalación de los mismos.
sudo apt install python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat
2. Usar los repositorios de NetData en Ubuntu 18.04 Server
Para la correcta instalación de Netdata, sera necesario usar el repositorio GitHub del proyecto, para esto vamos a clonar el repositorio de Netdata en nuestro directorio personal ejecutando lo siguiente:
git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata
Ahora, accederemos al directorio clonado:
cd ~/netdata
Ahora vamos a compilar e instalar la aplicación usando el script de shell netdata-installer.sh en este directorio, debemos anteponer sudo ya que si no lo hacemos la forma en que Netdata recopila los datos del sistema no funcionaría de la forma esperada. Ejecutamos lo siguiente:
sudo ./netdata-installer.sh
Aquí vemos información sobre dónde NetData almacenará todos los componentes en sí, pulsamos Enter para proceder con la instalación:
Una vez esta concluya veremos lo siguiente:
3. Configurar el Firewall en Ubuntu 18.04 Server
Ahora será necesario abrir el puerto 19999 para el servidor web interno de NetData en el Firewall, para ello vamos a ejecutar lo siguiente:
sudo ufw allow 19999/tcp
4. Configurar el uso de datos de NetData en Ubuntu 18.04 Server
En este momento podemos ver la configuración de NetData ejecutando lo siguiente en un navegador:
http://Direccion_IP:19999/netdata.conf
Aquí podemos ver que todas las opciones configurables están comentadas, con un signo #, esto es porque la configuración de NetData funciona haciendo uso de un conjunto de valores predeterminados y cualquier configuración deshabilitada tomará el valor predeterminado de NetData; con esto, si una configuración no está comentada, el valor especificado anulará el valor predeterminado.
En la terminal, esta configuración la encontramos en la ruta /etc/netdata/netdata.conf. Vamos a configurar el parámetro del historial (history parameter), con este se controla el tamaño máximo de la base de datos de memoria en uso por NetData.
Por ello vamos a definir la cantidad de memoria RAM que será dedicada a NetData, o la cantidad de tiempo que se desea conservar para antes de perderla, los parámetros disponibles son:
- 3600 segundos (1 hora de retención de datos del gráfico) utiliza 15 MB de RAM
- 7200 segundos (2 horas de retención de datos de gráfico) utiliza 30 MB de RAM
- 14400 segundos (4 horas de retención de datos de gráfico) utiliza 60 MB de RAM
- 28800 segundos (8 horas de retención de datos de gráfico) utiliza 120 MB de RAM
- 43200 segundos (12 horas de retención de datos de gráfico) utiliza 180 MB de RAM
- 86400 segundos (24 horas de retención de datos de gráfico) utiliza 360 MB de RAM
Para establecer el valor deseado accedemos usando el editor deseado.
sudo nano /etc/netdata/netdata.conf
Allí ubicamos la línea “History” en la sección “Global” y reemplazamos el valor 3600 por el deseado. Guardamos los cambios usando la combinación de teclas siguiente:
Ctrl + O
Salimos del editor usando:
Ctrl + X
Para aplicar los cambios ejecutamos lo siguiente:
sudo systemctl restart netdata
5. Acceder a NetData en Ubuntu 18.04 Server
Para acceder a NetData lo podemos hacer desde cualquier navegador ejecutando la siguiente sintaxis.
http://Direccion_IP:19999
Como vemos, en el costado lateral derecho tenemos diversas vistas que son:
De esta forma NetData es una excelente alternativa para gestionar de forma centralizada y total todos los aspectos de Ubuntu 18.04.