Netdata – Una herramienta de monitoreo de rendimiento en tiempo real para sistemas Linux

netdata es una utilidad de Linux extremadamente optimizada que proporciona monitoreo de rendimiento en tiempo real (por segundo) para sistemas Linux, aplicaciones, dispositivos SNMP, etc. y muestra gráficos interactivos completos que representan absolutamente todos los valores recopilados en el navegador web para analizarlos.

No te pierdas: 20 Herramientas útiles de línea de comandos para monitorear el rendimiento de Linux

Ha sido desarrollado para ser instalado en cada sistema Linux, sin interrumpir las aplicaciones en ejecución en él. Puedes usar esta herramienta para monitorear y obtener una visión general de lo que está sucediendo en tiempo real y lo que acaba de suceder, en tus sistemas y aplicaciones Linux.

Esto es lo que monitorea:

  1. Uso total y por núcleo de la CPU, interrupciones, softirqs y frecuencia.
  2. Uso total de memoria, RAM, Swap y Kernel.
  3. E/S de disco (por disco: ancho de banda, operaciones, cola, utilización, etc).
  4. Monitorea interfaces de red incluyendo: ancho de banda, paquetes, errores, caídas, etc).
  5. Monitorea conexiones, eventos, errores, etc. del firewall de Linux Netfilter / iptables.
  6. Procesos (en ejecución, bloqueados, forks, activos, etc).
  7. Aplicaciones del sistema con el árbol de procesos (CPU, memoria, swap, lecturas/escrituras de disco, hilos, etc).
  8. Monitoreo del estado de Apache y Nginx con mod_status.
  9. Monitoreo de base de datos MySQL: consultas, actualizaciones, bloqueos, problemas, hilos, etc.
  10. Cola de mensajes del servidor de correo electrónico Postfix.
  11. Monitoreo de ancho de banda y solicitudes del servidor proxy Squid.
  12. Sensores de hardware (temperatura, voltaje, ventiladores, energía, humedad, etc).
  13. Dispositivos SNMP.

Instalación de netdata en sistemas Linux

La última versión de netdata se puede instalar fácilmente en Arch Linux, Gentoo Linux, Solus Linux y Alpine Linux utilizando su gestor de paquetes como se muestra.

$ sudo pacman -S netdata         [Install Netdata on Arch Linux]
$ sudo emerge --ask netdata      [Install Netdata on Gentoo Linux]
$ sudo eopkg install netdata     [Install Netdata on Solus Linux]
$ sudo apk add netdata           [Install Netdata on Alpine Linux]

En Debian/Ubuntu y RHEL/CentOS/Fedora, hay un script de instalación de una línea que instalará la última versión de netdata y también lo mantendrá actualizado automáticamente.

$ bash <(curl -Ss https://my-netdata.io/kickstart.sh            [On 32-bit]
$ bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)  [On 64-bit]

El script anterior:

  • descubre la distribución e instala los paquetes de software necesarios para compilar netdata (pedirá confirmación).
  • descarga el último árbol de código fuente de netdata a /usr/src/netdata.git.
  • instala netdata ejecutando ./netdata-installer.sh desde el árbol de código fuente.
  • instala netdata-updater.sh en cron.daily, por lo que su netdata se actualizará diariamente (recibirá una alerta de cron solo si la actualización falla).

Nota: El script kickstart.sh pasa todos sus parámetros a netdata-installer.sh, por lo que puede definir más parámetros para modificar la fuente de instalación, habilitar/deshabilitar complementos, etc.

Alternativamente, también puedes instalar la última versión de netdata manualmente clonando su repositorio, pero antes de comenzar a instalar netdata, asegúrate de tener instalados en el sistema estos paquetes básicos del entorno de compilación, si no están instalados, hazlo utilizando el gestor de paquetes de tu distribución respectiva como se muestra a continuación:

En Debian / Ubuntu

# apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config

En Centos / Redhat / Fedora

# yum install zlib-devel gcc make git autoconf autogen automake pkgconfig

A continuación, clona el repositorio de netdata desde git y ejecuta el script instalador de netdata para compilarlo.

# git clone https://github.com/firehol/netdata.git --depth=1
# cd netdata
# ./netdata-installer.sh

Nota: El script netdata-installer.sh compilará netdata e lo instalará en tu sistema Linux.

Una vez que el instalador de netdata termine, se creará el archivo /etc/netdata/netdata.conf en tu sistema.

Ahora es el momento de iniciar netdata ejecutando el siguiente comando desde la terminal.

# /usr/sbin/netdata

También puedes detener netdata terminando su proceso con el comando killall como se muestra.

# killall netdata

Nota: Netdata guarda al salir su información de base de datos de round robin en el archivo /var/cache/netdata, por lo que cuando vuelvas a iniciar netdata, continuará desde donde se detuvo la última vez.

Iniciando y probando netdata

Ahora abre tu navegador y ve a la siguiente dirección para acceder al sitio web con todos los gráficos:

# http://127.0.0.1:19999/

Echa un vistazo al video que muestra cómo se realiza el monitoreo de rendimiento en tiempo real de Linux aquí: https://www.youtube.com/watch?v=QIZXS8A4BvI

netdata – Linux Real Time Performance Monitoring

También puedes ver la configuración en ejecución de netdata en cualquier momento, yendo a:

http://127.0.0.1:19999/netdata.conf
netdata Configuration

Actualizando netdata

Puedes actualizar el demonio netdata a la versión más reciente yendo al directorio netdata.git que descargaste antes y ejecutando:

# cd /path/to/netdata.git
# git pull
# ./netdata-installer.sh

El script de instalación de netdata anterior construirá la nueva versión y reiniciará netdata.

Referencia: https://github.com/firehol/netdata/

Source:
https://www.tecmint.com/netdata-real-time-linux-performance-network-monitoring-tool/