Pingmon1.0 - Ping Timeout Monitor
Publicado por Tulio Amancio (última atualização em 04/06/2013)
[ Hits: 5.272 ]
Homepage: https://github.com/tsuriu
Esse script é bem simples, ele coleta o timeout do comando ping, e devolve ele como um gráfico.
Os planos agora são melhorá-lo e torná-lo mais útil.
#!/bin/bash ################################################################################ ################################## PINGMO1.0 ################################### #Pingmo1.0 é um monitor de rede que colege o tempo de resposta do ping e traduz #num gráfico para melhor visualizacao #Autor: Tulio Amancio (tsuriu) #data: Finalizado em 02062013 ################################################################################ INICIO=$(date) echo "######O TESTE FOI INICIADO EM:########" >> ip_log echo " $INICIO" >> ip_log echo "######################################" >> ip_log echo " " >> ip_log echo " " >> ip_log touch ping_out touch ip_dat.dat touch ip_graph.gnu touch ip_log touch log_temp #O parametro ip receb o alvo(ip, url ou nome), e o npk recebe o números de pacotes a serem enviados. echo "Insira o ip alvo e o nº de pacotes a serem enviados, na mesma lina separados apenas por um espaço." echo "Obs.: Os pacotes serão enviados com um intervalo de 5 segundos." read ip npk; #TIMEOUT: É o tempo de resposta do ping ping -i .5 -c $npk $ip | tee ping_out cat ping_out | tail -n 2 > log_temp TIMEOUT=$(cat ping_out|sed -n "/:/p"|sed "s/=/-/g"|sed "s/ /-/g"|cut -d":" -f2|cut -d"-" -f3,7|sed "s/-/ /g") TIME_MIN=$(cat ping_out|tail -n 2|sed -n "/rtt/p"|cut -d"=" -f2|cut -d"/" -f1) #Menor tempo de resposta. TIME_MAX=$(cat ping_out|tail -n 2|sed -n "/rtt/p"|cut -d"=" -f2|cut -d"/" -f3) #Maior tempo de resposta. TIME_MED=$(cat ping_out|tail -n 2|sed -n "/rtt/p"|cut -d"=" -f2|cut -d"/" -f4|cut -d" " -f1) #Media de todos TIMEOUT. TIME_T=$(cat ping_out|tail -n 2|sed -n "/,/p"|cut -d"," -f4|cut -d" " -f3) #Tempo total. Soma de todos os TIMEOUT. LOSS_PK_PECENT=$(cat ping_out|tail -n 2|sed -n "/,/p"|cut -d"," -f3|cut -d" " -f2) #Porcentagem de pacotes perdidos. TRANS_PK=$(cat ping_out|tail -n 2|sed -n "/,/p"|cut -d"," -f1|cut -d" " -f1) #Pacotes transmitidos. RECE_PK=$(cat ping_out|tail -n 2|sed -n "/,/p"|cut -d"," -f2|cut -d" " -f2) #Pacotes recebidos. #Geração do arquivo de log echo "O MENOR TEMPO DE RESPOSTA FOI $TIME_MIN ms" >> ip_log echo "O MAIOR TEMPO DE RESPOSTA FOI $TIME_MAX ms" >> ip_log echo "A MÉDIA DO TIMEOUT FOI $TIME_MED ms" >> ip_log echo "FORAM PERDIDOS $LOSS_PK_PECENT DOS PACOTES" >> ip_log echo "FORAM TRANSMITIDOS $TRANS_PK E RECEBIDOS $RECE_PK PACOTES" >> ip_log FIM=$(date) echo " " >> ip_log echo " " >> ip_log echo "######O TESTE FOI CONCLUIDO EM:########" >> ip_log echo " $FIM" >> ip_log echo "######################################" >> ip_log #Geração do arquivo de dados echo "$TIMEOUT" > ip_dat.dat ################################################################################ #Plotagem dos dados com gnuplot echo "set terminal png" >> ip_graph.gnu echo "set output 'ip_graph.png'" >> ip_graph.gnu echo "set title 'Timeout vs. Number_of_received_packages' " >> ip_graph.gnu echo "set xrange [1:'$RECE_PK']" >> ip_graph.gnu echo "set xlabel 'NORP'" >> ip_graph.gnu echo "set ylabel 'Timeout (mili-seconds)'" >> ip_graph.gnu echo "plot '"ip_dat.dat"' with lines" >> ip_graph.gnu /usr/bin/gnuplot ip_graph.gnu ############################################################################### ############################################################################# #Exibe o grafico numa imagem .png display "ip_graph.png" & ############################################################################# rm ping_out rm log_temp rm ip_graph.gnu
Compilação do kernel linux-libre 4.4.6 com cflags -march=native + -Ofast
baixar mp3 do site mp3tube.net
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
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
Clamav e suas atualizações (21)
Desenvolvimento de um driver (17)
[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