Cómo monitorizar un sistema GNU/Linux en 5 minutos

netdata

Y digo 5 minutos por decir algo, pues realmente se tarda incluso menos. Lo primero es aclarar que el objetivo de este artículo no es, mi mucho menos competir con otros sistemas de monitorización centralizada y métricas tipo Nagios/Icinga, Cacti o Grafana, sino disponer de un as en la manga cuando se necesita disponer de monitorización, gráficas y métricas de un servidor en apenas unos minutos y con carácter urgente.

Netdata es un demonio que corre sobre Linux y que ofrece monitorización a tiempo real tanto del propio sistema operativo como de aplicaciones y soporte SNMP. Todo ello a través de una interfaz web muy amigable que muestra un dashboard personalizable con toda la información a golpe de click. Netdata está escrito en C y su optimización permite que utilice apenas unos MB de RAM y un pequeño porcentaje de ciclos de CPU.

Cuando digo que se instala en menos de 5 minutos es porque únicamente tiene unas pocas dependencias y la instalación se realiza a través de un único script ejecutable que realiza todas las tareas de compilación e instalación. También cuenta con una API para la creación de plugins e integración con aplicaciones/servicios.

Instalación de netdata

Para instalar netdata, primero revisamos las dependencias:

Debian y derivados:

# apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autogen automake pkg-config
# Opcionales
# apt-get install curl jq nodejs

RHEL, CentOS y derivados:

# yum install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig
# Opcionales
# yum install curl jq nodejs

Para instalarlos, descargamos desde git y ejecutamos el instalador:

# git clone https://github.com/firehol/netdata.git --depth=1
# cd netdata
# ./netdata-installer.sh
Welcome to netdata!
Nice to see you are giving it a try!

You are about to build and install netdata to your system.

It will be installed at these locations:

  - the daemon    at /usr/sbin/netdata
  - config files  at /etc/netdata
  - web files     at /usr/share/netdata
  - plugins       at /usr/libexec/netdata
  - cache files   at /var/cache/netdata
  - db files      at /var/lib/netdata
  - log files     at /var/log/netdata
  - pid file      at /var/run

This installer allows you to change the installation path.
Press Control-C and run the same command with --help for help.

Press ENTER to build and install netdata to your system > 
[...]

-------------------------------------------------------------------------------

OK. NetData is installed and it is running (listening to *:19999).

-------------------------------------------------------------------------------


Hit http://localhost:19999/ from your browser.

To stop netdata, just kill it, with:

  killall netdata

To start it, just run it:

Tras la instalación el demonio levanta automáticamente:

# ps -fu netdata
UID        PID  PPID  C STIME TTY          TIME CMD
netdata  18283     1  2 11:01 ?        00:00:21 /usr/sbin/netdata -pidfile /var/run/netdata.pid
netdata  18290 18283  1 11:01 ?        00:00:14 /bin/bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1
netdata  18292 18283  3 11:01 ?        00:00:27 /usr/libexec/netdata/plugins.d/apps.plugin 1
netdata  18294 18283 11 11:01 ?        00:01:18 /bin/bash /usr/libexec/netdata/plugins.d/charts.d.plugin 1
netdata  26066 18294  0 11:13 ?        00:00:00 /bin/date +%s * 1000 + %-N / 1000000
netdata  26067 18290  0 11:13 ?        00:00:00 /bin/bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1

Acceso web

Ya podemos acceder a la interfaz web (http://$IP_SERVIDOR:19999/) y disfrutar de la monitorización: cpu, red, memoria, disco, procesos, servicios, netfilter… de primeras, entre otras cosas netdata monitoriza todo lo que se puede extraer del sistema de archivos virtual /proc, así que imaginaros toda la información que disponemos sin necesidad de configurar nada. Además, establece relación entre todas las métricas. También presentará los servicios activos y monitorizará lo que detecte de cada uno (MySQL, Postfix, Apache, etc).

Francamente, merece la pena que lo probéis porque es realmente impresionante. Podéis acceder a una demo haciendo click aquí.

7 comentarios en “Cómo monitorizar un sistema GNU/Linux en 5 minutos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *