Monitoreo de tiempo de actividad cada segundo: ¿malo para el servidor?

11

Me pregunto si hay ventajas de verificar si un servidor está ARRIBA haciendo una "Solicitud HTTP GET" cada segundo.

¿Puede cualquier servidor manejarlo?

Donald
fuente
Otra opción es hacer lo contrario: en lugar de monitorear el servidor desde afuera, monitorear el servidor desde adentro, como con ru-on.com . Básicamente, instala un pequeño script en su servidor que hace ping a otro servidor muy a menudo, para que pueda monitorear su tiempo de actividad sin dificultar la vida de su servidor web.
Maxim Zaslavsky
3
@Maxim, hay varios problemas con su sugerencia. Primero, no verifica que el servicio HTTP se esté ejecutando en el servidor. En segundo lugar, está el problema de lo que sucede cuando el servidor está inactivo. Eso todavía necesita ser monitoreado. Además, un simple wget podría tener el mismo resultado contra la máquina local.
John Gardeniers

Respuestas:

26

¿Puede "cualquier" servidor manejarlo? Probablemente.

¿Deberías hacerlo? Probablemente no.

Hágase algunas preguntas:

  1. ¿Qué tan rápido será para responder a una interrupción?
  2. ¿Cuántas páginas vistas recibe normalmente por segundo?
  3. ¿Cuántos errores consecutivos estás dispuesto a ver antes de llamarlo "Abajo" y enviar una alerta?
  4. ¿Tiene algún SLA con clientes internos o externos que deba ser honrado?
  5. Basado en las preguntas enumeradas anteriormente, ¿qué parece un tiempo razonable de monitoreo y respuesta?

Cuando estaba aprendiendo a programar por primera vez, decidí que quería hacer un cronómetro. Cuando finalmente obtuve una aplicación que funcionaba, noté que el uso de la CPU en mi computadora portátil era del 100% cada vez que la ejecutaba.

Mi ciclo de ejecución no tenía un ciclo de espera. Simplemente siguió ejecutándose sobre la función de tiempo.

Ese día aprendí una valiosa lección: no existe una medición infinitamente precisa.

Joseph Kern
fuente
6

Si bien, como casi todos los demás, cuestiono la razón por la que desea monitorear con tanta frecuencia, el aspecto técnico no es un problema. Una solicitud GET por segundo es absolutamente insignificante en comparación con una carga de página típica.

¿Puede su servidor manejarlo? No tenemos nada para responder a esa pregunta, pero si su servidor tiene un problema para manejarlo, sugeriría que sería completamente inadecuado para cualquier otra cosa que esté atendiendo.

John Gardeniers
fuente
3

Nagios o munin probablemente pueden manejar la ejecución de la prueba cada segundo, pero es un poco obsesivo. ¿Hay alguna razón por la que deba verificar con tanta frecuencia? Si su servidor es tan inestable, probablemente tenga problemas más profundos.

slillibri
fuente
1

La mayoría del software de monitoreo comercial ofrece intervalos de 1 minuto o 5 minutos por defecto. Ese parece ser un buen intervalo de verificación.

sapguy
fuente
Pingdom, por ejemplo, le permite establecer un intervalo y luego, al detectar la primera interrupción, aumentar la frecuencia con la que hace sonar el servidor para ver si está de respaldo.
Ankur Banerjee
>, aumentar la frecuencia .. => pero el mínimo sigue siendo 1 min, o?
sapguy
En cuentas gratuitas, creo que lo más bajo que ofrece Pingdom es 1 minuto. No tengo una cuenta premium, así que no puedo decir si ofrecen una opción para cheques aún más frecuentes.
Ankur Banerjee
1

No hay nada de malo en monitorear el servidor cada segundo, simplemente no es muy eficiente, especialmente en servidores con alta carga, donde una consulta de Apache puede bloquearse durante un par de segundos, causando que sus solicitudes hagan una copia de seguridad o emitan alertas falsas para ese momento en particular, pero es No esta mal'. Las verificaciones de un segundo no lo harán responder más rápido, y en el 99.9% de todas las circunstancias, una verificación de 10 o 30 segundos es igual de importante.

Ricardo
fuente
0

Estoy de acuerdo al 100% con Joseph aquí. Si aún desea realizar algún tipo de monitoreo en tiempo real, podría considerar rastrear el registro del servidor web tanto por errores del servidor como por la ausencia de nuevas entradas en el registro por un período de tiempo. No pondrá una carga en el servidor, pero activar alertas basadas en esto es un desafío :)

pors
fuente
0

La resolución de 1 segundo es realmente alta y probablemente no sea necesaria. Sin embargo, prefiero coleccionar ya que fue diseñado para una resolución mucho más alta (siempre 10 segundos) que otras herramientas OSS como munin (5 minutos).

n8whnp
fuente