Gestiona el rendimiento de tu servidor Linux con Netdata

Gestiona el rendimiento de tu servidor Linux con Netdata

Lorena Fernández

Si cuentas con un servidor u ordenador con el sistema operativo Linux, esta herramienta te va a interesar. Es cada vez más necesario contar con herramientas que nos ayuden a tener visibilidad de qué es lo que está pasando con el rendimiento, especialmente si es un servidor y tiene múltiples servicios funcionando. Hoy en RedesZone vamos a hablar en detalle sobre Netdata, una herramienta Linux que nos permitirá tener el control sobre todo lo que pasa con nuestro ordenador o servidor Linux, o, de acuerdo al caso, si tienes una infraestructura Linux, esto será aún más útil. Es completamente gratuita y no requiere de demasiados conocimientos para su instalación y puesta en marcha.

Existen situaciones en las que necesitamos medir con precisión cómo están rindiendo nuestros equipos Linux, ya sea un ordenador doméstico, o un servidor de alto rendimiento. Sobre todo, en entornos empresariales, no saber qué está ocurriendo en el servidor, puede afectar en gran medida a las operaciones, en consecuencia el negocio se ve perjudicado. Otro aspecto a destacar es que la herramienta se caracteriza por ser bastante visual, se vale de muchos tipos de gráficos para entender más fácilmente los números, esto nos sirve para poder ver todo de un simple vistazo, e incluso a la hora de realizar informes y/o documentar el estado de los servidores.

¿Qué puedo hacer con Netdata?

Como hemos comentado, gracias a Netdata podemos contar con múltiples métricas y formas de visualizar el rendimiento de nuestros servidores Linux. Es muy sencillo configurarlo y no toma mucho tiempo, la capacidad de monitorización de la herramienta se da en tiempo real, por lo que todo lo que logres visualizar será información precisa. Otras características importantes son que es gratuito y de código abierto, estos puntos lo hacen especialmente amigable para aquellas personas que no tienen mucha experiencia con este tipo de herramientas. Una mala creencia, es que las herramientas de código abierto, o aquellas que son orientadas a Linux, deben ser manejadas únicamente por personas muy experimentadas con la línea de comando Linux. La documentación que se encuentra accesible en el portal oficial es de lo más completa, por lo que es difícil quedarse atascado con algún problema que no sepamos resolver.

Más arriba, se encuentra un esquema que demuestra cómo funciona esta solución. Comienza con la recolección de los datos, los mismos se almacenan en una base de datos de carácter concurrente, por lo que el procesamiento de los mismos es mucho más rápido. Esto, en relación a los motores de bases de datos tradicionales. El monitoreo del estado de los dispositivos Linux se da mediante operaciones de revisión que se realizan cada segundo y hacen una examinación del dispositivo en forma integral. Ante el mínimo registro de irregularidad en el rendimiento, es posible informarlo mediante las alarmas.

Integraciones con múltiples plataformas y aplicaciones

Para poder dar aún más utilidad a esta herramienta, es posible integrarla con múltiples plataformas y aplicaciones, incluso podremos incorporar servicios de mensajería como Slack y Telegram. También puedes integrar varias soluciones de redes y VPN, como fping, OpenVPN, SynProxy, ISC DHCPD, LibreSwn y muchos más. Algunas soluciones de seguridad populares que están incluidas son Fail2Ban, FreeRadius y OpenLDAP. Las posibilidades son infinitas, por lo que casi no existen excusas para empezar a utilizarla.

Cómo instalar Netdata en cualquier servidor Linux

Con un sólo comando es posible instalar Netdata en cualquier distribución de Linux que tengas. Ya con este mismo comando podrás instalar la herramienta y sus paquetes requeridos, además de activar el proceso de compilación.

El siguiente comando tiene las siguientes características:

  • Compatible con cualquier distribución de Linux
  • Actualizaciones automáticas activadas
  • Versión: Nightly
  • Obtención de estadísticas anónimas
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

El siguiente comando tiene las siguientes características:

  • Compatible con cualquier distribución de Linux
  • Actualizaciones automáticas desactivadas
  • Versión: Nightly
  • Obtención de estadísticas anónimas
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates

El siguiente comando tiene las siguientes características:

  • Compatible con cualquier distribución de Linux
  • Actualizaciones automáticas desactivadas
  • Versión: Estable
  • Obtención de estadísticas anónimas
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates --stable-channel

