Monitoramento de tempo de atividade a cada segundo - Ruim para o servidor?

10

Eu estou querendo saber se há vantagens de verificar se um servidor é UP fazendo uma "solicitação HTTP GET" a cada segundo?

Algum servidor pode lidar com isso?

    
por donald 03.04.2011 / 15:49

7 respostas

24

O servidor "qualquer" pode lidar com isso? Provavelmente.

Você deveria fazer isso? Provavelmente não.

Faça algumas perguntas para você:

  1. Quão rápido você será para responder uma interrupção?
  2. Quantas visualizações de página você normalmente recebe por segundo?
  3. Quantos erros consecutivos você tem disposto a ver antes de chamá-lo "Down" e enviando um alerta?
  4. Você tem algum SLA com clientes internos ou externos que precisa ser honrado?
  5. Com base nas perguntas listadas acima, o que parece ser um tempo razoável de monitoramento e resposta?

When I was first learning to program, I decided I wanted to make a stopwatch. When I finally got a working application, I noticed the CPU usage on my laptop was at 100% whenever I ran it.

My execution loop didn't have a wait cycle. It just kept executing over the time function.

On that day I learned a valuable lesson: there is no such thing as an infinitely accurate measurement.

    
por 03.04.2011 / 16:14
5

Enquanto eu, como quase todos os outros, questiono o motivo de querer monitorar com tanta frequência que o lado técnico não é um problema. Um pedido GET por segundo é absolutamente insignificante comparado a uma carga de página típica.

O seu servidor pode lidar com isso? Não temos nada sobre o que responder a essa pergunta, mas se o seu servidor tiver um problema em lidar com isso, sugiro que seria completamente inadequado para qualquer outra coisa que esteja servindo.

    
por 04.04.2011 / 00:32
3

Nagios ou munin provavelmente podem lidar com a execução do teste a cada segundo, mas é um pouco obsessivo. Existe uma razão pela qual você precisa verificar com tanta frequência? Se o seu servidor é tão instável, você provavelmente terá problemas mais profundos.

    
por 03.04.2011 / 16:05
1

A maioria dos softwares de monitoramento comercial oferece intervalo de 1 min ou 5 min por padrão. Esse parece ser um bom intervalo de verificação.

    
por 03.04.2011 / 21:33
0

Concordo 100% com o Joseph aqui. Se você ainda quiser fazer algum tipo de monitoramento em tempo real, pode considerar farejar o log do servidor Web quanto a erros do servidor e a ausência de novas entradas no log por um período de tempo. Ele não colocará uma carga no servidor, mas o acionamento de alertas com base nisso é um desafio:)

    
por 03.04.2011 / 18:40
0

1 segundo resolução é realmente alta e provavelmente não é necessária. No entanto eu prefiro collectd como foi projetado para resolução muito maior (sempre 10 segundos), em seguida, outras ferramentas OSS como munin (5 minutos).

    
por 04.04.2011 / 07:58
0

Não há nada errado em monitorar o servidor a cada segundo, mas não é muito eficiente, especialmente em servidores com alta carga, onde uma consulta Apache pode travar por alguns segundos, fazendo com que suas solicitações façam backup ou emite alertas falsos naquele momento específico. , mas não é "errado". Um segundo cheque não fará com que você seja mais rápido em responder, e em 99,9% de todas as circunstâncias, uma verificação de 10 ou 30 segundos é tão importante quanto.

    
por 05.04.2011 / 22:38