MRTG
es una utilidad para monitorizar y generar graficos por medio de snmp. Para los que tengan como yo limite de consumo de trafico mensual, va muy bien tener un contador del total de consumo por dias y por meses.
Lo primero que tenemos que hacer es instalar los paquetes necesarios:
1apt-get install mrtg libgd-graph-perl libgd-graph3d-perl snmpd
Una vez instalado, configuramos MRTG
(/etc/mrtg.cfg):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#################################################
# Multi Router Traffic Grapher -- Sample Configuration File
#################################################
# This file is for use with mrtg-2.5.4c
# Global configuration
WorkDir: /var/www/mrtg
#General title
Title[^]: Traffic Analysis for Atlantis
#We dont need Ipv6
EnableIPV6: no
#Count in bits, grow from right to left, log unknow data as zero
Options[_]: bits,growright,unknaszero
#Target to monitor
Target[atlantis]: 2:atlantis@localhost
#Page title
Title[atlantis]: Traffic Analysis for Atlantis
PageTop[atlantis]:
<H1>
Our 100mbps link to the outside world
</H1>
#100mb
MaxBytes[atlantis]: 12500000
WithPeak[atlantis]: ymw
AbsMax[atlantis]: 1000000000000
#MRTG Total config (Title, Unit = M(Bytes))
#-#Total[atlantis]: Traffic Totals for Atlantis
#-#Total-Unit[atlantis]: M
#-#Total:Ratio[atlantis]: yes
|
Configurar SNMP (/etc/snmp/snmpd.conf):
1
2
3
4
5
6
7
8
9
10
11
12
|
com2sec local localhost atlantis
com2sec atlantis 66.111.52.100 atlantis
group MyROGroup v1 local
group MyROGroup v1 atlantis
view all-nibs included .1 80
access MyROGroup "" v1 noauth exact all-nibs none none
syslocation altantis
syscontact Root
|
Configuramos iptables para que no puedan acceder al SNMP desde fuera
1
2
3
4
5
6
7
|
#SNMPD Solo Local
$IPTABLES -A INPUT -s 127.0.0.1 -p tcp --dport 199 -j ACCEPT
$IPTABLES -A INPUT -s 127.0.0.1 -p udp --dport 161 -j ACCEPT
$IPTABLES -A INPUT -s 85.17.1.127 -p tcp --dport 199 -j ACCEPT
$IPTABLES -A INPUT -s 85.17.1.127 -p udp --dport 161 -j ACCEPT
$IPTABLES -A INPUT -s 0/0 -p tcp --dport 199 -j DROP
$IPTABLES -A INPUT -s 0/0 -p udp --dport 161 -j DROP
|
Descargamos
mrtg_total y lo descomprimimos:
1tar xvfj mrtg_total.tar.bz2
2cd mrt_total
3unzip mrtg_total.zip
El script importante es mrtg_total.pl, y hay que añadirle en la primera linea del fichero #!/usr/bin/perl
Ahora añadimos al crontab que ejecute mrtg_total, por ejemplo cada 3 horas (/etc/crontab):
10 */3 * * * root /path/to/mrtg_total.pl /etc/mrtg.cfg
Esto nos va a generar cada 3 horas una version actualizada del consumo en /var/www/mrtg, lo suyo es protegerlo con contraseña para que no pueda acceder todo el mundo. Creamos un ficheros .htaccess en /var/www/mrtg
1
2
3
4
|
AuthType Basic
AuthName "MRTG"
AuthUserFile /var/www/mrtg/.htpasswd
Require valid-user
|
Y ahora creamos el .htpasswd de la siguiente forma:
1htpasswd -c .htpasswd mrtg
Ahora con todo configurado, tendremos:
http://nuestroserver/mrtg/atlantis.html (estadisticas de MRTG)
http://nuestroserver/mrtg/atlantis.total.2006.html (estadisticas MRTG total)
Download MRTG_TOTAL