MRTG no Debian Lenny
Autor: Édipo Avanzo | Publicado: 2012-11-08T10:54:00-08:00


Um ótimo monitor para gerenciar conexão,cpu, memória com gráficos.
Dispensa comentários pois é muito utilizado e bem conhecido pelos administradores. 

Para instalar 
#aptitude install snmp snmpd mrtg


Será criado um arquivo /etc/mrtg.cfg
Substitua esse arquivo pelas informações abaixo:

##################################################
#Inicio
# Here is where your web server will pick up the graphs from:-
WorkDir:/var/www/mrtg
# "sar" appears to run every 10 minutes, so that's the interval we pick.
Interval: 5
######################################################################
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
# this is the eth0 traffic graphing section from /proc/net/dev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
# change "grep eth0" to something else to measure a different device #
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
######################################################################
Target[eth0]: `perl -e '@a=split(/[:\s]+/,qx(grep eth0 /proc/net/dev));$f="%.0f";$fmt="$f\n$f\n1\neth0 traffic\n";$s=sprintf $fmt,$a[2],$a[10];print $s; print STDERR $s;'`;
Options[eth0]: noinfo,growright,transparent,bits
MaxBytes[eth0]: 12500000
AbsMax[eth0]: 125000000
YLegend[eth0]: Bits per second
ShortLegend[eth0]: b/s
Legend1[eth0]: Incoming Traffic in Bits per second
Legend2[eth0]: Outgoing Traffic in Bits per second
Legend3[eth0]: Maximal 5 Minute Incoming Traffic
Legend4[eth0]: Maximal 5 Minute Outgoing Traffic
LegendI[eth0]:&nbsp; In:
LegendO[eth0]:&nbsp; Out:
#Timezone[eth0]: GMT-3
Title[eth0]: Server eth0 traffic
PageTop[eth0]: 

############################################################################################################################################
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
# this is the eth1 traffic graphing section from /proc/net/dev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
# change "grep eth1" to something else to measure a different device #
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
######################################################################
##Target[eth1]: `perl -e '@a=split(/[:\s]+/,qx(grep eth1 /proc/net/dev));$f="%.0f";$fmt="$f\n$f\n1\neth1 traffic\n";$s=sprintf $fmt,$a[2],$a[10];print $s; print STDERR $s;'`;
##Options[eth1]: noinfo,growright,transparent,bits
##MaxBytes[eth1]: 12500000
##AbsMax[eth1]: 125000000
##YLegend[eth1]: Bits per second
##ShortLegend[eth1]: b/s
##Legend1[eth1]: Incoming Traffic in Bits per second
##Legend2[eth1]: Outgoing Traffic in Bits per second
##Legend3[eth1]: Maximal 5 Minute Incoming Traffic
##Legend4[eth1]: Maximal 5 Minute Outgoing Traffic
##LegendI[eth1]:&nbsp; In:
##LegendO[eth1]:&nbsp; Out:
#Timezone[eth1]: GMT-3
##Title[eth1]: Server eth1 traffic
##PageTop[eth1]: 

######################################################################
######################################################################
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
# this is the memory/swap space graphing section from /proc/meminfo&nbsp; #
# I scaled mine by 1000 because the numbers were so small&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
######################################################################
Target[mem]: `perl -e '$f="%.0f";$fmt="$f\n$f\n1\nSystem Memory and Swap\n";($mtot,$mu,$stot,$su)=(qx(free -b)=~/^Mem:\s*(\d+)\s+(\d+).*?^Swap:\s*(\d+)\s+(\d+)/sm);$o=sprintf $fmt,100000*($su/$stot),100000*($mu/$mtot);print $o; print STDERR $o'`;
Options[mem]: gauge,noinfo,growright,transparent
MaxBytes[mem]: 100000
YLegend[mem]: % Free memory and swap space
ShortLegend[mem]: % x 1000
Legend1[mem]: % swap space used
Legend2[mem]: % memory used
Legend3[mem]: Maximal 10 Min
Legend4[mem]: Maximal 10 Min
LegendI[mem]:&nbsp; Swp:
LegendO[mem]:&nbsp; Mem:
#Timezone[mem]: GMT-3
Title[mem]: Server Memory and Swap space
PageTop[mem]: 

######################################################################
######################################################################
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
# this is the disk space % on / and /boot from "df"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
######################################################################
Target[diskspace1]: `perl -e '$f="%.0f";$fmt="$f\n$f\n1\nDisk Space\n";($v1,$v2)=(qx(df)=~/(\d+)%\s+\/\n.*?(\d+)%\s+\/boot/sm);$o=sprintf $fmt,$v1,$v2;print $o; print STDERR $o'`
Options[diskspace1]: gauge,noinfo,growright,transparent,nopercent
MaxBytes[diskspace1]: 100
YLegend[diskspace1]: % used
ShortLegend[diskspace1]: % Disk space used
Legend1[diskspace1]: /
Legend2[diskspace1]: /boot
Legend3[diskspace1]: Maximal 10 Min
Legend4[diskspace1]: Maximal 10 Min
LegendI[diskspace1]:&nbsp; /:
LegendO[diskspace1]:&nbsp; /boot:
#Timezone[diskspace1]: GMT-3
Title[diskspace1]: Server % Disk space used on / and /boot
PageTop[diskspace1]: 

#Fim 
##################################################################### 



Atenção a linha WorkDir logo no inicio do arquivo, que aponta para onde ficará
os arquvo gerados pelo MRTG, coloque em uma pasta publicada pelo apache. 
Com isso você estará monitorando sua interface eth0,eth1, memória,swap, e disco. 
Agora execute:
#mrtg

Caso der erro de local, executar

#dpkg-reconfigure -p low locales

E marque os locales pt_BR-ISO
reinicie o servidor (nesse passo não sei se existe possibilidade de fazer isso sem reinicar o servidor)
Depois execute novamente o comando mrtg
ou
#env LANG=C /usr/bin/mrtg

Nesse ponto eu apanhei um pouco, os arquivos são gerados porém nenhum index é gerada, você precisa gerar somente uma vez isso. 
Para gerar a index faça:

#indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg

Onde /var/www/mrtg/index.html = Arquivo a ser criado,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/mrtg.conf = Arquivo de configuração a ser usado como base para o index

Coloque no cron para rodar o mrtg a cada 5 minutos.
Aqui um exemplo do meu MRTG monitorando minhas 3 interfaces de rede,memoria,swap e disco.