Monitorando interfaces virtuais com MRTG e IPFM
Este artigo descreve os passos básicos para a monitoração de interfaces virtuais usando o MRTG e IPFM, espero que gostem e boa leitura.
Parte 3: Diretórios e arquivos de configuração (MRTG)
Configurando o MRTG
Criaremos os seguintes diretórios com os comandos abaixo.Esse diretório conterá o arquivo de configuração do mrtg:
# mkdir /etc/mrtg
Esse diretório conterá os scripts do mrtg:
# mkdir /etc/mrtg/scripts
Esse diretório conterá os gráficos do mrtg:
# mkdir /var/www/htdocs/mrtg
Para que o mrtg possa gerar os gráficos é preciso construir um script que consulte o arquivo de log do ipfm e nos retorne na primeira linha um valor que diz a quantidade de bytes de entrada e na outra linha um valor que diz a quantidade de bytes da saída. Para isso foi feito o simples script abaixo:
(agradeço melhorias que forem reportadas =D)
Crie o arquivo ifvmon.sh com o conteúdo abaixo e copie para dentro de /etc/mrtg/scripts:
Conteúdo do script ifvmon.sh:
# Script Feito por Jefferson Aranha Dos Santos
# Jefferson.aranha@gmail.com
# Passando como 1º parâmetro o caminho completo do log do ipfm e 2º
# parâmetro um ip
#!/bin/bash
cat "$1" | grep "$2 " > /dev/null
if [ "$?" -ne 0 ]
then
echo 0
echo 0
else
cat "$1" | grep "$2 " | awk '{print $2"\n"$3}'
fi
# Jefferson.aranha@gmail.com
# Passando como 1º parâmetro o caminho completo do log do ipfm e 2º
# parâmetro um ip
#!/bin/bash
cat "$1" | grep "$2 " > /dev/null
if [ "$?" -ne 0 ]
then
echo 0
echo 0
else
cat "$1" | grep "$2 " | awk '{print $2"\n"$3}'
fi
Crie o arquivo mrtg.conf com o conteúdo abaixo e copie para dentro de /etc/mrtg.
Conteúdo do arquivo mrtg.conf:
#Onde o MRTG irá por os gráficos
WorkDir: /var/www/htdocs/mrtg
#Escolha da linguagem
Language: brazilian
#Rodar como Daemon? sim
RunAsDaemon: yes
#Intervalo de tempo em que o MRTG irá executar. no caso de 5 em 5 minutos
Interval: 5
#Bloco para monitoramento da interface virtual
#Para cada ip da interface virtual configurada deverá ser criado mais um bloco
#deste, modificando apenas o ip da interface virtual.
Target[192.168.0.10]:`/etc/mrtg/scripts/ifvmon.sh /var/log/ipfm/subnet/ipfm.log 192.168.0.10`
Title[192.168.0.10]:"Trafego do IP - 192.168.0.10 "
Maxbytes[192.168.0.10]:1400000
PageTop[192.168.0.10]:<h1>Tráfego do IP - 192.168.0.10</h1>
Options[192.168.0.10]: growright,bits,noinfo
WorkDir: /var/www/htdocs/mrtg
#Escolha da linguagem
Language: brazilian
#Rodar como Daemon? sim
RunAsDaemon: yes
#Intervalo de tempo em que o MRTG irá executar. no caso de 5 em 5 minutos
Interval: 5
#Bloco para monitoramento da interface virtual
#Para cada ip da interface virtual configurada deverá ser criado mais um bloco
#deste, modificando apenas o ip da interface virtual.
Target[192.168.0.10]:`/etc/mrtg/scripts/ifvmon.sh /var/log/ipfm/subnet/ipfm.log 192.168.0.10`
Title[192.168.0.10]:"Trafego do IP - 192.168.0.10 "
Maxbytes[192.168.0.10]:1400000
PageTop[192.168.0.10]:<h1>Tráfego do IP - 192.168.0.10</h1>
Options[192.168.0.10]: growright,bits,noinfo
Vamos ao quarto passo, configurar o IPFM.