Monitoramento Automático (Addon cv.tgz)- Por Lromao

Tutoriais BrazilFW 2.x em Português

Monitoramento Automático (Addon cv.tgz)- Por Lromao

Mensagempor reginaldo » Seg Jul 14, 2008 11:59 am

Com Base neste tópico ( viewtopic.php?f=2&t=64990#p143020 ) vamos lá:

Lembrando que todo o crédito deve ir para o Lromao

o Addon cv.tgz é composto de :

CV(calcula velocidade)
MC(melhor velocidade)

1- No cron o cv testa a conexao, se a conexao estiver abaixo de um indice pre-definido, o CV chama o MC - ( Você deve adicionar o vc a tarefas agendadas do BFW )

2- O MC ira ver quais ips estao na rede com maior numero de conexao e block esse ip(maldito) e envia email informando qual ip foi block.

3- Depois de block o ip determinado, o MC ira chamar o CV novamente ficando em loop até a velocidade ficar de acordo desejamos.

Download do cv.tgz: :arrow: http://cid-06a3d8ee976bf91a.skydrive.live.com/self.aspx/BrazilFW/Lromao/cv.tgz

Para rodar ok, o cv.tgz necessita dos seguintes addos:

bc.tgz :arrow: http://www.brazilfw.com.br/users/juanillo/bc/bc.tgz

mail.gz :arrow: http://www.brazilfw.com.br/downloads/addons/mail.tgz - tutorial :arrow: viewtopic.php?f=39&t=62570

Leia também: Tutorial - Como instalar add-ons: http://brazilfw.com.br/forum/viewtopic.php?f=39&t=62566

Depois de instalado o cv.tgz você o edita a seu gosto. Vamos a essa edição e a explicações:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
vc ==> /usr/sbin/cv

Conteúdo do cv:

#!/bin/sh
#
# Calcula a velocidade da conexão atraves do tempo de download
#
oIFS="$IFS"

ARQUIVO1="http://ufpr.dl.sourceforge.net/sourceforge/emesene/emesene-210307.tar.gz"
ARQUIVO2="http://home.san.rr.com/johninsd/pub/linux/lilo/lilo-22.8.src.tar.gz"
ARQUIVO3="http://www.ibiblio.org/pub/Linux/apps/serialcomm/dialout/minicom-2.00.0.src.tar.gz"

#### Baixa arquivo
echo "Aguarde....Realizando teste de banda"
time wget -qO /tmp/downtime1.tmp $ARQUIVO1 2> /tmp/downtime1.txt
time wget -qO /tmp/downtime2.tmp $ARQUIVO2 2> /tmp/downtime2.txt
time wget -qO /tmp/downtime3.tmp $ARQUIVO3 2> /tmp/downtime3.txt

### Pega o tamanho 1
#echo "Pegando tamanho"
IFS=$oIFS
set - `ls -l /tmp/downtime1.tmp`
TAMANHO1=`echo "$5/1024" |/usr/sbin/bc`
echo "Tamanho 1: " $TAMANHO1 "Kb"

### Pega o tamanho 1
#echo "Pegando tamanho 2"
IFS=$oIFS
set - `ls -l /tmp/downtime2.tmp`
TAMANHO2=`echo "$5/1024" |/usr/sbin/bc`
echo "Tamanho 2: " $TAMANHO2 "Kb"

### Pega o tamanho 3
#echo "Pegando tamanho 3"
IFS=$oIFS
set - `ls -l /tmp/downtime3.tmp`
TAMANHO3=`echo "$5/1024" |/usr/sbin/bc`
echo "Tamanho 3: " $TAMANHO3 "Kb"


#### Calcula o tempo 1
#echo "Calculando tempo"
IFS=$oIFS"ms"
set - `grep real /tmp/downtime1.txt`
TEMPO1=`echo $2*60+$3|/usr/sbin/bc`
echo "Tempo 1: "$TEMPO1"s"

#### Calcula o tempo 2
#echo "Calculando tempo"
IFS=$oIFS"ms"
set - `grep real /tmp/downtime2.txt`
TEMPO2=`echo $2*60+$3|/usr/sbin/bc`
echo "Tempo 2: "$TEMPO2"s"

#### Calcula o tempo 3
#echo "Calculando tempo"
IFS=$oIFS"ms"
set - `grep real /tmp/downtime3.txt`
TEMPO3=`echo $2*60+$3|/usr/sbin/bc`
echo "Tempo 3: "$TEMPO3"s"

#### Calcula a taxa
#echo "Calculo da taxa"
TAXA1=`echo "$TAMANHO1 / $TEMPO1" |/usr/sbin/bc`
TAXA2=`echo "$TAMANHO2 / $TEMPO2" |/usr/sbin/bc`
TAXA3=`echo "$TAMANHO3 / $TEMPO3" |/usr/sbin/bc`
TAXA=`echo "($TAXA1 + $TAXA2 + $TAXA3) / 3" |/usr/sbin/bc`
TAXA=`echo "$TAXA * 8" |/usr/sbin/bc`
echo "Velicidade 1:" `echo "$TAXA1 * 8" |/usr/sbin/bc`
echo "Velicidade 2:" `echo "$TAXA2 * 8" |/usr/sbin/bc`
echo "Velicidade 3:" `echo "$TAXA3 * 8" |/usr/sbin/bc`

echo "Velocidade da Conexao:" $TAXA "Kbps"
rm /tmp/downtime*

if [ $TAXA -le 500 ]; then ** no grifado você define a velocimento mínima que considera aceitável, se der abaixo o cv chama o mc para bloquear o(s) Ip(s) responsáveis
echo "Velocidade baixa, blocking responsavel"
mc

else
echo " ### VELOCIDADE DO LINK OK ### "
fi
### Fim

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mc ==> /usr/sbin/mc

Conteúdo do mc:


# Script pra block o ip q tiver maior conexao aberta no momento
# É complemento do CV" calcula velocidade"

var=`cut -f2 -d= /proc/net/ip_conntrack|cut -f1 -d" "|sort|uniq -c|grep 192.168.|sort -nr|cut -d" " -f2|sed 1q`
#sed /$var/s/^/#/ /etc/coyote/firewall | more > /etc/coyote/firewall
#sed -i '/$var/s/match_ip_mac/#match_ip_mac/' /etc/coyote/firewall # se vc for amarrar Mac X Ip
#sed -i '/$var/s/allow_ip_mac/#allow_ip_mac/' /etc/coyote/firewall # se vc usar Ip como Controle

backup
/etc/rc.d/rc.firewall

#ifconfig eth0 down # se a placa de rede do predio for eth0
#ifconfig eth1 down # se a palca de rede do predio for eth1
#ifconfig eth2 down # se a placa de rede do predio for eth2

sleep 25

#ifconfig eth0 up # se a placa de rede do predio for eth0
#ifconfig eth1 up # se a placa de rede do predio for eth1
#ifconfig eth2 up # se a placa de rede do predio for eth2


#echo $var " " `date` | mail to seuemail@xxx.com.br
#echo $var " " `date` | mail to seuemail2@xxx.com.br


cv

** Nas linhas grifadas você deve tirar o comentário ( # ) do que se enquadrar a você.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Para editar os arquivos você pode usar o seguinte:
WebAdmin ==> Arquivos de Configuração ==> Editar Qualquer Arquivo

Para o vc você entra com /usr/sbin/cv
Para o mc você entra com /usr/sbin/mc

Qualquer comentário deve ser feito em viewtopic.php?f=2&t=64990#p143020
Contribua para que o Projeto BFW permaneça no ar, Doe Click aqui
Contribua com o reginaldo, Doe, favor enviar e-mail para reginaldo@brazilfw.com.br
-----------------------------------------------------------------------------------------------------
"Disciplina é liberdade. Compaixão é fortaleza. Ter bondade é ter coragem" (Há Tempos [Dado Villa-Lobos/Renato Russo/Marcelo Bonfá])
Avatar do usuário
reginaldo
BFW Mediator
BFW Documenter
BFW Manager
BFW 3.x Update
 
Mensagens: 12686
Registrado em: Sáb Ago 27, 2005 12:10 pm
Localização: Rio de Janeiro - RJ
BrazilFW Box: Máquina Física
CPU: Intel Core i3 Model 530
Memória: 8.00 GiB / 2 Links
BFW 3.0.262 64 bits
Serviços Ativos: Control MAC, QOS
Addons: EBackup, EPM e Squid 3.5.x

Voltar para BrazilFW 2.x

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes