Cómo utilizar MRTG para monitorizar y analizar el tráfico de red en Linux

¿Qué es MRTG?

MRTG, o Multi Router Traffic Grapher, es una herramienta popular de monitoreo y estadísticas para su uso en plataformas Linux. Fue diseñada para monitorear la carga de tráfico en enlaces de red, pero también es altamente extensible y configurable. No solo puedes observar interfaces en enrutadores y switches, sino que también puedes analizar variables del sistema Linux. Aunque esto se hace generalmente con el Protocolo Simple de Administración de Red (SNMP), MRTG también admite el uso de scripts locales para proporcionarle datos. Los datos son convertidos en HTML con gráficas en formato PNG para una representación visual de su red.

Índice de Contenido
  1. Visión general de SNMP
  2. Instalación y configuración de MRTG
  3. Ejecución de MRTG
  4. Resumen

Visión general de SNMP

Antes de adentrarnos demasiado en la instalación y configuración de MRTG, es importante entender cómo MRTG y SNMP trabajan juntos. Por defecto, MRTG tomará una cadena comunitaria SNMP y un nombre de host o dirección IP del dispositivo para descubrir lo que necesita saber. Esto se hace mediante la consulta de objetos de la Base de Información de Administración (MIB, por sus siglas en inglés) predefinidos para todos los dispositivos compatibles con SNMP. Una MIB es básicamente una base de datos de variables que corresponden a un valor del sistema. Ejemplos básicos incluyen información como el nombre del sistema, el tipo de interfaz y el tiempo de actividad.

La mayoría de los fabricantes tendrán MIBs para su línea de productos y estos se ajustarán a los estándares de SNMP. En el dispositivo, SNMP debe estar habilitado y configurada una cadena comunitaria. Estas configuraciones variarán de un fabricante a otro y a veces de un dispositivo a otro. En productos Cisco, por ejemplo, se utiliza el comando de configuración snmp-server de la siguiente manera:
snmp-server community c1sc0 RO

Esto le indica al Cisco IOS que proporcione acceso de solo lectura a una herramienta SNMP que provee la cadena comunitaria c1sc0. Es recomendable tratar las cadenas comunitarias SNMP como contraseñas y configurarlas de manera adecuada. Es probable que SNMP ya esté configurado y en ejecución si actualmente utiliza otras herramientas de monitoreo de red y sistema, como HP OpenView, Cisco Works o OpenNMS.

También es necesario configurar Linux para proporcionar datos en tiempo real a MRTG. Esto se puede hacer mediante SNMP o mediante el uso de scripts locales. Para escuchar las solicitudes SNMP entrantes, deberá instalar y configurar snmpd. La configuración se realiza a través del archivo snmpd.conf y requiere configurar su cadena comunitaria. Para una implementación de SNMP estándar de UCD, la línea en snmpd.conf se verá así:
com2sec readonly  default       liNuX42

Cómo solucionar problemas de resolución de nombres en redes IP

Observe que nuevamente, estamos permitiendo solo acceso de solo lectura a los agentes SNMP. El acceso de lectura y escritura también es configurable, pero si no lo necesita, no lo configure. Con acceso de solo lectura, solo podrá ver estadísticas y opciones de configuración. Aunque esto es algo que debe monitorearse de cerca por razones de seguridad, no es tan peligroso como permitir que se ejecuten comandos remotos a través de SNMP.

Instalación y configuración de MRTG

MRTG, al igual que muchos otros paquetes en estos días, debería estar disponible a través de su instalador automatizado favorito. Ya sea APT o up2date, esa suele ser la forma más rápida de obtenerlo en su sistema. Alternativamente, también están disponibles distribuciones fuente (source) y RPM desde el sitio del mantenedor, en MRTG.org. MRTG también tiene varias dependencias, siendo las más importantes Perl, gd, libpng y zlib. Tenga esto en cuenta durante la instalación si encuentra problemas. La instalación desde el código fuente sigue el esquema estándar con:
tar xpfz mrtg-2.9.18.tar.gz
./configure
make
make install

La instalación con RPM también es sencilla. El nombre del paquete puede variar, pero simplemente utilice el comando:
rpm –ivh mrtg-2.9.18.rpm

Una vez que MRTG esté instalado en su sistema, es posible que necesite configurar un directorio web donde colocará su HTML y archivos PNG para verlos. Use el comando mkdir para crear un directorio llamado mrtg en su ruta principal de HTTP y modifique los permisos. Por ejemplo:
mkdir /var/www/mrtg
chmod 755 /var/www/mrtg

El siguiente paso es crear una configuración que MRTG usará. La forma más rápida de hacer esto es ejecutar el comando cfgmaker y pasarle la cadena comunitaria SNMP y el dispositivo y guardarlo en un archivo de texto, como esto:
cfgmaker  [email protected] > /etc/mrtg.cfg

Luego, edite el nuevo archivo mrtg.cfg y agregue una línea que indique la ruta a su directorio de trabajo (donde se almacenarán sus archivos relacionados con MRTG), así:
WorkDir: /var/www/mrtg

Supernetting: Qué es y cómo implementarlo en tu red TCP/IP

Tenga en cuenta que el dispositivo puede representarse tanto como una dirección IP como un nombre de host. Además, cfgmaker puede admitir una variedad de opciones y configuraciones en la línea de comando, dependiendo de la versión. Sin embargo, la mejor manera de comenzar es usar las opciones predeterminadas. Siempre puede realizar cambios directamente en el archivo de configuración más adelante.

