Carga alta en un servidor nagios: ¿cuántas comprobaciones de servicio para un servidor nagios son demasiadas?

9

Tengo un servidor nagios que ejecuta Ubuntu con un procesador Intel de 2.0 GHz, una matriz RAID10 y 400 MB de RAM. Supervisa un total de 42 servicios en 8 hosts, la mayoría de los cuales se verifican utilizando el complemento check_http incluso 5 minutos, algunos cada minuto. Recientemente, la carga en el servidor nagios ha sido superior a 4, a menudo tan alta como 6. El servidor también ejecuta cactus, recopilando estadísticas cada minuto para 6 hosts.

Me pregunto, ¿cuántos servicios debería poder manejar un hardware como este? ¿La carga es tan alta porque estoy superando los límites del hardware, o este hardware debería ser capaz de manejar 42 comprobaciones de servicio más cactus? Si el hardware es inadecuado, ¿debería buscar agregar más RAM, más núcleos o núcleos más rápidos? ¿Qué comprobaciones de hardware / servicio están ejecutando otros?

Josh
fuente
¿Cómo se ve el uso de RAM en este momento en el servidor? Además, ¿cómo se ve el uso de la CPU? Si eso es alto, ¿qué procesos lo están vinculando?
3dinfluence
¿Resolviste el problema? Estamos experimentando el mismo problema. Promedio de carga es 12 ..
John

Respuestas:

7

Necesitas descubrir dónde está tu cuello de botella ...

Ejecuto un monitor nagios que verifica más de 400 hosts con http, ping y ssh. (junto con muchas otras comprobaciones pasivas y nscd)

Esto está en un servidor 2xQuadCore con 4 discos SAS en RAID10.

Sospecho que estás teniendo una disputa de E / S, ya que escribir en muchos rrds es muy ineficiente.

Debe averiguar qué proceso está ocupando sus recursos. (cactus, nagios u otra cosa)

Para la comprobación de IO, me gusta iotop. Instale iotop (el paquete 9.04 funciona en 8.04)

Pero de lo contrario, top también debería ayudarlo a encontrar su carga de trabajo.

Los cactus una vez por minuto son bastante agresivos. (Ejecuto el mío a intervalos de 5 m)

Un enfoque del que he oído hablar para la contención de escritura de rrd es colocar sus tiendas de rrd en un ramdisk / tmpfs. (asegúrese de rsync que de vez en cuando al almacenamiento persistente)

Buena suerte.

Joel K
fuente
Gracias. Lo miraré. Probablemente son los cactus que generan la carga, y veré si hay una manera de mover los rrds a tmpfs. O simplemente agregue más RAM para que el servidor pueda almacenar en búfer los rrds. Me temo que si ejecuto cactus cada 5 minutos podría haber picos de carga que duran solo 1 o 2 minutos, lo que extrañaría por completo ...
Josh
6

A menos que los cactus generen la mayor parte de la carga, entonces debería poder ejecutar muchas más comprobaciones que eso en su hardware.

Estoy ejecutando nagios en una máquina virtual FreeBSD que se ejecuta en Microsoft Virtual Server en una vieja PC lenta (Pentium 3 1GHz con un disco PATA lento). La máquina virtual tiene solo 128 MB de RAM y el rendimiento es grave.

Sin embargo, el promedio de carga es de aproximadamente 0.2, ejecutando 158 comprobaciones en 42 hosts.

hmallett
fuente
Gracias. ¡Ojalá pudiera aceptar ambas respuestas! Tu fue muy útil, me indica que los cactus son probablemente los culpables.
Josh
2

En un viejo PIII con 256 MB de RAM, estoy monitoreando activamente unos 230 servicios diferentes. La misma máquina también ejecuta MRTG e HylaFAX para todos nuestros faxes entrantes y lo hace con bastante comodidad.

John Gardeniers
fuente
Información muy útil Esto me indica que los cactus son probablemente los culpables, no los nagios. ¡Gracias!
Josh
1

Debería poder ejecutar una gran cantidad de comprobaciones nagios con ese hardware. Ejecutamos una configuración similar con aproximadamente 70 comprobaciones y Nagiosgraph: la principal diferencia es la RAM agregada (es barato, así que subiría la caja a 2Gb).

Intente ejecutar top o ps -aux para ver si la CPU está sobrecargada, pero lo dudo. También puede consultar los documentos de paralelización de nagios para ver si su instalación está intentando ejecutar demasiadas comprobaciones a la vez en lugar de serializarlas.

Hurfdurf
fuente