La propia página web de Netdata cuenta con un asistente que adapta el comando de acuerdo a las cuatro características citadas. Simplemente debes ajustar cada una de ellas de acuerdo a las necesidades que tengas.

A continuación, vamos a demostrar cómo instalar esta solución en Ubuntu el cual nos ayudará a tener una idea de qué debemos esperar cuando ejecutamos cada paso de la instalación de Netdata. Como hemos comentado, considera las opciones de instalación y de acuerdo a eso modifícalos, copia y pega el comando.

Debes asegurar que esté activo el bash

bash

Instala Netdata directamente desde el repositorio oficial en Github

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Esto es lo que debe aparecerte en la consola una vez que se haya dado la instalación de manera exitosa:

netdata by default listens on all IPs on port 19999,
so you can access it with:
http://this.machine.ip:19999/
To stop netdata run:
systemctl stop netdata
To start netdata run:
systemctl start netdata
Uninstall script copied to: /usr/libexec/netdata/netdata-uninstaller.sh
--- Install netdata updater tool ---
Update script is located at /usr/libexec/netdata/netdata-updater.sh
--- Check if we must enable/disable the netdata updater ---
You chose *NOT* to enable auto-update, removing any links to the updater from cron (it may have happened if you are reinstalling)
Did not find any cron entries to remove
--- Wrap up environment set up ---
Preparing .environment file
Setting netdata.tarball.checksum to 'new_installation'
--- We are done! ---
^
|.-. .-. .-. .-. .-. . netdata .-. .-
| '-' '-' '-' '-' '-' is installed and running now! -' '-'
+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
enjoy real-time performance and health monitoring...
http://this.machine.ip:19999/
To stop netdata run:
systemctl stop netdata
To start netdata run:
systemctl start netdata
Uninstall script copied to: /usr/libexec/netdata/netdata-uninstaller.sh
--- Install netdata updater tool ---
Update script is located at /usr/libexec/netdata/netdata-updater.sh
--- Check if we must enable/disable the netdata updater ---
You chose *NOT* to enable auto-update, removing any links to the updater from cron (it may have happened if you are reinstalling)
Did not find any cron entries to remove
--- Wrap up environment set up ---
Preparing .environment file
Setting netdata.tarball.checksum to 'new_installation'
--- We are done! ---
^
|.-. .-. .-. .-. .-. . netdata .-. .-
| '-' '-' '-' '-' '-' is installed and running now! -' '-'
+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
enjoy real-time performance and health monitoring...

Todo esto que hemos realizado debe ser consolidado mediante estos tres comandos. Con los mismos vamos a ejecutar, habilitar y verificar el status de nuestra instalación.

$ sudo systemctl start netdata

$ sudo systemctl enable netdata

$ sudo systemctl status netdata

Espera este texto al finalizar

netdata.service - Real time performance monitoring
Loaded: loaded (/lib/systemd/system/netdata.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-08-17 06:42:04 UTC; 3min 8s ago
Main PID: 2796 (netdata)
Tasks: 26 (limit: 1152)
CGroup: /system.slice/netdata.service
├─2796 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D -W set global process scheduling policy keep -W set global OOM score keep
├─2887 /usr/libexec/netdata/plugins.d/go.d.plugin 1
├─2889 /usr/bin/python /usr/libexec/netdata/plugins.d/python.d.plugin 1
├─2890 /usr/libexec/netdata/plugins.d/apps.plugin 1
└─2891 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1

Ingresar a la interfaz web de Netdata

Nota: para garantizar que podamos tener acceso correcto a la interfaz web de Netdata, debemos habilitar una regla en el firewall para que se permita el tráfico a través del puerto 19999

$ sudo ufw allow 19999/tcp

El siguiente comando nos indicará si el puerto está efectivamente habilitado.

$ sudo ufw status

Finalmente, ingresemos a nuestro navegador para ingresar a la interfaz web del programa. Tienes dos opciones:

  • http://localhost:19999
  • http://Direccion-IP-de-tu-entorno-Ubuntu:19999

Tendremos una vista como esta, que es la que nos permitirá desde ya, tener el control de nuestros servidores y otros dispositivos con distribuciones Linux:

Netdata en Ubuntu Server

En el siguiente gráfico podéis ver una animación de la interfaz gráfica de usuario de Netdata:

Funcionamiento general de Netdata

Os recomendamos acceder al portal oficial de la herramienta y consultar la documentación. Y tú, ¿conoces alternativas a Netdata? No dudes en indicarnos en los comentarios.