Monitoração do CBQ
Publicado por Jose Geraldo 08/09/2004
[ Hits: 9.544 ]
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
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Dongle Bluetooth 5.0 não funciona no Pop Os 22.04 (0)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (24)
Placamae Asus H510M-E Aceita Linux? [RESOLVIDO] (9)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba