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 Como utlizar tus propios scripts en nuevos módulos para win

  • Como utlizar tus propios scripts en nuevos módulos para win

    Posted by IzanRLucas on November 8, 2007 at 15:37

    Hola, encuentro muy útil la posibilidad de extraer la información que necesites de la máquina mediante tus propios scripts en el archivo pandora_user.conf y pintar el xml a mano mediante echos. Quisiera saber si existe la posibilidad de realizar algo parecido en windows. Con la API ofrecida para los módulos es posible ejectutar un comando en la línea de tares mediante module_exec ********.

    1. Sería posible ejecutar el script mediante module_exec mi_script??
    2. Para que funcionara, el script debería, al final, simplemente devolver el resultado mediante la salida estandar???
    3. Deberíamos colocar el script en una carpeta en particular para poder ejecutarlo así.
    4. Que lenguaje de scripting podríamos utilizar para esto??

    Muchisimas gracias.

    Sancho replied 17 years ago 3 Members · 2 Replies
  • 2 Replies
  • steve-o

    Member
    November 23, 2007 at 14:06
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    1. Sería posible ejecutar el script mediante module_exec mi_script??

    Sí, es posible. Tienes unas herramientas clásicas de unix (cut, grep, tr, etcétera..) en la carpeta “util” en el directorio donde está instalado el agente de Pandora.

    2. Para que funcionara, el script debería, al final, simplemente devolver el resultado mediante la salida estandar???

    Sí, lo que salga por la salida estandar será lo que se envíe. Puedes usar pipes “|” como se hace en Unix para encadenar salidas de comandos con entradas de otros, ya que la shell de MS-DOS de Windows lo permite.

    3. Deberíamos colocar el script en una carpeta en particular para poder ejecutarlo así.

    No, siempre que esté en el path del sistema. Pueder poner la ruta completa al ejecutable. Si prefieres también lo puedes poner en la carpeta “util”.

    4. Que lenguaje de scripting podríamos utilizar para esto??

    Cualquiera. Piensa que se ejecutan programas de MS-DOS. Nada te impide llamar a un intérprete de un lenguaje (por ejemplo Python o Perl) pasándole como parámetro el nombre de un script que hayas escrito en ese lenguaje. Las posibilidades son infinitas 🙂

    Ejemplos de todos lo hablado, no los he probado y quizás no funcionen exáctamente como se proponen, así que si es así perdona 😛 Tambíen habría más formas de hacer las cosas, por supuesto.

    # Contar los ficheros que tengan una letra “a” en c:
    # grep y wc están en el directorio “util”
    module_exec dir c: | grep “*a*” | wc -l

    # Ejecutar un comando en otra ruta
    # Si la ruta tiene espacios, hay que entrecomillarla
    module_exec “c:archivos de programaprogramaejecutable.exe” –parametros –de configuracion

    # Teniendo python instalado puedes ejecutarlo con un script
    # Suponiendo que python.exe no esté en el path
    module_exec c:PYTHONpython.exe “c:Mis Documentosscript.py”

    Recuerda: La salida estandar es lo que se enviará.

    Un saludo!

  • Sancho

    Administrator
    November 26, 2007 at 17:17
    2229 Karma points
    Community awards: bulb Bright ideas
    Community rank: tentacle_master_icon Tentacle Master
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola, encuentro muy útil la posibilidad de extraer la
    4. Que lenguaje de scripting podríamos utilizar para esto??

    Muchisimas gracias.

    Añadir que tb puedes usar vbscript (nativo desde win2000 sp2) lo que te da acceso fácil a WMI y a obtener mucha informacion de bajo nivel a través de un sencillo lenguage de scripting.

    Por ejemplo, también podrias usar scripts en PHP a través del interprete de consola de PHP.

    Y claro está, cualquier ejecutable que te hayas compilado con visual studio, bc++, delphi o otro lenguage.