Monitoreo con Nagios

Monitoreo con Nagios

El viernes pasado no fue un día particularmente malo para nosotros, pero ciertamente fue para uno de nuestros clientes. La noche anterior, la mitad de su red había desaparecido, al menos de donde estaba sentado, y a la mañana siguiente nos dijeron que un interruptor de red se había roto y fue reemplazado. Más tarde esa tarde, algunos de sus servicios desaparecieron nuevamente y descubrimos que un enrutador estaba configurado erróneamente. Eran las seis en punto el viernes por la noche y nadie contestaba el teléfono, así que les enviamos un correo electrónico y bajamos por el pub. Una hora después, recibí una llamada en mi teléfono móvil; Me dijeron que el enrutador estaba arreglado y me pidieron que revisara que todo estaba funcionando. Normalmente, preguntaríamos si podía esperar hasta llegar a casa o regresar a la oficina, pero acabamos de trasladar todo nuestro monitoreo a un software llamado Nagios, que tiene una interfaz WAP. Verificamos que todos sus servicios funcionaban desde la comodidad del pub.

Sin embargo, Nagios es mucho más que una justificación tardía para los teléfonos WAP. Un día, nos despertamos para descubrir que teníamos más servidores de los que sabíamos qué hacer y que nuestro negocio dependía de las máquinas que no estábamos monitoreando muy bien. ¿Cómo podríamos averiguar qué estaban haciendo todos esos servidores, saber qué había salido mal y cuándo? Ya realizamos un montón de guiones en varias máquinas para verificar asuntos como el uso del espacio en disco, pero estos se estaban volviendo cada vez más difíciles de mantener y no verificaron suficientes cosas. También necesitábamos monitorear la calidad del servicio y la disponibilidad. Nuestra empresa crea y aloja sitios web, y necesitamos saber que las páginas se atienden rápidamente desde dentro y sin nuestra propia red.

Tuvimos que tomar una decisión entre escribir más software nosotros mismos, encontrar una solución de código abierto o comprar en el software de monitoreo. La primera ruta no fue realmente viable, ya que necesitábamos una solución multiplataforma para monitorear los servidores Windows y UNIX. Podríamos escribir lo suficientemente fácilmente para Unix, pero no teníamos confianza en escribir para Windows. Existe un software comercial que parecía hacer lo que queríamos, pero a menudo es costoso (odiamos gastar más en el software de monitoreo de lo que pagamos por el servidor en sí). Que dejó la fuente abierta como nuestra única opción.

Pronto descubrimos una gran colección de software de monitoreo de código abierto. Sin embargo, a diferencia de algunas aplicaciones en las que sabe qué solución es mejor, por ejemplo, el servidor web de código abierto dominante es Apache, en el monitoreo de la red no hay un ganador claro. Tuvimos que idear una forma de elegir, por lo que aplicamos estos tres criterios, que tendemos a usar con todas las soluciones de código abierto:

1. ¿Funciona con lo que ya tenemos??

2. ¿Otras personas lo usan??

3. ¿Muchas personas están trabajando en ello??

En el primer punto, necesitábamos monitorear los servidores UNIX y Windows, y monitorear esos parámetros que nos interesan: el uso de recursos (CPU y disco); Disponibilidad del servicio (es el servidor web arriba?); y calidad del servicio (qué tan rápido se genera esta página?). También sería bueno si pudiéramos monitorear el hardware, para verificar que no se está poniendo demasiado caliente. Tampoco queríamos tener que instalar mucho otro software. Por ejemplo, usamos MySQL para prácticamente todos los trabajos de nuestra base de datos y no queríamos instalar un servidor de base de datos diferente (por ejemplo, PostgreSQL) solo para monitorear la red.

El segundo y tercer punto sobre otros usuarios y el estado del desarrollador son igualmente importantes. En sitios de código abierto como SourceForge, verá muchos proyectos que parecen hacer lo que desea, pero que no son utilizados por nadie más o no han tenido desarrollo durante años. Para el software en el que confiará, es importante saber que hay una comunidad que puede ayudar. Una buena manera de verificar es examinar cualquier lista de correo que viene con el paquete. Si no hay una, o no muestra publicaciones durante un año más o menos, puede haber una razón.