Monitorando a estabilidade de uma conexão com a internet

1

Eu me inscrevi recentemente com um novo provedor e tenho cerca de duas semanas para determinar se o tempo de atividade é suficiente para executar um servidor. Meu plano inicial era instalar o Nagios em um laptop antigo e armazená-lo na casa de um amigo, mas - resumindo - um servidor na casa de um amigo não é viável.

Eu tenho um objetivo duplo:

  1. A curto prazo, preciso de algo para determinar se a nova conexão com a Internet é estável o suficiente para executar um servidor. Ele não precisa me alertar toda vez que a Internet cair, mas precisa ter algum tipo de log que eu possa ver para ver se houve algum tempo de inatividade.
  2. A longo prazo, gostaria de algo que me alertasse assim que houvesse um problema em chegar ao servidor.

Idealmente, eu poderia realizar os dois objetivos com o mesmo software.

Eu tenho uma aversão irracional ao SaaS, então eu estava pensando, porque eu tenho uma caixa Linux sempre conectada no meu bolso (na forma de um telefone Android), certamente há alguma ferramenta existente para monitorar o tempo de atividade do servidor.

Quando eu vasculhei a Internet em busca de um aplicativo desse tipo, foi uma queda na loucura. Muitos aplicativos de "monitoramento" apenas verificam o servidor quando você abre o aplicativo e o informa ao ping. Eu quero configurá-lo uma vez e, em seguida, tenho o telefone executado verifica cada 1-5 minutos sem qualquer outra ação da minha parte. Eu não me importo em saturar a conexão de dados do meu telefone, já que eu só vou ficar lamentando pelas próximas duas semanas. Depois disso, posso reduzir a frequência de pesquisa.

Como não encontrei nenhum aplicativo desse tipo, estou pensando que posso realizar o primeiro objetivo com um trabalho cron no servidor que faria um ping no Google ou algo assim e gravaria um log. Essa parece ser a opção mais simples no momento, mas não aborda a meta de longo prazo de monitoramento.

Informações potencialmente relevantes: meu orçamento é $ 0. Todos os meus dispositivos são Linux ou Android.

Espero que as pessoas brilhantes do Server Fault tenham algum insight / recomendação sobre como melhor atingir esse objetivo. Obrigado.

    
por kjc26ster 08.04.2013 / 22:28

4 respostas

2

É uma questão de compras, mas vou responder de qualquer maneira, já que é uma ferramenta útil de administração de sistema: Monitor descafeinado faz exatamente o que você está pedindo. Existem muitos serviços hospedados que fazem isso, e se monitorar um único servidor é frequentemente gratuito. Eu encontrei Montastic bom o suficiente para o monitoramento casual. Para um servidor onde você não está disposto a investir muito dinheiro, você está certo sobre a irracionalidade de ser avesso a esse tipo de solução.

Realmente, se você está fazendo isso de qualquer maneira profissional (para estar no tópico neste site), então por que você hospedaria um único servidor sozinho quando você pode alugar um rack ou um VPS por cerca de US $ 300 por ano velocidades de redundância e de conexão gigabit?

Se você realmente deseja hospedar e, novamente, assumindo que essa é uma pergunta profissional, qualquer ISP que você considerar deverá oferecer um contrato de nível de serviço obrigatório. Se eles oferecem isso, você pode apostar que é muito improvável que eles não consigam satisfazê-lo.

    
por 08.04.2013 / 22:37
1

Se você tiver um bom ponto remoto conhecido que possa testar, poderá implementar seus próprios testes ping / netcat / curl / wget para validar a disponibilidade da conexão de rede, bem como a latência.

Se você não precisar ser notificado imediatamente, basta fazer login localmente. Isso pode ser feito em seu servidor de hospedagem ... ou em outra caixa de monitoração, talvez dedicada. Uma caixa de monitoramento seria ideal, especialmente se você hospedaria hardware e / ou VPS (s) de outras pessoas no futuro.

Se você precisar ser notificado, precisará de um celular. De preferência um que você tem um meio de ligar-se à rede com (um telefone Android, por exemplo), mas uma velha escola 3G 3g "modem" telefone também é bom. Você pode usar esse link fora da banda para enviar um e-mail de notificação ou um e-mail para sms para mostrar a interrupção ou qualquer variação na sua conectividade.

Eu tenho pensado nos smartphones antigos como nós de monitoramento e notificação de backup autônomo. Dado que a maioria dos telefones Android pode ser persuadida a executar Java ou obter um shell (mesma história com iPhones, Kindles, etc.), há muitas opções nessa linha.

No entanto, se você está pensando em um empreendimento comercial, um Mifi para o "data center" doméstico como o link fora da banda seria melhor.

    
por 09.04.2013 / 02:26
1

Meu período de avaliação acabou, então pensei em postar um follow-up: Eu fui com o Decaf Monitor e o recomendaria para um monitoramento de curto prazo.

As opções de configuração padrão levaram um tempo para detectar uma interrupção, então aumentei a sensibilidade. Ele pegou o tempo de inatividade quase que imediatamente. Infelizmente, quando há uma interrupção, o Decaf Monitor vibra o telefone até você ligar a tela e reconhecê-lo, e o faz depois de cada verificação (que eu defini uma vez por minuto), então é realmente irritante se você estiver no meio de algo que você pode soltar (preso no trânsito, no dentista). Eu não vi nenhuma configuração para alterar isso, mas é possível que exista uma e eu perdi.

Houve surpreendentemente poucos alertas falsos. Quando meu telefone perdia a conexão, o Decaf Monitor colocava um ícone na barra de status, indicando que não podia se conectar, mas não iria vibrar, e o ícone desapareceria sozinho quando a conexão fosse restaurada.

Por ser tão persistente com seus alertas, não acho que seja adequado para o monitoramento de longo prazo, mas foi perfeito para manter um olho aguçado no servidor por um curto período.

    
por 25.04.2013 / 21:12
0

O watchdog de script de shell simples pode ser útil ... algo como: Desculpe por eu estar com preguiça de escrevê-lo no bash, mas estou apenas dando a idéia.

VAR=0
while(true){
 ping -c 1 yourserver
 if failed then increment VAR
 else VAR=0
 if VAR=10 then notify me
 sleep 1000
}
    
por 08.04.2013 / 22:35