Configurar MRTG con SNMP bajo Linux

En ciertas ocasiones, puede ser interesante monitorizar gráficamente ciertos estados de nuestro servidor, como la transferencia de datos a través de una interface de red, el consumo de CPU o de memoria RAM, además de muchas otras cosas.

Todo esto es posible hacerlo gracias a una utilidad llamada MRTG (Multi Router Traffic Grapher), que recoge la información de nuestro sistema con SNMP (Simple Network Management Protocol) y la muestra en una interface web.

Así, podemos obtener gráficos como éste:



A continuación se detalla el proceso de instalación y configuración.

Cómo es habitual en mis artículos, basaré el proceso de instalación en una máquina con Debian, aunque no debería ser mayor problema adaptarlo a cualquier distribución.

Empezaremos por instalar SNMP:

newton:~# apt-get install snmp snmpd

Una vez instalado, pasaremos a editar el archivo de configuración, /etc/snmp/snmpd.conf
Si lo que nos interesa es tan sólo consultar al servidor SNMP desde nuestra máquina (para MRTG), nos bastará con incluir la siguiente línea en la configuración para permitir la lectura desde localhost:
com2sec readonly  127.0.0.1         public

Reiniciamos el servicio para actualizar la configuración:
newton:~# /etc/init.d/snmpd restart

Comprobamos que la configuración es correcta y tenemos acceso, deberían aparecer múltiples líneas sobre nuestro sistema:

newton:/etc/snmp# snmpwalk -v 1 -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux newton 2.4.27-da-1 #2 Tue Oct 11 21:54:02 CEST 2005 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (5331) 0:00:53.31
El siguiente paso a realizar es instalar MRTG:

newton:~# apt-get install mrtg

Para hacer una configuración inicial, la cual nos detectará automáticamente las interfaces de red, ejecutaremos lo siguiente:
newton:~# cfgmaker --community public --output /etc/mrtg.cfg localhost
--base: Get Device Info on public@localhost:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache public@localhost: Descr lo --> 1
--snpo: confcache public@localhost: Descr eth0 --> 2
Pasaremos a editar el archivo de configuración /etc/mrtg.cfg que nos ha creado el cfgmaker para añadir otros gráficos interesantes:
Tan solo debemos añadir el código que se indica a continuación en el orden que queremos que nos aparezcan los gráficos en la web.

Consumo de CPU:
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@localhost + ssCpuRawSystem.0&
ssCpuRawSystem.0:public@localhost + ssCpuRawNice.0&ssCpuRawNice.0:public@localhost
RouterUptime[localhost.cpu]: public@localhost
MaxBytes[localhost.cpu]: 100
Title[localhost.cpu]: CPU Load
PageTop[localhost.cpu]: Carga de CPU %
Unscaled[localhost.cpu]: ymwd
ShortLegend[localhost.cpu]: %
YLegend[localhost.cpu]: Uso de CPU
Legend1[localhost.cpu]: CPU Activa en % (Carga)
Legend2[localhost.cpu]:
Legend3[localhost.cpu]:
Legend4[localhost.cpu]:
LegendI[localhost.cpu]:  Active
LegendO[localhost.cpu]:
Options[localhost.cpu]: growright,nopercent
Memoria RAM:
LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Target[localhost.mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@localhost
PageTop[localhost.mem]: Memoria RAM
Options[localhost.mem]: nopercent,growright,gauge,noinfo
Title[localhost.mem]: Memoria Libre
MaxBytes[localhost.mem]: 1000000
kMG[localhost.mem]: k,M,G,T,P,X
YLegend[localhost.mem]: bytes
ShortLegend[localhost.mem]: bytes
LegendI[localhost.mem]:  Free Memory:
LegendO[localhost.mem]:
Legend1[localhost.mem]: Free memory, not including swap, in bytes
Memoria SWAP:
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.swap]: memAvailSwap.0&memAvailSwap.0:public@localhost
PageTop[localhost.swap]: Memoria Swap
Options[localhost.swap]: nopercent,growright,gauge,noinfo
Title[localhost.swap]: Memoria Libre
MaxBytes[localhost.swap]: 1000000
kMG[localhost.swap]: k,M,G,T,P,X
YLegend[localhost.swap]: bytes
ShortLegend[localhost.swap]: bytes
LegendI[localhost.swap]:  Memoria Libre:
LegendO[localhost.swap]:
Legend1[localhost.swap]: Swap memory avail, in bytes
Una vez tengamos todos los gráficos que nos interesen, debemos generar el directorio web de MRTG:
newton:~# indexmaker --output /var/www/mrtg/index.html /etc/mrtg.cfg

Ahora tan sólo nos quedará añadir a nuestro crontab a MRTG para que actualice los gráficos:
Editamos el crontab de root (crontab -e), y añadimos la siguiente línea que actualizará cada 5 minutos los gráficos:
*/5 * * * * mrtg /etc/mrtg.cfg

