Pingmon1.0 - Ping Timeout Monitor
Publicado por Tulio Amancio (última atualização em 04/06/2013)
[ Hits: 5.662 ]
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
Mounter - Script para montar pendrive.
Conversor e gerenciador de vídeos
Automatizando autenticação do Speedy Business
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
baschrc customizado pegeui vários. (3)
Rust é o "C da nossa geração"? (8)