Está en la página 1de 10

Como configurar MRTG(Graficas de

Consumo) en Debian

Enviado por denisenrique el Mar, 2007-02-06 13:07.

1-Instalar MRTG

# apt-get install mrtg

2-Limpiar el archivo mrtg.cfg

# echo > /etc/mrtg.cfg

3-Agregar lo siguiente al archivo /etc/mrtg.cfg

#Configurando MRTG
WorkDir: /var/www/mrtg/
Htmldir: /var/www/mrtg/
icondir: images/
Refresh: 300
Interval: 5
Language: espaol
RunAsDaemon:Yes
#---------------------
# Monitorar eth0
# REDE LOCAL
#---------------------
Target[eth0]: `cat /proc/net/dev |grep eth0 |awk -F':' '{print $2}'
|awk '{print $1}'; cat /proc/net/dev |grep eth0 | awk -F':' '{print
$2}' |awk '{print $9}'; echo -e; echo -e`
MaxBytes[eth0]: 1250000
Title[eth0]: eth0 - Utilizacion eth0
PageTop[eth0]: <H1>Estadisticas de interfaces<BR>Utilizacion interface
interna (eth0)</H1>
Options[eth0]: growright

como ejemplo tome la eth0 como interface interna de igual manera se


puede cambiar a eth1

4-Ejecutar el comando mrtg para que cree la carpeta donde guardara la informacion de
la interfaces /var/www/mrtg/,ante de todo esto debe de tener configurado correctamente
apache

# mrtg

5-debe de realizar el siguiente enlace(Solo cuando es por primera vez)

# ln -s /var/www/mrtg/eth1.html /var/www/mrtg/index.html
6-Escriba en su browser el ip de su server + mrtg ,para que le muestre la estadistica

http://ip_de_tu_server/mrtg/

Instalar y Configurar MRTG en Linux

Multi Router Traffic Grapher (MRTG) permite obtener informacin


sobre el trabajo de un router en cualquier momento. Monitoriza los
dispositivos SNMP y crea los grficos con la informacin de cada
interfaz. Pero los routers son solo el principio, MRTG puede crear
grficos de muchas cosas, est escrito en Perl y funciona tanto el
Unix/Linux como en Windows y adems tiene licencia Gnu GPL.

Instalacin va apt-Get

Necesitamos un servidor web funcionando, por ejemplo Apache.


Adems de las libreras grficas para crear los grficos. Ests libreras
se llaman GD. En todo caso, si dispones ya de un servidor con
Apache Php Mysql no debers preocuparte porque la
configuracin bsica ya te cubre esta parte de requisitos, pero mas
vale decirlo por si las moscas.

Ahora toca instalar MRTG y SNMP. Estn disponibles en los


repositorios de Ubuntu, para obtenerlos debemos ejecutar la
siguiente orden:

$sudo apt-get install mrtg snmpd

Con esto se crear un directorio en el DocumentRoot por defecto de


Apache, en concreto aqu: /var/www/mrtg. Si este no es tu
DocumentRoot no te preocupes, ahora configuraremos estos
parmetros y podrs mover la carpeta donde desees publicar los
grficos.

Un ltimo paso antes de finalizar la instalacin es la modificacin del


archivo /etc/rc.local para que se funcione correctamente mrtg.

Para ello hacemos lo siguiente:

# vi /etc/rc.local

Aadimos la siguiente lnea al fichero : /bin/mkdir /var/lock/mrtg (


notad que el archivo debe terminar con exit 0 )

Configuracin
Primero configuraremos el snmp que es de donde mrtg obtendr los
datos sobre el trafico de la red. Para ello editamos el archivo
/etc/snmp/snmpd.conf

$sudo vim /etc/snmp/snmpd.conf

Buscamos las siguientes lineas y las dejamos as:

# sec.name source community

# com2sec paranoid default public

com2sec readonly default public

#com2sec readwrite default private

Guardamos los cambios y reiniciamos el servicio snmpd.

$sudo /etc/init.d/snmpd/ restart

Ahora ya podemos crear la primera configuracin de mrtg con el


siguiente comando:

$sudo cfgmaker public@192.168.0.1 >> /etc/mrtg.cfg

Esto nos va ha crear una configuracin automtica y bsica de mrtg.


Pero vamos a editar el fichero para cambiar cosas que no nos
interesan.

$ sudo vim /etc/mrtg.cfg

En este archivo justo despus de ejecutar el cfgmaker aparecen las


