Cómo instalar Netdata en Debian 10

Netdata es un monitor de rendimiento en tiempo real para sistemas Linux. Puede utilizarse para recopilar diversa información del sistema, como estadísticas de red, uso del disco o consumo de energía de la CPU en modo directo. Netdata también puede ejecutarse como un proceso agente en Netdata Chassis (un dispositivo de servidor comercial de Netdata LLC) y recopilar métricas de la experiencia del usuario final que se almacenan en los servidores centrales de Netdata para su posterior procesamiento y visualización a través de Netdata Web Dashboard.

Netdata es rápido y eficaz, ligero y fácil de desplegar. Se ejecuta como un demonio en las principales distribuciones de Linux y es adecuado tanto para servidores como para sistemas integrados (incluidas las placas ARM).

Netdata se publica bajo la GPLv2 con una concesión adicional de derechos de patente, lo que significa que puede utilizarse sin limitaciones incluso en productos comerciales.

Netdata ha sido diseñado, desde el principio, para funcionar bien en cuadros de mando en tiempo real. Esto incluye una disposición optimizada del almacenamiento para una recuperación rápida de los datos, un retraso mínimo al transmitir métricas por la red y evitar una carga innecesaria de la CPU mediante cálculos eficientes de agregación de métricas.

Las estadísticas de rendimiento acumuladas de Netdata se procesan mediante el algoritmo rolling de RRDtool, de modo que se almacenan en archivos de series temporales compactos que necesitan muy poco espacio en disco, pero que pueden seguir utilizándose para generar estadísticas gráficas a través de la interfaz web. Netdata utiliza scripts TICK para la mayoría de sus rutinas de visualización y procesamiento de datos.

La interfaz de usuario de Netdata está construida con HTML5 (y, por tanto, es compatible con todos los navegadores modernos, incluidos los dispositivos móviles). El frontend se ha hecho responsivo para que pueda utilizarse eficazmente tanto en teléfonos como en monitores de escritorio.

Netdata proporciona una API REST para el desarrollo personalizado que puede utilizarse para crear herramientas de supervisión o cuadros de mando 100% compatibles con Netdata. Netdata también está disponible como contenedor Docker y se utiliza ampliamente junto con Prometheus, la principal solución de supervisión de código abierto.

Esta guía te ayudará a instalar Netdata en un servidor Debian 10(Buster) de 64 bits, que es la última versión estable de Debian.

Requisitos previos

  • Debes tener una configuración básica de servidor Debian 10.
  • Usuario no root con privilegios sudo.

Cómo empezar

Actualizar tu sistema

Antes de comenzar la instalación de Netdata, es conveniente que actualices tu sistema.

Ve al terminal y escribe lo siguiente

sudo apt-get update
sudo apt-get upgrade -y

-y es decir sí a todas las preguntas que puedan surgir durante el proceso de actualización. Esta es una distro limpia, así que deberíamos hacer esto con bastante frecuencia.

apt-get update actualizará las fuentes de los paquetes de los que quieras tirar.

apt-get upgrade ejecutará una búsqueda de paquetes nuevos o versiones actualizadas de los ya instalados.

Ejemplo de salida:

Una vez completada la actualización es posible que quieras reiniciar tu sistema:

sudo reboot

Instalar dependencias

Puedes instalar las dependencias necesarias con el siguiente comando:

sudo apt-get install zlib1g-dev libuv1-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config cmake curl

autogen es una gran herramienta para generar archivos configure. Analizará el software y determinará todas las bibliotecas necesarias que necesita para compilar y ejecutarse correctamente. Netdata necesitará autogen para poder compilar algunos módulos.

autoconf es una herramienta para crear scripts configure. autoconf-archive contiene macros adicionales que puedes necesitar para crear scripts configure.

uuid-dev permite a Netdata utilizar el Identificador Único Universal (UUID).

libmnl-dev es como una versión leet de libnetlink – y Netdata utiliza libmnl para interactuar con el núcleo.

libuv1-dev te permite construir netdata como una biblioteca para que otros programas la utilicen.

El resto de bibliotecas son tan comunes que la mayoría de los sistemas ya las tienen.

Ejemplo de salida:

Después de instalar las dependencias, puedes seguir el resto de esta guía.

Instalar Netdata

En este paso, utilizaremos el script de instalación oficial para instalar Netdata. Puedes conseguirlo ejecutando el siguiente comando:

git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata

El comando anterior clonará Netdata en ~/netdata , pero puedes cambiarlo con la bandera –destino.

La opción –depth=1 clonará sólo un nivel, dejando todos los submódulos intactos.

La opción –destino dirigirá el directorio Netdata a /home/netdata. Puedes poner tu netdata en el lugar que quieras siempre que lo recuerdes. Si ya tienes un directorio llamado Netdata, debes utilizar el siguiente comando para cambiar el nombre mv ~/netdata ~/Netdata-mi-directorio-propio

Después de instalar Netdata, puedes ejecutarlo escribiendo los comandos siguientes. No te preocupes si aún no ves nada, primero estamos configurando algunos parámetros.

cd netdata
sudo ./netdata-installer.sh

cd netdata te moverá al directorio de Netdata .

sudo ./netdata-installer.sh iniciará el script de instalación de Netdata .

Puede que te pida que introduzcas la «contraseña» del sistema si no has iniciado sesión como root. Introduce la contraseña y Netdata se instalará.

Te dará un resumen sobre el deamon, los archivos de configuración y otras cosas. En la parte inferior de la página, verás algunos comandos de ayuda para utilizar mejor Netdata. Pulsa Intro para compilar y ejecutar Netdata, o Ctrl+C para cancelar.

Ejemplo de salida:

A continuación, Netdata empezará a instalar algunas dependencias, luego a compilar las fuentes y, por último, a ejecutarlo.

Esto puede tardar un poco dependiendo de los recursos de tu sistema. Así que ten paciencia y espera. No cierres el terminal, ya que en la siguiente sección realizaremos algunos pasos de configuración.

Ejemplo de salida:

Una vez instalado, NetData se iniciará automáticamente y se habilitará para el inicio automático al arrancar el sistema. Puedes comprobarlo ejecutando el siguiente comando:

systemctl status netdata

Ejemplo de salida:

Actualizar NetData

Es aconsejable que actualices la configuración de Netdata con regularidad, ya que las nuevas versiones pueden incluir mejoras significativas y correcciones de errores.

Para actualizar Netdata, puedes descargar la última versión de Netdata ejecutando el siguiente comando:

cd netdata
git pull
sudo ./netdata-installer.sh

El comando extraerá la última versión de NetData del repositorio de github y actualizará tu copia en ~/netdata. A continuación, vuelve a instalarlo.

El proceso de actualización de Netdata no cambiará tus archivos de configuración existentes ni los módulos/dependencias instalados. Si ya has instalado Netdata, no es necesario desinstalar y volver a instalar los paquetes.

Si quieres recibir notificaciones cuando se publique una nueva versión, considera la posibilidad de suscribirte a la lista de correo announce.

También puedes seguir las nuevas versiones automáticamente utilizando la función de integración en Github de un proyecto. Sólo tienes que hacer clic en el botón «Configuración», luego ir a la pestaña «Notificaciones» y elegir «Vigilar». Después recibirás un correo electrónico cada vez que se publique una nueva versión.

Desinstalar Netdata

Si quieres eliminar Netdata, puedes utilizar el siguiente comando en tu terminal. No te preocupes, no eliminará nada importante, sólo algunos directorios y archivos utilizados por Netdata.

sudo ./netdata-installer.sh –uninstall

Para aquellos que estén pensando en utilizar esto como una forma de iniciar/detener servicios o ejecutar comandos en servidores remotos, no lo hagas porque esto desinstalará el servicio netdata.

Configurar el cortafuegos

El siguiente paso es abrir los puertos del cortafuegos para los protocolos UDP y TCP. Si quieres que otros sistemas de tu red local puedan acceder a netdata, permite los puertos especificados tcp:19999 y udp:19999 en tu router/firewall.

Puedes reenviar estos puertos a cualquier máquina que ejecute netdata realizando algunas configuraciones adicionales en el router. Si cambias este número de puerto, asegúrate de actualizarlo también (y sólo él) en /etc/netdata/netdata.conf.

En las versiones actuales de Debian 10, como la versión Buster, el cortafuegos UFW es opcional y no forma parte de la instalación por defecto. Tendrás que instalarlo manualmente con el siguiente comando:

sudo apt-get install ufw -y

A continuación, activa UFW ejecutando el siguiente comando:

sudo ufw enable

Puedes verificar que UFW está habilitado ejecutando el siguiente comando:

sudo ufw status

Ejemplo de salida:

Ahora, permite el puerto 19999 mediante el siguiente comando:

sudo ufw allow 19999/tcp

Salida de ejemplo:

Por último, recarga el cortafuegos y aplica todos los cambios, escribe:

sudo ufw reload

Salida de ejemplo:

Ahora el puerto está abierto para el tráfico TCP, y puedes acceder a él desde cualquier otro sistema de tu red local. Utiliza el siguiente comando para listar todos los puertos/tráfico permitidos:

sudo ufw status verbose

Salida de ejemplo:

Acceder a la interfaz web de Netdata

La dirección web por defecto de Netdata es http://<server_IP>19999. Puedes acceder a ella desde cualquier navegador introduciendo la IP de tu servidor, como http://192.168.1.120:19999.

Si quieres acceder desde otra máquina (fuera de tu red), sólo tienes que utilizar su dirección IP pública en lugar de localhost o 127.0.0.1. Para encontrar la IP pública de tu servidor, ve a este enlace: Mi IP y cópiala.

Ejemplo de salida:

Netdata viene con dos interfaces web: una es el panel principal de netdata que te mostrará las métricas clave de la red y la otra (en forma de barra lateral) que te dará datos métricos adicionales, por ejemplo, la temperatura de la CPU, el uso del disco, etc…

Para acceder a la barra lateral, tienes que hacer clic en el icono «Panel de control» situado en la parte superior derecha de la ventana de tu navegador.

