configuracion mtrg
DESCRIPTION
MTRG LinuxTRANSCRIPT
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 MRTGWorkDir: /var/www/mrtg/Htmldir: /var/www/mrtg/icondir: images/Refresh: 300Interval: 5Language: españolRunAsDaemon: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]: 1250000Title[eth0]: eth0 - Utilizacion eth0PageTop[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 información sobre el trabajo de un router en cualquier momento. Monitoriza los dispositivos SNMP y crea los gráficos con la información de cada interfaz. Pero los routers son solo el principio, MRTG puede crear gráficos de muchas cosas, está escrito en Perl y funciona tanto el Unix/Linux como en Windows y además tiene licencia Gnu GPL.
Instalación vía apt-Get
Necesitamos un servidor web funcionando, por ejemplo Apache. Además de las librerías gráficas para crear los gráficos. Estás librerías se llaman “GD”. En todo caso, si dispones ya de un servidor con Apache – Php – Mysql no deberás preocuparte porque la configuración básica ya te cubre esta parte de requisitos, pero mas vale decirlo por si las moscas.
Ahora toca instalar MRTG y SNMP. Están 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 parámetros y podrás mover la carpeta donde desees publicar los gráficos.
Un último paso antes de finalizar la instalación es la modificación del archivo /etc/rc.local para que se funcione correctamente mrtg.
Para ello hacemos lo siguiente:
# vi /etc/rc.local
Añadimos la siguiente línea al fichero : /bin/mkdir /var/lock/mrtg ( notad que el archivo debe terminar con “exit 0” )
Configuración
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 configuración de mrtg con el siguiente comando:
$sudo cfgmaker [email protected] >> /etc/mrtg.cfg
Esto nos va ha crear una configuración automática y básica de mrtg. Pero vamos a editar el fichero para cambiar cosas que no nos interesan.
$ sudo vim /etc/mrtg.cfg
En este archivo justo después de ejecutar el cfgmaker aparecen las configuraciones de todas las interfaces de red conectadas, algunas están comentadas ( # ) porqué son del sistema y no dan información relevante, para ello vamos a “limpiar” el fichero y lo vamos a dejar a nuestro gusto. Un ejemplo podría ser el siguiente:
# Created by
# /usr/bin/cfgmaker [email protected]
### 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:[email protected]:
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
Explicación del archivo /etc/mrtg.cfg:
WorkDir: Es la ruta donde se publicarán los gráficos, debe estar accesible por apache. Debéis indicar donde queréis 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 gráfico mostrado esta configurado por un “Target[nombre] : obtención de datos”. Después 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 presentación, como la leyenda y el titulo que se mostrará.
Es importante que la opción PageTop tenga el valor entre los <h1> </h1>.
Ahora ya tenemos una primera configuración, vamos a crear los archivos html para publicar nuestro primer gráfico.
$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 configuración de mrtg.cfg.
Ahora ya podemos visitar nuestra web :
http://direccionserver/stuff/server-status.
Los gráficos no se actualizan en tiempo real, cuando hemos instalado el mrtg también se ha creado un cron que se ejecuta cada 5 minutos y obtiene los datos, por eso los gráficos 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 gráfico, podéis consultar el log de mrtg en /var/log/mrtg/mrtg.log.
Añadir mas gráficos
Para añadir mas información 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:[email protected]
RouterUptime[arpanet.tcp]: [email protected]
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:[email protected]
RouterUptime[arpanet.mem]: [email protected]
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:[email protected]
RouterUptime[arpanet.swap]: [email protected]
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:[email protected] + ssCpuRawSystem.0&ssCpuRawSystem.0:[email protected] + ssCpuRawNice.0&ssCpuRawNice.0:[email protected]
RouterUptime[arpanet.cpu]: [email protected]
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]: [email protected]
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 información y luego le indico en la configuración 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 can’t cope with bignums
df=`df $part | tail -1`
# we’ll list the available blocks as “incoming” as that’s 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 partición /. Se puede consultar la partición que queramos pasando por parámetro la partición, /home, /var, etc.
### ESTADO PARTICION / ###
Target[arpanet.disk1]: `/root/df-mrtg /`
RouterUptime[arpanet.disk1]: [email protected]
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]: 1k bloques
LegendI[arpanet.disk1]: disponible
LegendO[arpanet.disk1]: usado
Recordar de cambiar el public@<ip del ordenador>
Ahora ya podemos disfrutar de las estadísticas 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.