FreeBSD - PF + Altq + MRTG

Publicado por Alex em 20/05/2010

[ Hits: 6.782 ]

 


FreeBSD - PF + Altq + MRTG



Colegas,

Estive procurando uma solução para extrair dados do PF + Altq (cbq) para gerar os gráficos das filas, da utilização da banda de cada fila através do MRTG e encontrei este script em shell do amigo Rogério Moura:
Peço que testem e critiquem sugerindo melhorias.

Vejas o que ele diz abaixo:

"Eu não tive boas experiências com symon... o que fiz foi um shell script que gerava as informações para o MRTG, segue o que fiz:"

Script para coletar dados da fila:

#!/bin/sh

if [ "$1" -a "$2" != "" ]
then
   FILA1=$1
   FILA2=$2
else
   echo "Uso:  $0 fila download fila upload"
   exit
fi

L=`pfctl -vsq | cat -n  | grep $FILA1 | grep -v root | awk '{print $1}'`
if [ "$L" == "" ]
then
   echo Fila download nao encontrada
   exit
fi

L1=`expr $L + 1 `
FDOWN=`pfctl -vsq | head -n $L1 | tail -1 | awk '{print $5}'`

L=`pfctl -vsq | cat -n  | grep $FILA2 | grep -v root | awk '{print $1}'`
if [ "$L" == "" ]
then
   echo Fila upload nao encontrada
   exit
fi

L1=`expr $L + 1 `
FUP=`pfctl -vsq | head -n $L1 | tail -1 | awk '{print $5}'`

echo $FDOWN
echo $FUP

Arquivo de configuração do MRTG:

# Global configuration
WorkDir: /var/www/htdocs/mrtg
WriteExpires: Yes
Language: brazilian
Options[_]: bits, growright, unknaszero
WithPeak[_]: dwmy
XSize[_]: 500
YSize[_]: 125

Target[ftp]: `/root/fw/filas.sh dftp uftp_ext`
Title[ftp]:Trafego da fila FTP
MaxBytes[ftp]:64000
Options[ftp]: growright,bits,noinfo
PageTop[ftp]: <h1>Trafego da fila FTP</h1>
Unscaled[ftp]: dwmy

Target[lan]: `/root/fw/filas.sh dwww uack_adsl`
Title[lan]: Trafego da fila da LAN
MaxBytes[lan]:524288
Options[lan]: growright,bits,noinfo
PageTop[lan]: <h1>Trafego de dados da LAN</h1>
Unscaled[lan]: dwmy

Depois é só agendar no crontab que você vai ter os gráficos das filas que quiser.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Script para verificar LOGs do Squid e selecionar páginas a serem bloqueadas

Gerenciador de Favoritos via linha de comando

Como criar um cronômetro em modo texto

Exibir arquivo de grupos /etc/group de forma personalizada conforme o usuário

Autocompletar path no comando read

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts