Existen muchas herramientas libres para supervisar los recursos de nuestro hardware. Una gran parte de los usuarios nos contentamos con aquellas sencillas de interpretar; y por qué no decirlo, en la mayoría de los casos con la consola nos basta.
Algunas de las herramientas más utilizadas:
- Top
- Htop
- Nmon (muy completo)
- Glances
En este caso me voy a saltear las típicas —pero muy efectivas— herramientas de consola y también de las aplicaciones gráficas como: Monitor del Sistema de Gnome y KDE para mostrarles otra alternativa: Netdata.
¿Qué hace Netdata?
En pocas palabras, monitoriza los recursos de nuestro sistema en tiempo real, y representa toda la información de forma detallada en nuestro navegador web. A diferencia de las herramientas mencionadas, esta como tal no nos permite detener/matar procesos, solo es información de lo que ocurre actualmente en nuestro sistema.
No obstante dicha información puede ser contemplada e interpretada muy fácilmente gracias a la calidad de los gráficos que nos provee, todo bien estructurado en una sola página con elementos seleccionables.
Netdata entre otras cosas nos permite:
- Seleccionar leyendas de forma arbitraria (una/varias/todas) utilizando las teclas Ctrl o Shift + botón izquierdo del mouse para múltiple selección.
- Arrastrar el gráfico (atrás/adelante) para ver registros históricos.
- Seleccionar zonas (picos) en los gráficos para ver su resultado. Por ejemplo si vemos un pico muy elevado en sensores de temperatura podremos saber cual fue la temperatura exacta en ese momento además de datos complementarios (horario, aplicaciones en ejecución, etc.) colocando el puntero sobre la zona o pico a evaluar.
- Podemos aumentar o disminuir el zoom de los gráficos, ya sea de forma sincronizada (todos) o individual. Cuando más líneas de datos sean representadas (dibujadas) en el gráfico mayor será el consumo de nuestra CPU.
- Actualización de los datos en paralelo o secuencial: el primero nos actualiza toda la información en todos los gráficos al mismo tiempo, mientras que el segundo actualiza uno tras otro. Es conveniente utilizar este último cuando nuestro equipo es antiguo.
- Sincronización de los datos: al igual que actualización, esto puede hacerse de forma paralela o a-sincrónica (secuencial).
Dentro de las características de Netdata podemos encontrar:
- Rapidez y eficiencia. Escrito en C nos ofrece una lectura rápida —no requiere Flash plugin—.
- No requiere ninguna configuración adicional. Solo instalar y la aplicación detectará todo de forma automática.
- No requiere dependencias. Utiliza su propio servidor web para los archivos web estáticos y su API web.
- Perzonalización de temas (claro – oscuro).
- Extensible.
- Se puede incrustar (embedded) en otra página web.
Podemos monitorear una gran cantidad de parámetros tales como:
- Uso de CPU, frecuencia, interrupciones, softirqs (total y por cada núcleo).
- RAM, swap, uso de memoria del kernel.
- Discos (Por disco: E/S, operaciones, reserva, utilización, espacio, etc.).
- Interfaces de red (por interfaz: ancho de banda, paquetes, errores, caídas, etc).
- IPv4, IPv6.
- Servidores web.
- Apache
- Nginx
- Sensores de temperatura.
- Aplicaciones.
- Usuarios y grupo de usuarios.
- MySQL.
- Grupos de Control de Linux (contenedores), systemd, lxc, docker, etc.
- Y mucho más.
Puedes ver la lista completa en inglés en el siguiente fichero:
Instalación
Arch Linux:
sudo pacman -S netdata
Gentoo:
sudo emerge --ask netdata
Para el resto de las distribuciones se puede realizar utilizando:
- Instalador automático (no requiere permisos de root)
- básica (monitoreo sin mysql/mariadb, llamadas, sensores de hardware y SNMP)
- completa (control total de lo que se puede monitorear)
- Instalación manual
Instalador automático
Debería cubrir las siguientes distribuciones y sus derivadas:
- Arch Linux
- Gentoo Linux
- Debian GNU/Linux (incluyendo Ubuntu, Mint)
- Red Hat Enterprise Linux (incluyendo Fedora, CentOS)
- SuSe Linux (incluyendo openSUSE)
En un terminal ejecutar:
curl -Ss 'https://raw.githubusercontent.com/firehol/\
netdata-demo-site/master/install-required-packages.sh' >/tmp/\
kickstart.sh && bash /tmp/kickstart.sh netdata
Monitoreo completo:
curl -Ss 'https://raw.githubusercontent.com/firehol/\
netdata-demo-site/master/install-required-packages.sh' >/tmp/\
kickstart.sh && bash /tmp/kickstart.sh netdata-all
Instalación manual
Instalar las siguientes dependencias:
Debian/Ubuntu
apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git \
autoconf autoconf-archive autogen automake pkg-config
Fedora/CentOS/RedHat/openSUSE
yum install zlib-devel libuuid-devel libmnl-devel gcc make git \
autoconf autoconf-archive autogen automake pkgconfig
Se recomiendan los siguientes paquetes aunque no son necesarios: curl, jq, nodejs
Instalar Netdata
Bajamos la aplicación de GitHub:
git clone https://github.com/firehol/netdata.git --depth=1
Corremos el script netdata-installer.sh el cual compilará, instalará y dejará corriendo Netdata
cd netdata
sudo ./netdata-installer.sh
También puedes bajar la aplicación de aquí:
unzip netdata.zip && cd netdata && sudo ./netdata-installer.sh
./netdata-installer.sh --install /opt
. Esto instalará la aplicación en la carpeta /opt/netdata y la configuración en /etc/netdata/netdata.conf
Para comprobar que Netdata está corriendo ejecutar el siguiente comando:
sudo systemctl status netdata
Si por alguna razón no se está ejecutando hacemos lo siguiente:
## Habilitar Netdata en el inicio
sudo systemctl enable netdata
## Iniciar Netdata
sudo systemctl netdata start
Finalmente para acceder a los gráficos en el navegador web escribir en la barra de direcciones de tu navegador favorito:
http://127.0.0.1:19999/
Para detenerlo:
sudo killall netdata
o
sudo systemctl netdata stop
Desinstalar Netdata
Cuando ejecutamos el script de instalación automáticamente genera un script de desinstalación. En caso de usar esta opción ejecutamos:
## Ubicación de nuestra aplicación
cd /ruta/a/netdata
./netdata-uninstaller.sh --force
Excelente información. ¡¡¡Gracias!!!
Adiós phpsysinfo, bienvenido NetData! Interesante, es una lástima no haberlo tenido antes, esto me hubiera venido de perlas hace 3 años atrás… Gracias por el aporte…
Excelente!!, tenia en planes hacer una busqueda de una herramienta así, gracias a este articulo se por donde empezar.
Per, muchas gracias por compartir, excelente articulo!
@linuXgirl, @Koratsuki, @Yosbel Marin, @Rafael Castro:
Gracias a ustedes por comentar. Me alegra que les haya resultado de interés.
Saludos.
@Percaff_TI99 et al:
Yo estuve buscando[hace un tiempo] una herramienta que monitoreara el tráfico de red, sistema, etc y en aquel entonces phpsysinfo fue la opción, aunque me parecia «de palo», resolvió mi problema, pero esta ayer la instalé en casa y al ver TAL nivel de información, se me aguaron los ojos… Vaya que los grafiquitos están rechulos…
Mi calificación: MUY BUENA! Excelente aplicación.
Cada vez que leo algún artículo sobre como montar un servidor Web casi siempre aparece phpsysinfo como una herramienta a tener en cuenta. Yo no soy administrador de red ni nada parecido, pero no es de extrañarse que phpsysinfo es el caballito de batalla de muchos administradores.
Se parece un poco a monitorix, pero más elegante. Me gusta, pero creo que htop es más lightweight e igualmente satisface mis necesidades.
Monitorix es el que estoy viendo actualmente para un artículo más adelante, concuerdo contigo en que no es de lo más elegante -aunque a mí particularmente me gusta mucho- y también es muy completo, a golpe de vista se puede controlar el sistema. Monitorix además de lo que ofrece Netdata contempla: Fail2ban, Raspberry PI, memcached, Libvirt, NVIDIA temp. etc.
En Netdata se puede extender el monitoreo mediante plugins creados por el usuario en cualquier lenguaje del sistema que recopilan datos de cualquier fuente, lo que lo hace muy versátil.
«pero creo que htop es más lightweight e igualmente satisface mis necesidades»:
Mis primeras líneas en el artículo aluden a ello, sin embargo hay usuarios que manejan mucha información y es ahí dónde herramientas gráficas como estas pueden agilizar la tarea administrativa.
Saludos.
Me dio una pantalla azul en Windows XP, tal vez sea solo para Android
Miren! Un troll! Me lo puedo quedar!!?? Digan que sí! 😀
No se si es la misma persona o no, pero en caso de serlo también le hizo un comentario tipo «troll» a _Neji en su blog.
OT: Por cierto no se cual de los dos esta mas perdido, o tu o Maikel
Saludos.
Mucho trabajo dude! Pero aún seguimos por acá, yo entro a diario. Ambos estamos de lo mas ‘simios’ :D. Deja ver si el viene por Holguín y luego subimos fotos. Thx!
Trabajos family, somos hombres de trabajo… LOL
Deja ver si hago el time para ir a holguin…
Luego vere si publico alguito por GUTL, gracias a todos por no dejar morir el portal
Si, últimamente están «afluyendo» muchos «troles» por allá por DesdeAbreus. Imagino que tenga que ver por el cambio a temas mas «singulares» que los relacionados con SWL jajaja. Sobre el vikingo y el canelo mejor los «dejamos reposar un poco«. Que GUTL no tiene por que depender de un solo miembro ¿no?
No te me pongas celoso socio, jaja, tambien se te echaba de menos, y pon mano dura con los «troles» esos!!!
Hola a todos, excelente , pregunto si se podría incorporar mas servidores a una sola pagina de netdata
Hola @fray:
Se puede hacer pero requiere de la creación de dashboards personalizados. También es posible utilizando Atlassian Confluence dashboards o alguno similar.
Aquí dejo un pdf con instrucciones sobre este tema -para tener una idea-, además de un archivo html.tv que se utiliza de ejemplo en dichas instrucciones. (https://gutl.jovenclub.cu/wp-content/uploads/2019/04/custom-dashboardpdf.zip)
Saludos.
P.D. En estos días intentaré subir una versión actualizada de Netdata.