Em algum momento já teve que testar a resposta de uma porta qualquer repetidamente? Fez isso via linha de comando? Que tal um script gerando logs? Vamos aos detalhes…
Em certa ocasião, uma determinada aplicação passou a oscilar, simplesmente fechando a porta de conexão.Quando não se tem muitas informações em mãos, um bom inicio é gerar log de conexão. Com os dados salvos em arquivo, podemos analisar quantas vezes a conexão falha num determinado espaço de tempo. O bom disso tudo, via script! Vamos deixar que o S.O. faça o trabalho sujo.
Para este teste utilizamos uma ISO do CentOS, na versão 6.4
Inicialmente, verifique se possui o “netcat” instalado, o comando é “nc”.
Caso não esteja instalado, mãos a obra e vamos instalar:
vim conexão.sh
nctest=”/usr/bin/nc -z -w 20″
server=”192.168.1.102″ #aqui voce defini o IP.
porta=”22″ #aqui voce defini a porta monitorada.
data=$(date)
$nctest $server $porta > /dev/null 2>&1
if [ $? != 0 ] ; then
echo “$data Servidor ($server) porta $porta FALHOU” >> /tmp/teste_porta.log
else
echo “$data Servidor ($server) porta $porta OK” >> /tmp/teste_porta.log
fi
– a variável “nctest” irá chamar o comando netcat
– a variável “server” irá definir o servidor monitorado, IP local.
– a variável “porta” defini a porta a ser monitorada
– a variável “data” recebe data e hora local do sistema, para facilitar nos logs.
Executando o Script:
A execução é simples, poderá feita de forma manual
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .—————- minute (0 – 59)
# | .————- hour (0 – 23)
# | | .———- day of month (1 – 31)
# | | | .——- month (1 – 12) OR jan,feb,mar,apr …
# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
* * * * * root ./tmp/conexao.sh
Ter Out 7 16:32:53 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Ter Out 7 16:34:08 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Ter Out 7 16:34:25 BRT 2014 Servidor (192.168.1.102) porta 20 FALHOU
Ter Out 7 16:38:44 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Ter Out 7 17:37:01 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Ter Out 7 17:38:01 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Ter Out 7 17:39:01 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Ter Out 7 17:40:01 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Ter Out 7 17:41:01 BRT 2014 Servidor (192.168.1.102) porta 22 OK
Espero que ajude, qualquer dúvida escreva e recomende a dica para o pessoal.
Abraços!
André Francisco Gotardo