Welcome to Pandora FMS Community › Forums › Soporte de la comunidad › Cantidad maxima de modulos por agente
-
Cantidad maxima de modulos por agente
Posted by Robas on January 28, 2011 at 21:59Hola 🙂
Estoy utilizando un agente para hacer la monitorizacion de URLs con el comando “curl”.
Hice 2 polĂticas:– Tiempo de respuesta
– DisponibilidadCada politica tiene casi 200 modulos (1 modulo para cada URL).
He aplicado las 2 polĂticas para un agente (400 modulos), se quedando responsable por la monitorizacion web.
Mi pregunta es si hay algun limite maximo de modulos por agente.
Pregunto eso pues estoy mirando algunos comportamientos raros de algunos modulos cuando hay las 2 politicas aplicadas para ese agente.Saludos!
Robas replied 14 years ago 2 Members · 19 Replies -
19 Replies
-
::
Buenos dĂas Robas,
Más que un lĂmite de mĂłdulos para cada agente, hay un lĂmite de mĂłdulos para cada servidor, ya que si los mĂłdulos son remotos, estos son ejecutados por los diferentes servidores de Pandora. Para el servidor de Pandora, podemos monitorizar aproximadamente unos 50000 mĂłdulos.
¿Lo estás haciendo mediante módulos remotos o módulos de agente software?
Saludos.
-
::
Los modulos que dice son ejecutados en el agente, la lĂnea de comando es algo asĂ:
$ curl http://www.urlmonitorizada.com.br/ejemplo/paginamonitorizada.html -s | grep -i “cadena buscada” | wc -l
PreguntĂ© si hay algun limite en el numero de modulos porque a veces la salida del comando ejecutado por el agente es distinta de la salida del comando ejecutado directamente en la lĂnea de comando (que raro!).
Alguna idea de cĂłmo hacer algo como un debug?
-
::
Hola,
Pues en principio el nĂşmero de mĂłdulos es “ilimitado” ya que el lĂmite lo pone la máquina al ejecutar los mĂłdulos. Los mĂłdulos van ejecutándose uno a uno y generando el XML, pero deberĂan recoger los mismos datos que al ejecutarlo desde la lĂnea de comandos.
Saludos.
-
-
::
No, la frecuencia con la que envĂen los agentes los datos recogidos no deberĂa afectar a la monitorizaciĂłn. En caso extremo, el agente se volverĂa a ejecutar antes de terminar la ejecuciĂłn de los mĂłdulos de la ejecuciĂłn anterior. En casos normales no deberĂa afectar.
Saludos.
-
::
Estaba pensando, hay alguna manera de un agente ejecutar sus modulos en paralelo? Por ejemplo utilizando 2 threads para ejecutar los modulos.
Es que a veces el curl se queda detenido en una URL hasta el timeout establecido, si habĂa alguna manera de ejecutar más 1 curl al mismo tiempo seria genial.Saludos.
-
::
Hola Robas,
Se puede hacer que el agente utilice un número de hilos determinado para ejecutar los módulos en paralelo: Para ello basta con editar el archivo de configuración del agente /etc/pandora/pandora_agent.conf y modificar el parámetro:
#agent_threads 1
Aquà determinas el número de hilos que lanzará el agente para ejecutar los módulos. Por defecto viene desactivado y ejecutando los módulos uno detrás de otro en un único hilo.
Eso sĂ, este parámetro solo está disponible para agentes Unix.
-
::
Hmmm, que bueno 🙂
He intentado en un linux y me parece que en las primeras veces que ha ejecutado (primeros modulos), ha utilizado más de 1 hilo (ejecutando más de 1 modulo al mismo tiempo)… pero en las ejecuciones posteriores parece que la ejecuciĂłn se quedo serializada.
Mira el ejemplo en anejo.El primero “ps” nos muestra 1 comando curl en la URL:
sh -c curl http://URL1/Tva266/chat4/cliente/frm_login.asp -s | grep -i “TVA” | wc -l 2> /dev/nullEl segundo “ps” nos muestra que tenemos 2 curls ejecutando:
sh -c curl http://URL1/Tva266/chat4/cliente/frm_login.asp -s | grep -i “TVA” | wc -l 2> /dev/null
sh -c curl http://URL2/Classificacao/guiapratico/index.html -s | grep -i “Portal” | wc -l 2> /dev/nullEl tercero “ps” nos muestra el primero curl detenido en la primera url esperando que conteste y un otro comando curl ejecutando en una nueva URL:
sh -c curl http://URL1/Tva266/chat4/cliente/frm_login.asp -s | grep -i “TVA” | wc -l 2> /dev/null
sh -c curl http://URL3/Classificacao/guiapratico/index.html -s | grep -i “Portal” | wc -l 2> /dev/nullEl cuarto “ps” nos muestra el primero curl aun detenido y otro curl ejecutando una nueva URL:
sh -c curl http://URL1/Tva266/chat4/cliente/frm_login.asp -s | grep -i “TVA” | wc -l 2> /dev/null
sh -c curl http://URL4:8080/OUGWar/workflow_soap -s | grep -i “XMLSchema” | wc -l 2> /dev/nullHasta aquĂ todo bien, pero ahora se ejecuta un solo comando curl, como se tuviĂ©ramos un solo hilo.
Mi intenciĂłn es justo esa: encuanto un hilo quedarse detenido en una URL que tarda a contestar, los otros hilos se quedan libres para acceder a las otras URLs.
Tiene alguna idea de porque los hilos se ejecutaban OK, pero despues pasó a ejecutar solo 1 hilo?Muchas gracias por la ayuda! 🙂
-
::
Buenos dĂas Robas,
PodrĂa ser que los procesos estĂ©n terminando justo cuando se empiezan a ejecutar otros. Con esa prueba no se puede determinar exactamente el correcto funcionamiento de los hilos. Para hacer la prueba de forma más exhaustiva, prueba a ejecutar diferentes sleep.
Con lo que sea nos cuentas. Saludos.
-
::
Buenos dĂas,
Voy a hacer esta prueba 🙂
Saludos!
Obs: En la secuencia de comandos que he anejado, hice una limpieza… dejando solo los “ps -ef” con retornos distintos… o sea, estaba ejecutando 1 “ps -ef” por segundo, tuve muchos retornos iguales y en ningun de esos estaba más de 1 URL siendo accedida… por eso he pensado que no habĂa manera de los hilos acabaren justo cuando otro empezava.
-
::
Hola Luismi,
Hice una politica con 3 modulos con tiempos distintos de sleep, para vermos facilmente la diferencia entre ellos por el “ps -ef”
PolĂtica: SomnĂfero
MĂłdulo 1: sleep 10
MĂłdulo 2: sleep 9
MĂłdulo 3: sleep 8Anejado está el dump de los “ps -ef”.
He probado con “agent_threads 1” y “agent_threads 3”, pero me parece que solo 1 hilo esta ejecutando.Obs: ahora no he limpiado el log de la ejecuciĂłn, hice algunos “ps -ef” durante la ejecuciĂłn de cada modulo, para chequear si algun otro hilo habĂa empezado a ejecutar.
-
::
Hola Robas,
SĂ, efectivamente he estado haciendo las mismas pruebas y la ejecuciĂłn con diferentes hilos se realiza siempre en la primera ejecuciĂłn despuĂ©s de iniciar el agente, pero las siguientes ejecuciones las hace sobre un Ăşnico hilo.
He abierto el bug en el tracker y se solucionará para próximas versiones. De todas maneras, te adjunto el demonio del agente modificado y que funciona bien con todos los hilos de ejecución que configures.
Para el servicio del agente de pandora, sustituye el demonio que tienes ahora, que por defecto está en /usr/bin/pandora_agent y /usr/share/pandora_agent por el modificado e inicia de nuevo el agente de pandora.
Saludos.
-
-
::
Hola Luismi,
Hay alguna cantidad maxima de hilos??
Algo raro esta pasando: tengo 278 modulos, pero 155 estan como unknown…
He puesto 15 y despues 10 hios… los modulos se ejecutan biĂ©n, pero en un determinado momento los hilos van morriendo y la ejecuciĂłn para, reporta al server, pero, más de metade de los modulos no son ejecutados. Que raro!
Actualmente estan aplicadas 2 politicas… voy probar solo con 1 politica.. despues solo con la otra.. y si todo ocurrir bien, ponerĂ© las 2 juntas.. i’ll let you knowAlguna idea de pruebas que podemos hacer??
Muchas Gracias por la ayuda!!
Saludos. -
-
::
El número máximo de hilos son unos 15 hilos, aunque no te aconsejo poner tanto ya que no por tener más hilos el agente ejecutará antes todos los módulos ya que los cambios de contexto también consumen tiempo.
Yo te aconsejarĂa poner por ejemplo 4 o 5 hilos para ejecutar todos los mĂłdulos.
El error ese puede ser causado al manejar más hilos de los que soporta.
Un saludo.
-
::
Hola Luismi,
ProbĂ© lo sugerido pero el agente no esta bien.. he puesto 4 threads, 3 threads, 2 threads, rearrancado el agente, pero no se ejecuta normalmente. El numero de modulos ejecutados esta cada vez más bajo… ahora mismo creo que ningun modulo esta ejecutando.. en el log tenemos la lĂnea “Thread creation failed: pthread_create returned 11 at /usr/bin/pandora_agent line 1402.”
Alguna idea? -
::
Buenos dĂas Robas,
Hemos replicado una situación parecida con muchos módulos y con algunos threads y efectivamente se da el mismo comportamiento que describes.
Hemos vuelto ha hacer algunos cambios al demonio del agente de pandora y lo hemos comprobado para el mismo caso, obteniendo buen resultado.
Igual que la vez anterior, para el servicio del agente de pandora y sustituye el demonio que tienes (/usr/bin/pandora_agent y /usr/share/pandora_agent) por el nuevo que subo e inicia de nuevo el agente de pandora.
Cuando lo pruebes nos cuentas.
Saludos.
-