El archivo de configuración básico se verá algo así:
Target[192.168.66.72.1]: 1:[email protected]
MaxBytes[192.168.66.72.1]: 1250000
Title[192.168.66.72.1]: RTR2: Ethernet0/0
PageTop[192.168.66.72.1]: <h1>Análisis de tráfico para Ethernet0/0</h1>

Estas son solo algunas de las muchas opciones que se pueden incluir en el archivo de configuración de MRTG. El primer valor aquí es Target. Dentro de los corchetes hay un nombre único que permitirá opciones separadas para múltiples dispositivos e interfaces. Luego, tenemos lo que realmente proporcionará los datos, en este caso, SNMP.

A continuación, tenemos la opción MaxBytes. Esta es la configuración del extremo superior y en base de la cual se calculan los valores de porcentaje. Variará entre medios y objetivos, según lo que esté consultando. Las dos opciones siguientes son para el HTML y actúan como descriptores.

Los scripts locales proporcionan otra forma de obtener información para MRTG. Estos pueden ser desde simples scripts en shell hasta scripts en Perl más complejos. Veremos cómo hacer un simple script en shell que proporcionará a MRTG datos sobre paquetes entrantes a un firewall iptables.

Primero, crearemos el script /usr/local/mrtg/iptables-in:
#!/bin/bash
IPTABLES=”/sbin/iptables”
UPTIME=”/usr/bin/uptime”
$IPTABLES -nvxL | grep INPUT | awk ‘{ print $5 }’
$UPTIME | awk ‘{ print $3, $4, $5 }’

Maestría en Active Directory: Traspaso y Apoderamiento de Roles FSMO de forma Sencilla y Efectiva

Este script extraerá el número de paquetes que ha aceptado a través de la regla INPUT. Utiliza grep para buscar la línea que contiene INPUT y muestra solo el quinto valor, que en este caso es el número de paquetes procesados. El comando uptime se utiliza para que MRTG sepa cuánto tiempo ha transcurrido entre cada valor y pueda representarlo en un gráfico a lo largo de un periodo de tiempo.

Luego, el archivo mrtg.cfg se verá algo como esto:
WorkDir: /var/www/mrtg
Target[in_packets]: `/usr/local/mrtg/iptables-in`
MaxBytes[in_packets]: 1500
Title[in_packets]: Paquetes entrantes
PageTop[in_packets]: <h1>Estadísticas de paquetes entrantes</h1>

Esto es similar a la configuración utilizada para SNMP anteriormente; sin embargo, estamos apuntando el objetivo a un script externo llamado iptables-in. También estamos estableciendo una configuración de MaxBytes bastante arbitraria, ya que estamos tratando con paquetes en lugar de bits o bytes. Esto variará de un sistema a otro y puede ser necesario probar algunos valores diferentes. Aunque este es un ejemplo bastante simple, debería darle una idea de lo que es posible con MRTG. Cualquier dato que pueda recopilar a través de la línea de comandos se puede importar a MRTG y representarse gráficamente en tiempo real.

Ejecución de MRTG

Una vez que MRTG se haya instalado correctamente, deberá configurarlo para que se ejecute en su sistema. MRTG se puede ejecutar manualmente de la siguiente manera:
/usr/bin/mrtg  /etc/mrtg.cfg

MRTG actualiza sus archivos de registro cada vez que se ejecuta. Las dos primeras veces, todos los archivos no se habrán creado y es posible que vea errores. Estos se pueden ignorar, pero cualquier cosa que vea a partir de la tercera vez probablemente requerirá una investigación más detallada.

Es una buena idea configurar cron para que ejecute el programa, ya que MRTG necesitará ejecutarse con frecuencia para consultar dispositivos y recopilar datos. El intervalo estándar es de cinco minutos, pero puede cambiarlo según sus necesidades particulares. Coloque una entrada en /etc/crontab con el intervalo, el usuario que se ejecutará, la ruta a mrtg y la ruta a mrtg.cfg, de esta forma:
*/5 * * * *  root  /usr/bin/mrtg  /etc/mrtg.cfg

Protege tu red: Bloquea mensajes ICMP maliciosos para prevenir ataques de hackers

Una vez que MRTG esté configurado y en ejecución, todo lo que deberá hacer es acceder a las páginas a través de un navegador web. Es posible que desee ajustar manualmente el HTML para hacer cosas como indexar varios dispositivos o habilitar la actualización automática. La Figura A muestra un gráfico de ejemplo para darle una idea de cómo será el producto final.

Cómo utilizar MRTG para monitorizar y analizar el tráfico de red en Linux - Redes | Imagen 1 Newsmatic
Figura A: Ejemplo de gráfico generado por MRTG

Resumen

MRTG es una herramienta potente y extensible que le permitirá representar gráficamente enlaces de red e información del sistema a lo largo de un periodo de tiempo configurable. Utilizando SNMP, scripts locales o una combinación de ambos, MRTG le permite monitorear fácilmente sus dispositivos. Cosas como tendencias, picos de tráfico y períodos de baja actividad son fáciles de detectar con una representación visual. MRTG hace esto de forma excelente, generando datos en formatos HTML y PNG que se pueden ver a través de un navegador web. MRTG no tiene todas las características de los software de monitoreo comercial, pero hace su trabajo de manera eficiente y definitivamente vale la pena considerarlo como parte de sus actividades de monitoreo de red.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Redes, allí encontraras muchos artículos similares a Cómo utilizar MRTG para monitorizar y analizar el tráfico de red en Linux , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.