Monitoração do CBQ
Publicado por Jose Geraldo 08/09/2004
[ Hits: 9.679 ]
Pessoal
Escrevi este script para monitoração do CBQ de uma maneira mais elegante do que aquele cbq stats.
O script processa a saída do comando "cbq stats" e o traduz em uma linha por regra, mostrando a taxa em kbps efetiva, em relação à ultima execução do mesmo.
Como é ainda uma versão alfa, podem ocorrer erros na primeira execução, quando o arquivo temporário ainda não existir.
Recomendo que o mesmo somente seja executado pelo root, pois o arquivo temporário está com nome fixo.
# Script para verificar os status do CBQ de maneira mais # estatistica que o cbq stats do cbq.init # # JGeraldo 08/09/2004 - v0.1 - Alpha end_date=`date "+%s"` if [ ! -f /tmp/cbqstat.ant ] then echo "ULT_STR:`date`" > /tmp/cbqstat.ant echo "ULT_NUM:$end_date" >> /tmp/cbqstat.ant echo "ULT_STR:`date`" > /tmp/cbqstat.atu echo "ULT_NUM:$end_date" >> /tmp/cbqstat.atu stat=n else echo "ULT_STR:`date`" > /tmp/cbqstat.atu echo "ULT_NUM:$end_date" >> /tmp/cbqstat.atu stat=s fi ult_str=`cat /tmp/cbqstat.ant|grep ULT_STR|cut -c9-80` ult_num=`cat /tmp/cbqstat.ant|grep ULT_NUM|cut -d: -f2` seconds=`expr $end_date - $ult_num` cbq stats | while read p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 #cat x | while read p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 do #echo "p0:$p0 p1:$p1 p2:$p2 p3:$p3 p4:$p4 p5:$p5 p6:$p6 p7:$p7 p8:$p8" if [ "$p0" = "###" ] then iface=$p1 fi if [ "$p0" = "qdisc" ] then rule=$p2 rate=$p4 burst=$p6 laten=$p8 fi if [ "$p0" = "Sent" ] then bytes=$p1 pkts=$p3 echo "RULE:$iface:$rule:$rate:$burst:$laten:$bytes:$pkts">> /tmp/cbqstat.atu bytes_ant=`cat /tmp/cbqstat.ant|grep "RULE:$iface:$rule"|cut -d: -f9` tbytes=`expr $bytes - $bytes_ant` if [ $seconds -gt 0 ] then tbits=`expr $tbytes \* 8` kbps=`expr $tbits / $seconds / 1024` fi siface=`echo $iface | cut -d: -f1` srule=`echo $rule | cut -d: -f1` printf "%s, rule %3s: %4d kbps in %d seconds\n" $siface $srule $kbps $seconds fi done if [ $1"Q" != "nQ" ] then mv -f /tmp/cbqstat.atu /tmp/cbqstat.ant fi
Fazendo Failover entre 2 Links
Facilitando algumas tarefas no CentOS 7
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)