8 votos

Necesito reemplazar el munin con algo más escalable

He usado munin en múltiples servidores durante muchos años con gran éxito, sin embargo con más de 100 munin-nodos y cuando hay una carga en los clientes, el procesamiento se acaba.

He hecho algunos cambios de escala en el trabajo de cron, y en el número de procesos de cliente, y he reducido el número de plugins que se ejecutan, etc. pero he decidido buscar una alternativa que tenga una arquitectura más escalable.

Cualquier sugerencia o experiencia será bienvenida. Básicamente estoy interesado en la métrica del servidor que se puede utilizar para la planificación de la capacidad, y el diagnóstico del uso de los recursos. (tenemos nagios para alertar)

0 votos

8voto

Kasper Holdum Puntos 4173

Parece que tienes dos problemas

  1. En tu servidor de monitorización, el registro de las métricas de muchos servidores requiere más i/o aleatorio del que tu almacenamiento puede proporcionar. Incluso si todas las métricas se escriben en el disco, el servidor puede estar demasiado sobrecargado para generar gráficos a partir de ellas.
  2. En sus clientes monitorizados, los plugins que recogen las métricas son demasiado intensivos en CPU y memoria y no terminan de recoger los datos a tiempo cuando los clientes están experimentando una gran carga.

He utilizado Munin en el pasado, pero actualmente estoy utilizando Recogida . Los autores de collectd han pensado mucho y se han esforzado por resolver estos problemas. Tienen un sistema bien diseñado para escribir los datos en archivos RRD que garantiza que no se pierdan datos y que se puedan generar gráficos actualizados. También hay soporte para RRDCacheD . El demonio y los plugins oficiales están escritos en C, por lo que utilizan poca memoria o tiempo de CPU. En mis sistemas cliente utiliza menos de 2MB de RAM y alrededor de un cuarto de segundo de CPU cada minuto. En mi servidor de monitorización utiliza 20 MB de RAM y dos tercios de segundo de CPU cada minuto. Tenga en cuenta que todas mis métricas están siendo recogidas y enviadas a mi servidor de monitoreo cada diez segundos, en lugar de en intervalos de minutos como munin.

2 votos

Munin ahora tiene soporte preliminar para rrdcached. Requiere un poco más de esfuerzo que la instalación por defecto. Esto no es un voto a favor o en contra de munin/collectd, sólo estoy añadiendo esto para ayudar a cualquier persona que lucha con una configuración de munin y sin margen de maniobra sobre el cambio de sistemas.

3voto

Marco Ramos Puntos 2212

A pesar de ser grandes herramientas, Munin y otros frontends de RRDTool (como Cacti o Ganglia) tienen problemas conocidos de i/o y son difíciles de escalar cuando se monitorean cientos de nodos.

Sin embargo, existen algunas técnicas para solucionar este cuello de botella de E/S. Una de estas técnicas es repartir las escrituras entre un gran número de discos para reducir el i/o en cada disco. Por otro lado, muchos administradores de sistemas utilizan tmpfs sistemas de archivos para hacer frente a este problema. RRDCached también es una opción reciente y buena para lidiar con esto y te recomendaría echar un vistazo a esto diapositivas .

No estoy muy familiarizado con Munin, pero Cacti tiene un Impulsar plugin. Este plugin almacena en caché los datos en la memoria y realiza actualizaciones masivas y bajo demanda en el disco, en lugar de escrituras individuales, reduciendo así el i/o. Estoy bastante seguro de que Munin también tiene algo así.

Si te lo puedes permitir, los discos SSD también son una buena opción.

Por último, pero no menos importante, también puede echar un vistazo a Reconocer . Recconoiter es una nueva herramienta de detección de fallos y gráficos/tendencias. A diferencia de la mayoría de las herramientas de tendencias, Reconnoiter no se basa en RRDTool y trata de resolver este problema específico. No estoy usando Reconnoiter en producción, pero he hecho algunas pruebas, y a pesar de estar todavía un poco "verde", parece realmente prometedor, especialmente en lo que respecta a su escalabilidad.

Espero que esto ayude.

0 votos

Zabbix tampoco utiliza RRD, utiliza un backend como MySQL o Postgres. Si se hacen bien las plantillas y no se monitorizan cosas inútiles, se puede escalar fácilmente.

2voto

Red Tux Puntos 1666

Comprueba Zabbix . Es una de las mejores herramientas de supervisión del rendimiento de código abierto que existen. Se adapta bien y se ha utilizado en entornos con miles de ordenadores.

0voto

Symmetric Puntos 158

Marco Ramos da algunos consejos sólidos. Sin embargo, quiero añadir una aclaración: el gran problema de munin es su horario fijo de recogida de 5 minutos. Si todos los nodos no devuelven resultados dentro de la ventana de 5 minutos, se empiezan a producir abandonos. Este es el mayor problema con munin.

Otras herramientas basadas en rrdtool, como Ganglia, no están bloqueadas en esta misma ventana de actualización de 5 minutos porque no sondean todas las fuentes de datos de la misma manera secuencial que lo hace munin.

Te recomendaría que miraras Ganglia porque generalmente parece escalar bien (aunque necesitas desactivar la recolección de datos de multidifusión para una instalación grande de Ganglia). Sospecho que puedes ir bastante lejos con Ganglia antes de que tengas que empezar a preocuparte de que rrdtool sea el punto de estrangulamiento. En ese punto puedes hacer el tipo de cosas que Marco sugiere, como usar discos SSD.

0 votos

Efectivamente, tienes razón, lo mismo ocurre con los cactus.

0voto

luckytaxi Puntos 994

Estoy reemplazando Munin con Ganglia, Munin mata mi servidor así que le daré una oportunidad a Ganglia y veré cómo escala.

0 votos

¿Cómo ha ido? Yo también estoy interesado en una sustitución de este tipo...

0 votos

Prefiero los gráficos de Munin pero Ganglia ha funcionado bien. Desde entonces he dejado el trabajo, pero cuando lo dejé, sustituí Munin por Ganglia. Con la última versión de Munin, me inclino a pensar que han ajustado el uso de la memoria. Yo no dudaría en usar cualquiera de los dos, es una cuestión de preferencia, supongo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: