Está pingando uma maneira suficiente de verificar se um servidor está disponível?

1

Minha empresa opera em uma WAN. Cada uma de nossas filiais opera em um determinado intervalo de IPs (192.168.0.100, 192.168.1.100, 192.168.2.100, por exemplo).

Eu quero monitorar a conexão. Eu escrevi um aplicativo de console rápido em C # que pinga cada endereço a cada 5 segundos e registra o resultado em um arquivo CSV. Isso é suficiente? Estou recebendo muitos erros do TimedOut, embora o endereço possa estar disponível no próximo teste (por isso não é baixo, mas o tempo limite) - por que isso pode estar acontecendo? Eu estou pingando com muita freqüência ou? Eu defini um período de tempo limite generoso.

Obrigado.

Edit: Eu deveria ter dito, não há 'servidor' em cada filial, apenas um roteador configurado para fazer parte da WAN - então, há algo mais que eu posso fazer além de testar a conectividade?

    
por Chris 17.04.2012 / 14:39

5 respostas

5

Sobre a verificação da conectividade de rede básica entre os pontos em uma WAN. Em condições normais, um rastreamento de ping regular deve mostrar conectividade estável.
No entanto, no seu caso (através de links WAN), sua conectividade parece ser fraca. Com isso quero dizer, pode haver perda intermitente de pacotes em seu caminho WAN.

Sobre a verificação da disponibilidade do aplicativo do servidor. Agora, esse é um jogo de bola diferente.
Você precisa usar testes que envolvem o protocolo do servidor (TCP e HTTP / HTTPS, se for um servidor da Web).
Porque o seu 'servidor' pode ser acessado, mas o serviço pode estar quebrado ou desligado.

Atualização do seu comentário:
Se não houver um único endereço confirmado além do roteador para verificar se essa rede está acessível, você deve considerar os métodos clássicos: Network -Gerenciamento nos roteadores e trabalhar para uma estrutura de acompanhamento baseado na Web .

    
por 17.04.2012 / 14:55
1

Na minha opinião, você realmente quer um teste mais rico que garanta que alguns dos serviços (www, compartilhamento de arquivos, etc) estejam disponíveis. O ping informa apenas que o SO base está em execução. Existem ferramentas gratuitas como o Nagios, o ZenOSS & monit que fazem isso já.

    
por 17.04.2012 / 14:46
1

Você pode querer investigar algum tipo de software SNMP - é projetado para exatamente o que você quer fazer. O Net SNMP é de código aberto e bastante popular.

    
por 17.04.2012 / 15:24
1

Como você está verificando clientes que possuem IPs desconhecidos, talvez seja necessário instalar um agente neles para 'fazer check-in' em um mestre (SNMP / WMI) parece ser a melhor solução. Você pode agendar trabalhos para consultar o mestre usando o agendador do SO (cron, at, etc). Por exemplo, seu script php no mestre pode aceitar parâmetros como:

link

Programe um curl ou wget, etc usando o cygwin no Windows para atingir esse URI. O script do coletor manteria tudo isso em um banco de dados e, se X minutos passassem sem uma resposta de um dos computadores, ele poderia enviar um e-mail para você. Você poderia escrever algo assim em menos de uma hora, mas eles vendem software que faz isso também.

No entanto, se você quiser simplesmente testar serviços aleatórios de saída, veja algumas outras soluções:

Meu site está em alta? Por exemplo, uma página simples que você pode enrolar e verificar se a resposta foi um 200 (OK), com os dados esperados. Mas você também gostaria de saber qual era o tempo de resposta. São necessários 200ms ou 20s para lhe dar a resposta?

Uma consulta de banco de dados simples em uma página do php poderia testar o serviço de banco de dados, bem como uma página da web e o serviço php.

O WMI / SNMP é uma maneira de extrair várias informações sobre o sistema operacional. Por exemplo, uso da CPU, espaço em disco, processos em execução, etc. Os dois SNMP podem ser mais fáceis de implementar.

Além disso, o ping é uma fatia no tempo. Diz-lhe que esta fatia em tempo respondeu, mas não lhe fala sobre tudo entre os pings. Se você é o Windows, e tudo que você quer ver é se o sistema operacional / rede está em um host remoto, você pode tentar um desses dois utilitários:

link link

Estes dão uma imagem da saúde da rede também. O Linux também possui ferramentas semelhantes, como:

link

O qual enviará uma solicitação http para qualquer porta desejada.

Claro que há também o telnet confiável:

telnet yoursite.com 80

Tenha cuidado também, muitas vezes os pings são bloqueados por motivos de segurança, por isso é possível que você não receba uma resposta. Firewalls de host podem bloquear os pings também.

    
por 17.04.2012 / 16:12
0

Depende do que você quer dizer com disponível: o ping verifica a conexão com o servidor físico, mas não com o software do servidor e sua capacidade de responder a solicitações recebidas. Os tempos limite podem vir de pings descartados em qualquer lugar entre a origem e o servidor. Um traceroute (tracert, no Windows) mostrará onde pings estão sendo descartados. Nenhum dos dois informará sobre a capacidade de resposta do seu servidor (software).

    
por 17.04.2012 / 14:47