27 noviembre 2013

10+10 Herramientas de monitorización de ancho de banda en Linux

No me gustaría entretenerme con una larga introducción y como creo que el título lo dice todo, hoy vamos a enumerar 10 herramientas de monitorización del consumo de ancho de banda para consola y otras 10 herramientas que muestran los mismos resultados en web. Dejaremos fuera otras más complejas que tienen esta capacidad pero están orientadas a la supervisión y gestión de servidores y sus servicios, como son Nagios, Zabbix, Ganglia, Observium, Zenoss, Opennms...

Para consola:
  1. vnstat: se ejecuta como servicio o mediante tareas programadas, su ventaja es que es útil para controlar en tiempo real el tráfico enviado y recibido y también hacerlo en un periodo de tiempo. Una de mis favoritas, está paquetizada en casi todas las distribuciones.
  2. iptraf: al igual que la anterior es un clásico, se caracteriza por su interfaz ncurses desde el que se configura interactivamente. Ampliamente distribuida.
  3. iftop: últimamente es una de la que más veo usar. Trata de ser el 'top' de cpu para las conexiones de red. Su interfaz es sencilla y se incluye en la gran mayoría de distribuciones. Otra indispensable.
  4. bwm-ng: es más simple que otras herramientas similares, su gran ventaja es que además de funcionar en modo interactivo, permite exportar la salida a un archivo CSV o html
  5. ibmonitor: en concepto es parecida a bwm-ng o vnstat, muestra el tráfico total por interfaz, tanto el enviado como el recibido.
  6. nload: herramienta interactiva que muestra el consumo acumulado y además dibuja en modo texto gráficas (en ASCII claro).
  7. dstat: tiene formato similar a los conocidos iostat, vmstat con soporte de colores. Está incluida en múltiples distribuciones.
  8. tcptrack: aplicación que muestra el consumo por conexión. No está tan extendida como otras. herramientas similares.
  9. ipband: también orientado a obtener datos por conexión. 
  10. speedometer: más gráficas en ASCII para ver el tráfico en grandes números, permite obtener estadísticas de velocidad en la red.
Quedan fuera por estar un poco más viejas (y para que salgan 10 que mola más): cbmbmon y pktstat


Con interfaz web:
  1. vnstati: es la herramienta de vnstat para generar archivos png que poder visualizar vía web. Muy muy sencilla. Como pega, no es dinámica.
  2. collectd: realmente versátil y potente. Permite medir muchos otros parámetros además de la red con distintos plugins. Funciona en modo cliente/servidor, por lo que puede monitorizar redes de sistemas.
  3. munin: conceptualmente similar al anterior, permite, mediante plugins, monitorizar varios servicios. También funciona en modo cliente/servidor.
  4. cacti: archiconocido y muy usado para adquirir datos vía snmp de sistemas remotos. Permite diseñar y crear las gráficas usando su propio interfaz web.
  5. bandwidthd: pese a que cumple sus funciones de pintar gráficas de consumo de ancho de banda, no permite configurar demasiadas opciones.
  6. ntopng: versión "ng" del clásico ntop. Personalmente no me gusta la forma de presentar los datos.
  7. mrtg: otro clásico, permite pintar gráficas obteniendo datos vía snmp. 
  8. orca: pinta gráficas estilo mrtg. Al igual que mrtg, son versiones no adaptadas a estos tiempos modernos.
  9. bwbar: genera una única barra muy sencilla, incluso más que vnstati, con los datos de entrada y salida.
  10. Graphite: realmente no es para dibujar gráficas de tráfico, pero permite dibujar gráficas de cualquier tipo de una forma realmente sencilla y bonita. Requiere que se le pasen los datos mediante algún script, por ejemplo, usando alguna herramienta de las vistas en la sección anterior. 

7 comments :

drobot dijo...

Muy buena recopilación!!

ak!l3s dijo...

Gran entrada Alex!! me viene de perlas para probar unas cosicas. Gracias.

Ignacio Agulló Sousa dijo...

Enhorabuena por la recopilación. He abierto el Centro de software de Ubuntu y me he encontrado conque estaban disponibles casi todos. Para consola, nueve; sólo falta ibmonitor. Con interfaz web, siete; sólo faltan ntopng, orca (aparece un programa llamado orca pero tiene que ver con accesibilidad, no con monitorizar la red) y Graphite (aparecen un montón de bibliotecas pero aparentemente ningún programa).

Dado lo fácil que es instalar programas con el Centro de software de Ubuntu, me he puesto a instalar todo lo instalable, y ya metido en faena también cbm, bmon, pktstat y ntop, y ya puestos me asaltó además la curiosidad de saber si estaría disponible Matlab, que hace tiempo que me apetecía disponer de él en Ubuntu. Así que me puse a instalar veintiún programas. Entonces me encontré con alguna dificultad.


A la hora de instalar, cinco de estos veintiún programas abren una ventana de Debconf. El problema que se produce cuando estas instalaciones abren esta ventana de configuración de Debconf es que no piden los datos, sino que los EXIGEN. No se puede dejar el campo en blanco... ¡y no hay botón de cancelar, sólo el botón de adelante! En la esquina superior de la ventana sólo hay un icono, el de maximizar. Si no dispones del dato en cuestión la ventana de Debconf se te queda eternamente abierta hasta que cierras sesión o apagas el ordenador... y el Centro de software de Ubuntu queda bloqueado e inoperativo mientras tanto.

-cacti pide el nombre del usuario root de SQL, así que si no tienes instalado un servidor de SQL te fastidias.

-BandwidthD pide la interfaz que estudiar, y dentro de ella las subredes a estudiar.

-ntop te pide que introduzcas la contraseña de administrador, y además dos veces, como si la estuviera estableciendo.

-mrtg te pregunta si quieres que el fichero /etc/mrtg.cfg sea legible solamente por root.

-Matlab pide la ubicación de la instalación de Matlab. No, no pregunta dónde instalarse. Pregunta donde está instalado previamente. ¿Qué es ésto, un viajero del tiempo? ¿Es normal preguntar dónde estás instalado antes de instalarte? ¿Es normal preguntar qué nota has sacado antes de realizar el examen? No, no es normal en absoluto. Lo que sucede es que este programa, que se muestra en el Centro de software de Ubuntu como "MATLAB, entorno de computación científica" acompañado de una bonita imagen que identifica que se trata de una aplicación y no de una biblioteca, no es Matlab en absoluto. Es un engaño, una mentira. Si se hace clic en "Más información" (cosa que cuando se están instalando veintiún programas no se suele hacer) se lee "This package does not provide MATLAB. Instead, it configures an existing MATLAB installation to integrate more comfortably in a Debian installation." Entonces, ¿porqué demonios te llamas MATLAB si no lo eres? Todo el que intente instalarlo creyendo que se trata de Matlab, obviamente careciendo de una instalación previa porque sólo se intenta instalar aquéllo que no se tiene instalado todavía, se encuentra con que la dichosa ventanita que exige la ubicación no hay manera de cerrarla, y el Centro de software de Ubuntu se queda paralizado. Veamos: la apliación Matlab del Centro de software de Ubuntu, a) obstaculiza el normal funcionamiento del sistema, y b) lo consigue a través de engaños. ¿Se trata de programación maliciosa, o simplemente estúpida?

Alejandro Ramos dijo...

No la he incluido (pese a que me encanta) porque creo que es un producto más completo como los que enumeraba al principio. Lo dejo para otra recopilación ;-)

Puro GNU/Linux dijo...

Ubuntu = $ canonical $

maravento dijo...

no me convence pero... http://www.monitorix.org/

pd: a vuestro juicio cual es la mejor y mas completa?

Ignacio Agulló Sousa dijo...

He descubierto que cacti la lía parda cuando se instala desde el Centro de Software de Ubuntu. Instala MySQL, instala Apache, instala PHP... es por esta razón por la que Debconf pide la contraseña de MySQL al instalarlo... el problema es que cuando no se sabe que contraseña poner durante la instalación no sólo falla la configuración del paquete y se bloquea el Centro de Software de Ubuntu, sino que después al intentan desinstalar se produce el mismo proceso. El ordenador queda atrapado en una trampa y hace falta fajarse para remediarla.