Welcome to Pandora FMS Community!

Find answers, ask questions, and connect with our community around the world.

Welcome to Pandora FMS Community Forums Soporte de la comunidad Problemas al generar agente para windows

  • Problemas al generar agente para windows

    Posted by mario741 on March 6, 2017 at 16:40

    Buenas, estoy tratando de crear un agente personalizado para mis equipos Windows, el problema es que cuando genero el archivo .exe y lo instalo solamente me genera el uninstall.exe en C:/archivos de programa (x84)/pandora_agent.

    He descargado el código fuente desde GitHub y he seguido el .txt para generar el .exe

    (https://github.com/pandorafms/pandorafms/blob/develop/pandora_agents/win32/installer/How_to_create_installer.txt)

    He descargado sin problema el JammerInstall, he replicado la misma estructura de archivos que aparece en el .txt con la salvedad de que los siguientes archivos no estaban y los agregué a mano:

    – PandoraAgent.exe (agregado desde /pandorafms-develop/pandora_agents/pc/win32/)
    – libcurl.dll
    – libeay32.dll
    – zlib1.dll

    Los .dll los descargué de internet.

    Hasta aquí lo he revisado y parece que está todo correcto. He situado todos los archivos dentro de la carpeta creada como “pandora_installer”.

    Ejecuto el JammerInstall, creo un nuevo proyecto indicando el directorio /home/Documentos/pandora_installer, selecciono Modern Wizard y la plataforma de instalación Windows, finalmente en las Features selecciono todas.

    El Jammer me devuelve el .exe sin problema, pero a la hora de instalarlo en Windows, salta la instalación, selecciono el idioma y el tipo de instalación y al finalizar solo tengo en la carpeta el uninstall.exe.

    ¿Estoy obviando algún paso y por eso se produce este fallo?

    Un saludo 😉

    antonio replied 7 years, 11 months ago 2 Members · 9 Replies
  • 9 Replies
  • antonio

    Member
    March 6, 2017 at 19:28
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola mario741,

    Por desgracia la creación de instaladores con Jammer está obsoleta y ya no se utiliza, por lo que no te va a ser posible generar los instaladores personalizados.

    Una opción es crear un fichero pandora_agent.conf genérico y desplegarlo masivamente a tus equipos ya con el agente de pandora instalado.

    Un saludo,
    Antonio.

  • mario741

    Member
    March 6, 2017 at 22:44
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola Antonio, muchas gracias por contestar.

    Entonces no hay manera alguna de crear el agente para Windows? Actualmente tengo varios servers y alguna workstation por lo que sus ficheros .conf me devuelven cosas diferentes. La idea era poder hacerlo desde un inicio como con los paquetes .rpm, por si por algún motivo hubiera que reinstalar los equipos solo haría falta instalar el agente personalizado.

    Un saludo

  • antonio

    Member
    March 7, 2017 at 13:16
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola mario741,

    Actualmente no es posible, el proceso de creación de los .exe ya no está disponible de forma pública. Solo los realizamos a demanda para clientes de la versión Enterprise.

    Un saludo,
    Antonio.

  • mario741

    Member
    March 7, 2017 at 13:47
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Muchas gracias Antonio,

    Miraré entonces la opción de agrupar los pandora_agent.conf en función de equipos y lanzar un script para que los modifique.

    Quería aprovechar también para preguntar una duda. Los agentes SNMP, ¿se podrían agregar mediante un script .sql directamente a la base de datos? Definiendo parámetros como IP, módulos SNMP con sus OIDs correspondientes, grupo al que pertenece el agente etc? De ser así, se visualizarían sin problema desde la consola?

    Es que hasta la fecha he creado dichos agentes desde la consola (la mayoría son equipos Cisco), y he ido agregando diferentes módulos de SNMP para obtener los parámetros a través de sus OIDs

  • antonio

    Member
    March 7, 2017 at 14:52
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola Mario,

    Sí, es posible crear los agentes del modo que comentas directamente sobre la base de datos.

    No obstante, puestos a entrar en scripting, te propongo una alternativa que me parece más sencilla y segura: crear los agentes/módulos a través de un script que utilice el CLI. El CLI es una herramienta de línea de comando que incluye Pandora y te permite hacer una gran cantidad de acciones, puedes echar un ojo a la documentación completa aquí:
    http://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Anexo_CLI

    En alguna ocasión he trabajado con scripts similares para dar de alta agentes o crear módulos con el CLI, como sugerencia, el modo de hacerlo que suelo emplear es pasarle un fichero tipo CSV al script personalizado, y que sea mi script el que haga las llamadas específicas al CLI utilizando los parámetros que recupera en el CSV.

    Haciéndolo de este modo en lugar de directamente sobre la base de datos te garantizas evitar problemas con índices, formato de los campos y cosas parecidas, aunque haciéndolo con cuidado te debería funcionar también sin problema.

    Si crees que te puede servir busco alguno de los que he empleado alguna vez y te lo muestro por aquí, por si te diese ideas.

    Un saludo!

    Antonio.

  • mario741

    Member
    March 7, 2017 at 15:33
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Totalmente de acuerdo contigo Antonio, no había caído en la opción de usar el CLI y un .csv para tener organizada la información.

    Te agradecería mucho si pudieras facilitarme esos scripts 😉

    Un saludo!

  • antonio

    Member
    March 7, 2017 at 16:00
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Este primero es el que utilizaba para insertar agentes como tal:

    #!/bin/bash
    
    if (($# != 1));
    then
    	echo "Usage: insert_agents.sh your_agents.csv";
    	echo "";
    	echo "CSV file format:";
    	echo "agentname,OS,group,server,addr,descr,interval(in seconds)";
    	echo "";
    else
    	export IFS=";";
    
    	cat $1 | while read a b c d e f g;
    
    	do
    		name=$(echo $a);
    		OS=$(echo $b);
    		Grupo=$(echo $c);
    		server=$(echo $d);
    		addr=$(echo $e);
    		descr=$(echo $f);
    		interval=$(echo $g);
    
    
    		pandora_manage /etc/pandora/pandora_server.conf --create_agent "$a" "$b" "$c" "$d" "$e" "$f" "$g"
    
    	done
    fi
    

    Y este otro lo utilizaba para crear masivamente módulos SNMP en políticas. Tendrás que modificarlo ya que las políticas no están disponibles en la versión Open, pero creo que haciendo un par de cambios (sobre todo la función CLI a la que llama) te puede servir para añadir los módulos que necesitas:

    
    if (($# != 2));
    then
    	echo "";
    	echo "Usage: script.sh policy_name modules_file.conf";
    	echo "";
    	echo "The modules_file.conf must look like this:";
    	echo "module_name,module_type,version,community,oid";
    	echo "Example:";
    	echo "  snmp random check,remote_snmp,2c,public,.1.2.43.5.123.68.0.1";
    	echo "";
    else
    	export IFS=",";
    	
    	cat $2 | while read a b c d e;
    
    	do
    		name=$(echo $a);
    		module_type=$(echo $b);
    		version=$(echo $c);
    		community=$(echo $d);
    		oid=$(echo $e);
    		
    		echo "Política: $1";
    		echo "";
    		echo "Módulo:";
    		echo "nombre: $name";
    		echo "tipo: $module_type";
    		echo "version: $version";
    		echo "comunidad: $community";
    		echo "oid: $oid";
    
    		pandora_manage /etc/pandora/pandora_server.conf --create_policy_snmp_module $1 $name $module_type 161 $version $community $oid;
    
    	done
    fi
    

    Ya me cuentas si te va bien.

    Un saludo,
    Antonio.

  • mario741

    Member
    March 7, 2017 at 17:35
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Genial! muchas gracias Antonio. Llevo un ratillo probando el CLI y la verdad es que es lo que más se ajusta a lo que estaba buscando.

    Lo único que estoy teniendo un pequeño inconveniente con los módulos remote_icmp_proc, ya que se ejecutan cada 300 segundos y no reportan la caida de un equipo hasta que se cumple el intervalo.

    De momento he estado probando con estas dos líneas:

    perl pandora_manage.pl /etc/pandora/pandora_server.conf –create_agent ‘prueba’ windows Servers ‘Servidor_Pandora_FMS’ ip_del_equipo ‘Created by Servidor_Pandora_FMS’ 300

    perl pandora_manage.pl /etc/pandora/pandora_server.conf –create_network_module ‘Host Alive’ remote_icmp_proc ‘prueba’ ip_del_equipo ” ‘Descripcion’ ‘Networking’ 0 0 0 300 0 0 0 0 1

    En la segunda línea, después de ip_del_equipo he tenido que meter ” para dejar vacío el campo port, ya que si no ponía nada cogía el ‘0’ como grupo, en vez de Networking. Es como si moviera todos los atributos hacia la derecha.

    Un saludo!

  • antonio

    Member
    March 7, 2017 at 18:35
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Eso es, necesita una serie de parámetros obligatorios, así que si los quieres dejar en blanco tienes que emplear comillas o un 0, según el caso. No recuerdo ahora los parámetros que tiene cada función, pero si cuando creas un módulo no te deja especificar el intervalo, puedes utilizar la función de actualizar módulo para poner el intervalo que necesites. O bien si el agente únicamente va a tener chequeos remotos, establecer su intervalo a un número inferior ya que si no se especifica otra cosa, los chequeos remotos utilizan el intervalo del agente, en este caso 300 segundos.

    Un saludo,
    Antonio.