Estadisticas de red, router, cpu: MRTG.
Estadisticas de red, router, cpu: MRTG.
Por Paco Aldarias Raya
Impreso: 11 de junio de 2009
Email: pacolinux arroba aldarias punto es
Web: http://www.aldarias.es
Con Linux Debian. En Valencia (España)
El documento tiene version .html, y .pdf, cambiando en el navegador la parte
final podrás acceder a ambos.
Este documento es de libre reproducción siempre que se cite su fuente.
Realizado con: LATEX
Índice
Índice
1. Versiones
2. Introducción
3. Control del tráfico de un router adsl.
4. Instalación de mrtg
5. Configurar el acceso al router
6. Configurar la carga de la cpu
7. Todo el fichero de configuración
8. Comprobar el cron
9. Como ver las estadisticas
10.Mrtg y Apache
10.1. Configurar el apache . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2. Probar que funciona . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.3. Configurar mrtg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1
2
2
3
3
4
4
4
4
4
5
5
Por Paco Aldarias
1/11
Estadisticas de red, router, cpu: MRTG.
11.Mrtg y las máquinas en una red
11.1. Script nmapmrtg.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2. Configuración /etc/mrtg.cfg . . . . . . . . . . . . . . . . . . . . . . .
12.Mrtg y el tráfico del servidor web
12.1. Filtro del iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2. Script que analize esta regla de iptables . . . . . . . . . . . . . . . . .
12.3. Configurar el mrtg . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.Mrtg y la temperatura del disco duro
13.1. Script para sacar la temperatura . . . . . . . . . . . . . . . . . . . . .
13.2. Configurar el mrtg . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
6
7
7
7
8
8
8
9
14.Mrtg y el ancho de banda
9
9
14.1. Script para sacar el ancho de banda . . . . . . . . . . . . . . . . . . .
14.2. Configurar el mrtg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
15.Mrtg y el número total de procesos
10
15.1. Script para cálcular los procesos . . . . . . . . . . . . . . . . . . . . . 10
15.2. Configurar el mrtg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11
11
16.Generar el indice
17.Bibliografía
1. Versiones
07.04.03 v.1.0 Primera version
01.11.03 v.1.2 Mrtgindex
07.04.03 v.1.1 Apache
27.06.04 v.1.2 Iptotal y mrtg
22.03.05 v.1.2 Procesos
2.
Introducción
MRTG: Multirouter Traffic Grapher Es una aplicación que permite sacar esta-
disticas de todo tipo.
Algunas estadisticas:
Control del tráfico de un router adsl.
Control del tráfico enviado/recibido de las tarjetas de red
Control del uso de la CPU
Por Paco Aldarias
2/11
Estadisticas de red, router, cpu: MRTG.
Medidor del uso de la RAM
Control del trafico del servidor web Apache.
Un ejemplo:
http://mainake.escomposlinux.org/mrtg/
3. Control del tráfico de un router adsl.
Para controlar el tráfico generado por el router usaremos el protocolo SNMP.
SNMP Simple Network Management Protocol El protocolo SNMP que permite con-
seguir informacion del router
En concreto yo tengo ADSL y un router Speed Strem 5660: Software Version
2.3.0(2) Aug 1 2001 11:54:02
Entrar al router poniendo http://ip_del_router
Advanced Setup ,SNMP
Me sale esto:
SNMP Configuration
Operating
Values Stored
Values Enter New
Values
Community String
System Name:
System Location
System Contact
Trap Manager 1
Trap Manager 2
Router Eficient
Router Eficient
mi_comunidad
mi_comunidad
Casa
Casa
[email protected]
0.0.0.0 0.0.0.0
0.0.0.0 0.0.0.0
[email protected]
Tener en cuenta:
Lo importante es ver lo que pone en comunity String, ya que eso lo pasaremos
al software mrtg , ademas de la ip del router.
Estos datos se pueden cambiar. Incluso es recomendable cambiar el nombre de
la comunidad.
4.
Instalación de mrtg
Como root hay q hacer todo esto:
apt-get install mrtg mrtgutils mrtg-contrib
Siendo:
mrtg Programa mrtg
mrtgutils Utilidades mrtg
mrtg-contrib Utilidades mrtg
Por Paco Aldarias
3/11
Estadisticas de red, router, cpu: MRTG.
5. Configurar el acceso al router
Hay una utilidad q configura llamada cfgmaker que configura solo mrtg para el
router.
#cfgmaker
--global ’WorkDir: /var/www/mrtg’ \
--global ’Options[_]: bits,growright’ \
--output /etc/mrtg/mrtg.cfg \
comunidad_del_router@ip_del_router
Siendo:
workdir: Es donde se guardan los resultados.
output: Es donde esta el fichero cfg
6. Configurar la carga de la cpu
Hay una utilidad llamada mrtg-load que devuelve el uso de la cpu.
Probar q funciona poniendo desde consola: mrtg-load
Veamos que debemos añadir al fichero /etc/mrtg.cfg
# CPU load %
Target[cpu]:‘/usr/bin/mrtg-load -m 100‘
Title[cpu]: Carga de CPU
PageTop[cpu]: <H1>CPU Carga %</H1>
<TABLE>
<TR><TD>System:</TD>
<TR><TD>Maintainer:</TD> <TD>Paco Aldarias</TD></TR>
<TR><TD>Description:</TD><TD>Carga del procesador (%) </TD></TR>
<TR><TD>Email:</TD>
<TD>aldarias.dsland.org</TD></TR>
<TD>
[email protected]</TD></TR>
</TABLE>
MaxBytes[cpu]: 100
Unscaled[cpu]: ymwd
ShortLegend[cpu]: %
XSize[cpu]: 380
YSize[cpu]: 100
YLegend[cpu]: Carga(%)
Legend1[cpu]:
Legend2[cpu]: Utilización de la CPU en % (Carga)
Legend3[cpu]: Tiempo de funcionamiento (uptime)
Legend4[cpu]: Nombre de lo que estamos monitorizando
LegendI[cpu]:
LegendO[cpu]: Carga(%); 
Options[cpu]: gauge
Background[cpu]: #bbbbbb
Colours[cpu]: GREEN#00eb0c,BLUE#1000ff,DARK GREEN#006600,VIOLET#ff00ff
Por Paco Aldarias
4/11
Estadisticas de red, router, cpu: MRTG.
Siendo:
Target[cpu]:‘/usr/bin/mrtg-load -m 100‘
Pide porcentajes de uso de la cpu
Options[cpu]: gauge
Calcula cantidades sin acumular
7. Todo el fichero de configuración
Se pueden ver como se configuran mas cosas viendo el contenido del fichero:
/etc/mrtg.cfg
mrtg.cfg
8. Comprobar el cron
Para que cada 5 minutos se llama al mrtg, añadir esta linea al crontab
# nano /etc/crontab
0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg.cfg
.
Reiniciar el cron:
/etc/init.d/cron restart
9. Como ver las estadisticas
Abrir con el navegador:
\var\www\mrt\
10. Mrtg y Apache
10.1. Configurar el apache
nano /etc/apache/httpd.conf
<Location /server-status>
SetHandler server-status
Order deny,allow
#Deny from all
#Allow from .your_domain.com
Allow from all
</Location>
<Location /server-info>
Por Paco Aldarias
5/11
Estadisticas de red, router, cpu: MRTG.
SetHandler server-info
Order deny,allow
#Deny from all
#Allow from 127.0.0.1 192.168.100.1
Allow from all
</Location>
LoadModule info_module /usr/lib/apache/1.3/mod_info.so
Reiniciar el apache: /etc/init.d/apache restart
10.2. Probar que funciona
1. Para un apache normal:
mrtg-apache 127.0.0.1
2. En mi caso:
mrtg-apache aldarias.dyndns.org -p 2080
3. Abriendo el navegador:
http://localhost:2080/server-status
4. Abriendo el navegador:
http://localhost:2080/server-info
10.3. Configurar mrtg
nano /etc/mrtg.cfg
Target[apache]:‘mrtg-apache aldarias.dyndns.org -p 2080‘
Title[apache]: Accesos al servidor Web
PageTop[apache]: <H1> Accesos al servidor Web</H1>
<TABLE>
<TR><TD>System:</TD>
<TR><TD>Maintainer:</TD> <TD>Paco Aldarias</TD></TR>
<TR><TD>Description:</TD><TD>Server Status:
<TD>aldarias.dsland.org</TD></TR>
mrtg-apache aldarias.dyndns.org -p 2080 </TD></TR>
<TR><TD>Email:</TD>
<TD>
[email protected]</TD></TR>
</TABLE>
MaxBytes[apache]: 100
Unscaled[apache]: ymwd
ShortLegend[apache]: hits
XSize[apache]: 300
YSize[apache]: 100
YLegend[apache]: hits
#Legend1[apache]: Nose
Legend2[apache]: Hits
#Legend3[apache]: Hits
Por Paco Aldarias
6/11
Estadisticas de red, router, cpu: MRTG.
#Legend4[apache]: Nombre de lo que estamos monitorizando
#LegendI[apache]: -
#LegendO[apache]: Hits
Options[apache]: gauge
Generamos el nuevo indice:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
Generamos nuevas estadísticas:
mrtg /etc/mrtg.cfg
11. Mrtg y las máquinas en una red
Vamos a ver la forma de poder tener una gráfica con las máquinas conectadas en
la red. Tendremos q crear un script llamado /root/nmapmrtg.sh que será llamado
por mrtg.
11.1. Script nmapmrtg.sh
cat /root/nmapmrtg.sh
#!/bin/sh
statname="ies25abril.dsland.org"
uptime=‘uptime | awk ’{print $3}’‘" dias, "‘uptime | awk ’{print $5}’‘" horas"
nmap -sP 192.168.100.1-254 > nmap.txt
statin=‘cat nmap.txt | awk ’/hosts up/ {print $8}’ |tr \( " "‘
statout=‘echo 0‘
echo $statin
echo $statout
echo $uptime
echo $statname
Deberemos darle permiso de ejecución:
chmod 700 /root/nmapmrtg.sh
11.2. Configuración /etc/mrtg.cfg
Añadiremos al final del fichero este texto:
Title[nmap]: Máquinas en la red
Target[nmap]:‘/root/nmapmrtg.sh‘
PageTop[nmap]: <h1>Máquinas en la red</h1>
MaxBytes[nmap]: 1000
YLegend[nmap]: Máquinas
ShortLegend[nmap]: pcs
XSize[nmap]: 300
YSize[nmap]: 100
Options[nmap]: nopercent,gauge
Por Paco Aldarias
7/11
Estadisticas de red, router, cpu: MRTG.
12. Mrtg y el tráfico del servidor web
Deberemos hacer 3 cosas:
1. Crear un filtro con iptables
2. Crear un script que analize esta regla de iptables.
3. Decirle a mrtg que coga los datos.
Nota: Esto sirve para cualquier puerto que se desee monitorizar. Si cambias 80
por 21, y Webin por Ftpin. y Webout por Ftpout, ya tienes para monitorizar el ftp
también,etc.
12.1. Filtro del iptables
cat /root/web.sh
#!/bin/sh
/sbin/iptables -N WebIn
/sbin/iptables -N WebOut
/sbin/iptables -A WebIn -j ACCEPT
/sbin/iptables -A WebOut -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j WebIn
/sbin/iptables -A OUTPUT -p tcp --sport 80 -j WebOut
Deberemos darle permiso de ejecución:
chmod 700 /root/web.sh
Lo añadiremos en el arranque:
cp /root/web.sh /etc/init.d/
ln -s /etc/init.d/web.sh /etc/init.d/rc2/99web.sh
12.2. Script que analize esta regla de iptables
cat /root/webmrtg.sh
#!/bin/sh
statname="Servidor Web"
uptime=‘uptime | awk ’{print $3}’‘" dias, \
"‘uptime | awk ’{print $5}’‘" horas"
statin=‘/sbin/iptables -L -n -x -v | /bin/grep -A 12 INPUT \
| /bin/grep WebIn | /usr/bin/awk ’{print $2}’‘
statout=
Comentarios de: Estadisticas de red, router, cpu: MRTG (0)
No hay comentarios