configuraciones de todas las interfaces de red conectadas, algunas
estn comentadas ( # ) porqu son del sistema y no dan informacin
relevante, para ello vamos a limpiar el fichero y lo vamos a dejar a
nuestro gusto. Un ejemplo podra ser el siguiente:

# Created by

# /usr/bin/cfgmaker public@192.168.0.5

### Global Config Options

# for UNIX

# WorkDir: /home/http/mrtg

# for Debian
WorkDir: /var/www/web/stuff/server-status

# or for NT

# WorkDir: c:\mrtgdata

### Global Defaults

# to get bits instead of bytes and graphs growing to the right

# Options[_]: growright, bits

EnableIPv6: no

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt,
/usr/share/snmp/mibs/TCP_MIB.txt,
/usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt

### INFORMACION TRAFICO ###

Target[arpanet.net]: 2:public@192.168.0.5:

SetEnv[arpanet.net]: MRTG_INT_IP=192.168.0.5
MRTG_INT_DESCR=eth0

PageTop[arpanet.net]: <h1>Uso de Red</h1>

MaxBytes[arpanet.net]: 1250000

Options[arpanet.net]: growright

Title[arpanet.net]: Uso de Red

Explicacin del archivo /etc/mrtg.cfg:

WorkDir: Es la ruta donde se publicarn los grficos, debe estar


accesible por apache. Debis indicar donde queris publicar el
index.html para mostrarlos por la web.

LoadMiBs: Necesario mas adelante para cargar mas datos sobre el


sistema. No necesario para el ejemplo.

Cada grfico mostrado esta configurado por un Target[nombre] :


obtencin de datos. Despus del Target hay un
2:public:@192.168.0.5, esto se traduce en lo siguiente:

<interfaz de red>:public@<ip interfaz>. En mi caso la interfaz es


la #2
Las siguientes variables son para configurar la presentacin, como la
leyenda y el titulo que se mostrar.

Es importante que la opcin PageTop tenga el valor entre los <h1>


</h1>.

Ahora ya tenemos una primera configuracin, vamos a crear los


archivos html para publicar nuestro primer grfico.

$sudo indexmaker /etc/mrtg.cfg >


/var/www/web/stuff/server-status/index.html

El comando indexmaker hay que ejecutarlo cada vez que realizamos


un cambio en la configuracin de mrtg.cfg.

Ahora ya podemos visitar nuestra web :

http://direccionserver/stuff/server-status.

Los grficos no se actualizan en tiempo real, cuando hemos instalado


el mrtg tambin se ha creado un cron que se ejecuta cada 5 minutos
y obtiene los datos, por eso los grficos no aparecen al instante de
ejecutar el comando indexmaker. El cron debe tener una pinta similar
a esto:

$ sudo cat /etc/cron.d/mrtg

0-55/5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ];


then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >>
/var/log/mrtg/mrtg.log 2>&1; fi

Si no os aparece el grfico, podis consultar el log de mrtg en


/var/log/mrtg/mrtg.log.

Aadir mas grficos

Para aadir mas informacin sobre el sistema solo debeis incluir las
siguientes lineas en el archivo /etc/mrtg.cfg y volver a ejecutar el
comando indexmaker:

### TCP ABIERTOS ###

Target[arpanet.tcp]:
.1.3.6.1.2.1.6.9.0&.1.3.6.1.2.1.6.9.0:public@192.168.0.5

RouterUptime[arpanet.tcp]: public@192.168.0.5

Options[arpanet.tcp]: nopercent,growright,gauge
Title[arpanet.tcp]: Conexiones TCP abiertas

PageTop[arpanet.tcp]: <h1>Conexiones TCP abiertas</h1>

MaxBytes[arpanet.tcp]: 1000000

YLegend[arpanet.tcp]: Conexiones

ShortLegend[arpanet.tcp]: Conexiones

LegendI[arpanet.tcp]: Conexiones:

LegendO[arpanet.tcp]:

Legend1[arpanet.tcp]: Conexiones TCP abiertas

### MEM LIBRE INFO ###

Target[arpanet.mem]:
.1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@192.168.0.5

RouterUptime[arpanet.mem]: public@192.168.0.5

PageTop[arpanet.mem]: <h1>RAM Libre</h1>

Options[arpanet.mem]: nopercent,growright,gauge

Title[arpanet.mem]: RAM Libre

MaxBytes[arpanet.mem]: 1000000

kMG[arpanet.mem]: k,M,G,T,P,X

YLegend[arpanet.mem]: bytes

ShortLegend[arpanet.mem]: bytes

LegendI[arpanet.mem]: RAM libre:

LegendO[arpanet.mem]:

Legend1[arpanet.mem]: RAM libre, no incluye la swap, en bytes

### SWAP INFO ###

