Descrição
Script de monitoramento de host através de pacotes icmp, que eu uso aqui no meu trabalho. O script cira um arquivo com o nome do host do cliente e a data em que foi executado, contendo as estatísticas dos pings. A principal utilidade dele mesmo era pra saber que horas o host responde e como está o link até ele, se está tendo perdas, tempo de resposta alto em determinado horário. Uso ele para monitorar links de rádio.
[ Download:
monitor.sh ]
[
Enviar nova versão ]
[ Esconder código-fonte ]
#!/bin/bash
###############################################################################
# #
# MONITOR.SH #
# Script de monitoramento de clientes por icmp #
# #
# Versão 0.1 de 1/7/2004 #
# #
# Autor: José Guilherme Camara Ribeiro #
# <jgcr@pop.com.br> #
# #
###############################################################################
# #
# Copyright (C) 2003 Free Software Foundation, Inc. #
# #
# This script is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2, or (at your option) #
# any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You find more about GPL at http://www.gnu.org. #
# #
###############################################################################
#
# Descrição:
#
# Script de monitoramento de conexão de clientes através de pacotes
# icmp. O script cira um arquivo com o nome do host do cliente e a data em
# que foi executado, contendo as estatísticas dos pings.
#
#==============================================================================
#
# Funcionamento:
#
# Logo que é executado o script cria um arquivo do tipo texto com o
# nome na seguinte estrutura:
#
# [host]-[data]-[hora].txt
# | | |
# | | \_ Hora inicial em que foi executado no formato
# | | HH:MM:SS
# | |
# | \_ Data inicial em que foi executado no formato
# | DD_MM_AAAA
# |
# \_ Host do cliente, pode ser nome ou ip.
#
# São passado os se seguintes parâmetros para o script:
# host: Host do cliente ou ip.
# nºpacotes: Número de pacotes que são disparados em seqüência contra o
# cliente, geralmente costuma-se usar 100.
# nºexecuções: Depois que são disparados contra o cliente a quantidade de
# pacotes especificada, o script encerra um execução e grava no
# arquivo a estatística dessa execução.
# sleep: Tempo de espera entre as execuções. Para um monitoramento
# diário não é necessário que as execuções sejam seguidas, sendo
# assim, pode-se espaçar as execuções, por exemplo, de meia em
# meia hora (30m) ou de acordo com a necessidade. É por padrão
# especificado em segundos, mas também aceita opções para minutos
# (ex. 1m), horas (ex. 2h) ou dias (ex. 3d).
#
#
# Dentro do arquivo é gravado a cada execução a saída do comando ping,
# na seguinte estrutura:
#
# _ Data e hora em que se iniciou a execução
# /
# |
# 01_07_2004-14:04:58
# --- debianmm.debian.psi.br ping statistics ---
# __3 packets transmitted, 3 packets received, 0% packet loss
# / round-trip min/avg/max = 0.3/0.3/0.4 ms
# | | | |
# | | | \_ menor tempo de resposta
# | | |
# | | \_ média dos tempos de resposta
# | |
# | \_ maior tempo de resposta
# |
# \_ nº de pacotes enviados, recebidos e porcentagem de perda
#
# Se forem várias as execuções dentro do arquivo estarão separadas em
# blocos.
#
#==============================================================================
#
# Notas:
#
# - Clientes com firewall talvez não possam ser monitorados por icmp;
# - Dúvidas ou sugestões mail to: <jgcr@pop.com.br>;
#
###############################################################################
#
# Início do script.
#
case $1 in
-h | --help )
echo "usage: monitor.sh host nºpacotes nºexecuções sleep"
echo " para mais informações use \"--help-full\""
;;
--help-full )
echo "usage: monitor.sh host nºpacotes nºexecuções sleep
Monitoramento de clientes por pacotes icmp.
host host ou ip do cliente
nºpacotes quantidade de pacotes icmp disparados
initerruptamente
nºexecuções número de vezes que o cliente será monitorado
sleep tempo de espera entre os monitoramentos
"
;;
*)
data=`date +%d_%m_%Y-%H:%M:%S`
arquivo=$1-$data.txt
for ((a=1; a <= $3 ; a++))
do
data=`date +%d_%m_%Y-%H:%M:%S`
echo >> $arquivo
echo "################################################################################" >> $arquivo
echo >> $arquivo
echo $data >> $arquivo
ping -c $2 $1 | grep -A2 statistics >> $arquivo
sleep $4
done
;;
esac
exit 0
Scripts recomendados
Acessar celular Motorola via USB
DELETAR arquivos a X semanas passadas
Backup da database do gerenciador de pacotes RPM
Configurando seus arquivos no Slackware
montar partiçao fat
Comentários
| Nenhum comentário foi encontrado. |