En principio esto es todo, aunque por supuesto, puede ampliarse muchísimo añadiendo otros gráficos.

Más información:
MRTG
MRTG Implementation Manual



 


Trackback

Trackback URL for this entry:
/trackback.php/configurar-mrtg-snmp-linux

Here's what others have to say about 'Configurar MRTG con SNMP bajo Linux':

Another Dead Angel » Blog Archive » Generacion de Graficos del Servidor ( 2 Parte )
Tracked on Wednesday, September 13 2006 @ 01:59 AM CEST

Comments

Post a comment

hola!

cuando se ejecuta la instruccion "indexmaker --output /var/www/mrtg/index.html /etc/mrtg.cfg

aparece el siguiete error:   "ERROR: CFG Error Unknown Option "sscpurawsystem.0" on line 36 or above.
           Check doc/reference.txt for Help"

NO FUNCIONA

Anonymous on Saturday, December 29 2007 @ 06:08 PM CET Reply | #

Creo que tu problema está en la siguiente línea:

Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@localhost + ssCpuRawSystem.0&
ssCpuRawSystem.0:public@localhost + ssCpuRawNice.0&ssCpuRawNice.0:public@localhost

En el post aparece como si fueran dos líneas, pero debe ir en una misma:

Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@localhost + ssCpuRawSystem.0&ssCpuRawSystem.0:public@localhost + ssCpuRawNice.0&ssCpuRawNice.0:public@localhost

Elimina el salto de línea y verás como funciona.

---
www.gra2.com
in.solit.us: Upload and share your files

daniel on Saturday, December 29 2007 @ 10:22 PM CET Reply | #

hola! gracias por su respuesta... intente seguir paso a paso el tutorial pero no me grafica... me aparece la pagina index.html con el titulo y algunos correos en la parte inferior pero el grafico nop.  ademas le hago la prueba de: snmpwalk -v 1 -c public localhost system  y me muestra la informacion de MIB.

 

Que puede ser?? agradezco su ayuda

Anonymous on Sunday, January 27 2008 @ 07:01 AM CET Reply | #

Si no te aparecen los gráficos, lo más probable es que haya algún problema con la actualización de los datos de SNMP.

Puedes probar a ejecutar mrtg /etc/mrtg.cnf en la terminal, y ver si te da algún error. Si ejecutando mrtg en la terminal te crea los gráficos, tienes algún problema con el crontab.

---
www.gra2.com
in.solit.us: Upload and share your files

daniel on Sunday, January 27 2008 @ 05:36 PM CET Reply | #

Hola amigo!

al ejecutar el comando .......indexmaker --output /var/www/mrtg/index.html /etc/mrtg.cfg me aparece el siguiente error:

Use of uninitialized value in hash element at /usr/bin/indexmaker line 352

cual seria el procedimiento para repararlo y que el sistema grafique el ancho de banda que pasan por la tarjeta de red?

 

Anonymous on Friday, March 21 2008 @ 08:20 PM CET Reply | #

Para el problema

"Use of uninitialized value in hash element at /usr/bin/indexmaker line 352"

Antes de hacer el indexmaker se debe conectar el equipo a la red y hacer un ping a otro host, ahi se tendra ya un poco de trafico listo para ser visualizado.

Me costo 5 horas para descubiri esto jajaj ja  aj

Patoflash

 

Anonymous on Tuesday, December 02 2008 @ 01:55 AM CET Reply | #

Hey! yo utilizo ubuntu 606 lts pero no me funciona el crontab, podrias explicar mas acerca de esto? ya pasaron mas de 2 horas y no me pone ningun gif en el index.html

 

Anonymous on Wednesday, April 16 2008 @ 02:54 AM CEST Reply | #

Hola, tengo instalado MRTG en linux pero cuando extraigo los datos de la memoria usada me aparecen los valores correctos, pero para la opción que tengo de extraer los datos de la memoria libre que tengo puesto a continuación no me salen los valores correctos, si no  unos mucho más pequeños. No se si alguien sabra a que se debe.

Gracias

Anonymous on Tuesday, May 27 2008 @ 08:24 PM CEST Reply | #

Holaa!

Perdona a lo mejor mi pregunta es un poco tonta, pero me gustaria saber como puedo hacer para poder monitorear un equipo que no sea mi maquina, es decir el equipo que le da red a mi compu, aun soy muy nuevo en linux y me cuesta trabajo, tengo qeu modificar el archivo de snmp para eso??

Muchas gracias

 

Anonymous on Tuesday, August 26 2008 @ 04:43 PM CEST Reply | #

Search



About

newton.gra2.com is a blog about technology, opinion and random thoughts written by Daniel Alvarez, a computer engineer currently living in Zurich, Switzerland.

Topics

User Functions

:

:


Lost your password?

Latest posts

Stories last 24 hours

No new stories

Comments last 2 days

No new comments

Trackbacks last 2 days

No new trackback comments

Links last 2 weeks

No recent new links