Target[arpanet.swap]:
memAvailSwap.0&memAvailSwap.0:public@192.168.0.5
RouterUptime[arpanet.swap]: public@192.168.0.5

PageTop[arpanet.swap]: <h1>Swap Libre</h1>

Options[arpanet.swap]: nopercent,growright,gauge

Title[arpanet.swap]: Swap Libre

MaxBytes[arpanet.swap]: 1000000

kMG[arpanet.swap]: k,M,G,T,P,X

YLegend[arpanet.swap]: bytes

ShortLegend[arpanet.swap]: bytes

LegendI[arpanet.swap]: Swap Libre:

LegendO[arpanet.swap]:

Legend1[arpanet.swap]: Swap libre, en bytes

### CPU ###

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

RouterUptime[arpanet.cpu]: public@192.168.0.5

MaxBytes[arpanet.cpu]: 100

Title[arpanet.cpu]: Carga de CPU

PageTop[arpanet.cpu]: <h1>Carga de CPU</h1>

Unscaled[arpanet.cpu]: ymwd

ShortLegend[arpanet.cpu]: %

YLegend[arpanet.cpu]: Uso de CPU

Legend1[arpanet.cpu]: CPU Activa en % (Carga)

Legend2[arpanet.cpu]:

Legend3[arpanet.cpu]:
Legend4[arpanet.cpu]:

LegendI[arpanet.cpu]: Uso

LegendO[arpanet.cpu]:

Options[arpanet.cpu]: growright,nopercent

### USUARIOS ###

Target[arpanet.users]: `who | wc -l | awk {OFMT=%d; print $1;


print 0}`

RouterUptime[arpanet.users]: public@192.168.0.5

Title[arpanet.users]: Usuarios

PageTop[arpanet.users]: <h1>Usuarios</h1>

MaxBytes[arpanet.users]: 10

Options[arpanet.users]: growright,nopercent,gauge

LegendI[arpanet.users]: Usuarios:

LegendO[arpanet.users]:

Ylegend[arpanet.users]: Usuarios

ShortLegend[arpanet.users]: Usuario(s)

Legend1[arpanet.users]: Usuarios en el sistema

Recordar de cambiar el public@<ip del ordenador>

Para monitorizar el estado de uso de los discos duros y particiones,


existen varias opciones, yo lo tengo usando un script que me da la
informacin y luego le indico en la configuracin de mrtg de donde
obtener los datos.

Crear el siguiente script en /root/ y llamarlo df-mrtg

$sudo vim /root/df-mrtg

#!/bin/sh

PATH=/bin:/usr/bin
part=$1

# The external mrtg probe returns up to 4 lines of output:

# 1. Line: current state of the incoming bytes counter

# 2. Line: current state of the outgoing bytes counter

# 3. Line: string, telling the uptime of the target.

# 4. Line: telling the name of the target.

# df=`df block-size=1 $part | tail -1` # mrtg cant cope with


bignums

df=`df $part | tail -1`

# well list the available blocks as incoming as thats the solid green
bar

echo $df | awk {print $4} # available

echo $df | awk {print $3} # used

uptime | cut -d, -f 1 | awk {print $3, $4}

echo $df | awk {print $1}

Guardar y probarlo ejecutando:

$ sudo ./root/df-mrtg /

root@ARPANET:~/scripts# ./df-mrtg /

2407452

1149728

2 days

/dev/hda1

Ahora podemos insertar lo siguiente en /etc/mrtg.cfg para que


muestre el estado de la particin /. Se puede consultar la particin
que queramos pasando por parmetro la particin, /home, /var, etc.

### ESTADO PARTICION / ###


Target[arpanet.disk1]: `/root/df-mrtg /`

RouterUptime[arpanet.disk1]: public@192.168.0.5

Options[arpanet.disk1]: nopercent,growright,integer,gauge

Title[arpanet.disk1]: Estado del disco /

PageTop[arpanet.disk1]: <h1>Estado del disco /</h1>

MaxBytes[arpanet.disk1]: 125000000

kMG[arpanet.disk1]: k,M,G,T,P,X

YLegend[arpanet.disk1]: 1k bloques

ShortLegend[arpanet.disk1]: &nbsp;1k bloques

LegendI[arpanet.disk1]: disponible&nbsp;

LegendO[arpanet.disk1]: usado&nbsp;

Recordar de cambiar el public@<ip del ordenador>

Ahora ya podemos disfrutar de las estadsticas de nuestro servidor


con MRTG. Otra cosa mas, cuando tengamos todo funcionando y
configurado, podemos editar el archivo index.html para cambiar su
aspecto y hacerlo mas vistoso, eso ya depende de cada uno.

También podría gustarte