Sunday, April 12, 2009

Un rápidin para tener SNMP y MRTG

El objetivo de este post, es que el lector logre tener gráficas del tráfico de la interfaz principal que tenga su servidor, su estación de trabajo ó inclusive su firewall de un modo eficiente y rápido.
Se explicará aquí, cómo se puede monitorear el tráfico de una interfaz y con ello examinar el uso de la red que la computadora tiene.

El sistema es bastante sencillo y consiste de las siguientes partes:

1. El servidor SNMP: el servidor SNMP permite que mediante el protocolo SNMP se tenga acceso a las estadísticas de la interfaz de red así como otros datos.

2. El MRTG: Es un script escrito en Perl, el cual jala información del servidor SNMP y acumula información acerca del uso de la red. Corre periodicamente y genera gráficas en intervalos definidos. Al parecer es Cron quien lo corre.
( Cron según Wikipedía,se podría definir como el "equivalente" a Tareas Programadas de Windows.)

Es importante notar, que se puede colecionar y graficar lo que se desee con estas herramientas- No están limitadas a estadísticas de red. Además se pueden manejar muchos aspectos del servidor que se tenga gracias a SNMP.

Ahora bien, debido a que MRTG está escrito en Perl, para poderlo usar es necesario tener instalado Apache con soporte para Perl.
Para instalar Apache en Debian, desde consola se puede poner el siguiente comando:
#apt-get install apache2

Después de instalar se deberá reiniciar Apache con el siguiente comando:

#/etc/init.d/apache2 restart

Se puede probar que todo haya salido bien, al escribir en un navegador:

http://localhost/

Y obtener un letrerito que diciendo :

It works!

Una vez que ya se tiene apache instalado, se verá como llevar acabo:

La configuración del servidor SNMP

Lo primero que se debe hacer, es obtener un servidor SNMP que brinde cuando se le pida las estadísticas de la interfaz de red:

# apt-get install snmpd

Posteriormente se deberá editar la configuración, ya que por default no permite que se tenga ninguna conexión. Para editarlo ejecute el siguiente comando:

sudo nano /etc/snmp/snmpd.conf


Se deberá comentar lo siguiente con el prefijo de #:

com2sec paranoid default public

Y se deberá insertar lo siguiente justo abajo de lo que se acaba de comentar:

com2sec readonly default public

Eso hace que cualquiera que tenga acceso al servidor SNMP tenga acceso de sólo lectura a la comunidad pública. Esta comunidad es la que contiene las estadísticas de la interfaz.

Para aplicar los cambios, resetee snmpd:

/etc/init.d/snmpd restart

Instalación de MRTG

Para instalar MRTG, se debe ejecutar el siguiente comando:

# apt-get install mrtg

Se puede generar manualmente ó automáticamente el archivo de configuración para mrtg. Yo recomiendo hacerlo automátcamente ya que es mucho más fácil. Escríbase el siguiente comando:

# cfgmaker --global 'WorkDir: /var/www/mrtg' \ --output /etc/mrtg.cfg public@127.0.0.1

Esto generará el archivo de congiguración. Después se debe hacer un archivo índice que contenga todas las interfaces:

# indexmaker /etc/mrtg.cfg --columns=1 \
--output /var/www/mrtg/index.html

Posteriormente se deberá ejecutar mrtg:

# mrtg
Esto es ejecutado cada 5 minutos por cron, ese trabajito de cron fue adicionado por dpkg (dpkg es la base del sistema de gestión de paquetes de Debian GNU) así que no se tiene que configurar.

Finalmente es tiempo de inspeccionar sus resultados!
Al principio no verá gráficas rasonablemente buenas, pero dele tiempo. Relax Baby!

2 comments:

Florsie G said...

yowza! es la primera vez que te veo escribir en geek, aunque sea un HOWTO.

Saiph said...

yeah! geek is sexy....
Si puedes trata de instalarlo es muy straight forward la instalación que puse,porque en internet encontré unas que lo ponían suuper perro...
Además puede ser interesante estar monitorando tu red.
SALudos!