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.
Importancia de las herramientas como Netdata
Actualmente las comunicaciones son uno de los pilares centrales de la vida, pero para ello se depende de los servidores. Esto hace que tenerlos controlados, sea de vital importancia. No solo para que la comunicación no se detenga, sino para que esta también se encuentre segura siempre. Uno de los motivos por los cuales estas herramientas son tan importantes, es la monitorización en tiempo real. Esto proporciona una información a los administradores, para poder detectar y abordar problemas de una forma inminente antes de que causen problemas. Por lo cual es crucial para mantener la salud del sistema, garantizando unas interrupciones mínimas.
La cobertura de métricas también es un punto a tener en cuenta. Con Netdata es posible realizar rastreos de métricas de forma automática. Tanto del uso de la CPU, como la memoria, operaciones de disco, actividad de la red, entre otros. Generando métricas muy específicas, como pueden ser consultas SQL dentro de una base de datos. Y para todo ello con Netdata, también tendremos una interfaz bastante intuitiva y que resulta sencilla de configurar. Esto hace que sea mucho más accesible, y sea sencillo identificar los posibles problemas como los picos de uso, anomalías o patrones de comportamiento del servidor.
Resulta ser una herramienta muy eficiente, incluso a pesar del detallado nivel de monitorización en tiempo real. Esto es porque ha sido diseñada para ser ligera y no intrusiva. Lo cual quiere decir, que tiene un impacto mínimo en el rendimiento general del sistema. Lo cual también nos lleva a hablar de su extensibilidad, donde no vamos a tener problemas. Permite a los usuarios definir métricas más personalizadas, así como el uso de scripts y diferentes módulos para poder adaptar las herramientas a las necesidades específicas de cada sistema donde se utiliza.
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
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
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
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
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:
En el siguiente gráfico podéis ver una animación de la interfaz gráfica de usuario 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.