Ejemplo de salida:

Si por alguna razón quieres cambiar la URL por defecto (http://localhost:19999), o activar el protocolo https, sólo tienes que editar o crear el archivo /etc/netdata/netdata-conf.json utilizando cualquier editor de texto con privilegios de root y actualizar allí el número de puerto. Sustituye 19999 por el número de puerto que hayas seleccionado, que no es utilizado por otro proceso demonio en este ejemplo, y utiliza el valor HTTPS_PORT en lugar de PORT.

Solución de problemas:

Mucha gente puede acceder a netdata desde localhost, pero tras actualizar php7/apache2/nginx a nuevas versiones, obtienen errores 404 o ya no pueden acceder. Esto ocurre porque algunos programas que requieren acceso a localhost están utilizando ahora la dirección 127.0.0.1 en lugar de 127.0.0.1:19999. La solución es sencilla, sólo tienes que ir al archivo de configuración httpd del servicio que necesita acceso a localhost y modificar 127.0.0.1 dentro de las líneas ServerName para que diga 127.0.0.1:19999.

Si estás viendo una cantidad exagerada de RAM utilizada informada por netdata, es muy probable que se deba a limitaciones en la utilidad «top» que está utilizando la función process_vm_read() en tu sistema. Instala el paquete htop y reinicia netdata.

Netdata no informa de nada/valores malos para la temperatura de la CPU y la velocidad de los ventiladores. Algunos usuarios están informando de que, por alguna razón, después de unas horas o días de ejecutar netdata se dieron cuenta de que la temperatura de su CPU era constante a niveles muy altos (~90 C) mientras que sus ventiladores habían dejado de girar. La solución es sencilla: simplemente reinicia tu sistema y ejecuta sudo service netdata restart antes de intentar acceder de nuevo, esto arreglará todos esos valores al instante.

Si tu servidor tiene problemas para acceder a tu red local, asegúrate de que tiene la configuración correcta del rango IP en su NIC y de que el acceso a las subredes 192.168.1.*/24 está permitido en todas las interfaces desde las que se accederá a netdata editando /etc/ufw/before.rules . Si quieres que el acceso externo también funcione, añade 1:65535 al final del archivo (cerca de la línea 31).

Error «Los siguientes paquetes tienen dependencias no satisfechas». Asegúrate de que el paquete netdata ( sudo apt install netdata ) y todas sus dependencias están instalados en tu sistema. Si no lo están, prueba a instalarlos uno a uno hasta que averigües qué programa es el problemático.

«Fallo en la validación de la suma de comprobación». Si recibes este error al acceder a la interfaz web de netdata (normalmente desde una máquina de tu red), es probable que estés utilizando una configuración PHP personalizada. Si no utilizas php-fpm, este software no es para ti.

«Mal estado de retorno para el script» o «El script finalizó con un error». Significa que Apache/PHP u otro software de servidor web no se está ejecutando. Inícialo de nuevo antes de acceder a netdata a través de su interfaz web.

Programas como htop y dstat muestran datos erróneos sobre el uso de la CPU en su lista de procesos principales a partir del valor «promedio de carga» mostrado dentro de la métrica llamada «lista de ejecución». Esto se debe a que esta métrica representa el número de procesos actualmente ejecutables en una CPU, no la cantidad total de tiempo de CPU utilizado, que es lo que representa ‘media de carga’. Si quieres ver la cantidad total de uso de tu CPU (que es más representativa), sólo tienes que añadir otra métrica dentro de la interfaz web de netdata llamada ‘user’ y asignarle la misma clave dentro de htop o dstat que a su homóloga ‘runlist’. Lo más probable es que también te interese añadir esta métrica en iftop, así que significa que los usuarios tienen que instalar la versión de desarrollo de la misma ( sudo apt-get install iftop-ng ) y editar el archivo /etc/iftop.conf para indicar la ruta donde se encuentran los archivos de datos de netdata.

La lista anterior no está completa, así que si has encontrado algo que esta guía no haya mencionado, por favor, comparte la información en los comentarios de abajo, para que otros puedan encontrarlo y solucionar sus problemas con netdata rápidamente.

Conclusión

En este tutorial hemos intentado cubrir algunas áreas relacionadas con netdata, y aunque no es una guía de instalación completa, los pasos proporcionados pueden adaptarse fácilmente para nuevas instalaciones. Netdata es una herramienta extremadamente potente que utiliza muy pocos recursos para monitorizar sistemas y servidores web, lo que la hace perfecta para ISPs y usuarios domésticos que buscan configurar un sistema básico de monitorización sin tener que preocuparse por el uso constante de recursos por parte de los programas de monitorización.

¿Te ha gustado este artículo o nos hemos dejado alguna información importante? No dudes en dejar tu comentario a continuación. ¡Comparte este artículo si te ha resultado útil!

Sé social y compártelo en tus medios favoritos. Si tienes preguntas, utiliza la sección de comentarios o pregúntanos directamente utilizando nuestro formulario de contacto .

No te pierdas ninguno de nuestros futuros tutoriales, síguenos en Facebook.

Scroll al inicio