Monitoração do CBQ
Publicado por Jose Geraldo 08/09/2004
[ Hits: 9.649 ]
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
linkswitch (redundância de internet)
Disponibilidade de impressoras de rede
Script FIREWALL IPTABLES com 3 (três) interfaces (Int, Ext e DMZ)
WallpaperID - papel de parede com IP e kernel do usuário
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta