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 crear un módulo porcentaje a partir de otros dos módulos

  • Como crear un módulo porcentaje a partir de otros dos módulos

    Posted by jjfernandez on July 11, 2012 at 21:35

    Hola, estoy interesado en crear un módulo para que me informe del nivel restante (en porcentaje) de toner que queda en una impresora. Vía snmp he sido capaz de obtener el nivel restante (en entero) y la capacidad máxima del toner (dependiendo del toner esta capacidad no es constante). Cómo puedo obtener con estos dos módulos un tercero que me de el porcentaje y así poder crear una alarma.

    gracias

    miguepaz replied 5 years, 7 months ago 4 Members · 13 Replies
  • 13 Replies
  • jartal

    Member
    July 12, 2012 at 11:32
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola buenos días.

    Existe un modulo que te permite guardar el valor del modulo en una variable para después poder utilizarlo en otro módulo y así poder utilizar el valor de un módulo en otro. Supongo que esto es lo que quieres, al módulo hay que ponerle el apartado “module_save ” y después en el otro módulo utilizas la variable generada del módulo anterior en el “module_exec”

    Aquí  tienes la documentación donde te lo explica todo.

    http://www.openideas.info/wiki/index.php?title=Pandora:Documentation_es:Configuracion#module_save_.3Cnombre_de_variable.3E

    Un Saludo.

  • jjfernandez

    Member
    July 12, 2012 at 13:13
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Si y no. Te comento. Yo quiero saber el nivel de tinta (%) que me queda en un cartucho de la impresora. Vía snmp y oid he podido conseguir la capacidad máxima y el nivel restante (todo en unidades de la impresora). Entonces lo que quiero hacer es dividir el nivel restante entre la capacidad máxima y multiplicarlo por 100 (no se como poner esto en el postproceso). Como es una impresora, no tengo agente software y es esa operación matemática la que no se como hacer.

  • jartal

    Member
    July 12, 2012 at 14:40
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola.

    Pues lo único que se me ocurre es que ejecutes un script sh en la que realice las consultas snmpget y la guarde en dos variables diferentes y a partir de ahí que te devuelva un único valor con el resultado de la operación.

    Después crear un complemento desde la consola con ese script y se lo añades al agente que quieras.

    Yo utilizo mucho este método cuando no consigo extraer la información exacta que quiero que salga.

    Cualquier cosa no dudes en preguntar 🙂

    Un Saludo.

  • jjfernandez

    Member
    July 12, 2012 at 14:53
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Muchas gracias, el problema es que no se como crear ese script ni dónde lo tengo que cargar. Al final lo he puesto en el postproceso confiando que cuando cambie de toner, la capacidad máxima sea la misma, sino me tocará de nuevo cambiar el postproceso.

    Pero si me puedes indicar como sería el script y dónde debería ir de lo agradecería.

    Saludos y gracias

  • jartal

    Member
    July 12, 2012 at 14:55
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Ok pues voy a pensarlo como hacerlo y cuando lo tenga mas o menos te lo paso y te digo como ponerlo y hacerlo funcionar.

    Un Saludo

  • jartal

    Member
    July 12, 2012 at 16:12
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola jjfernandez:

    Te adjunto el script que he hecho para ver si te funciona (tienes que modificarlo un poco para poder obtener los datos de las consultas snmp)

    Antes de nada comprueba que una vez que los has modificado funciona correctamente ejecutándolo desde línea de comandos.

    
    [root@- plugins-sh]# sh toner.sh
    
    

    Cuando funcione correctamente sigue los siguientes pasos.

    1- Lleva el fichero a otro directorio para tenerlo localizado. (ej. “/usr/share/pandora_server/util/plugin”

    2- En la consola web accede a “Administracion->Gestionar servidores->Gestionar Complementos” y dale a Añadir

    3- En “Nombre” pon el nombre que quieras (ej. Plugin toner)
      – En “Comando del complemento” pon “/usr/share/pandora_server/util/plugin/toner.sh” (en el caso de que lo hallas puesto ahi, sino la ruta donde esté el script)
      – Lo demás lo puedes dejar en blanco y le das a crear.

    4- Ahora tienes que añadir un modulo al agente de tipo “servidor de complementos” (plugin server) y le das a crear

    5- En “Nombre” le pones el nombre del modulo que quieras
      – En tipo: “Generic numeric”
      – En Complemento eliges el plugin que acabamos de crear (en mi caso Plugin toner)
      – Le pones la IP si no la tiene ya (deberia de estar) y le das a crear.

    Esperas a que genere los datos y poco despues debería de darte el valor que obtuviste desde linea de comandos.

    Y ya está 🙂

    Espero haberme explicado bien, si tienes alguna duda comentamelo.

    Un Saludo

  • jjfernandez

    Member
    July 12, 2012 at 16:42
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola, ya lo he modificado pero al probarlo me dice que no se envuentran los comandos.

    Te adjunto fichero modificado y pantalla de error.

    Gracias

  • luismi

    Member
    July 12, 2012 at 16:49
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola jjfernandez,

    Es mucho más fácil, siempre que estés utilizando la versión 4.x de Pandora FMS, mediante los módulos sintéticos. Te pego la dirección de la documentación online donde se explican:


    http://www.openideas.info/wiki/index.php?title=Pandora:Documentation_es:Monitorizacion_otra#Monitorizaci.C3.B3n_con_m.C3.B3dulos_sint.C3.A9ticos

    Tendrás que activar el servidor de predicción en el conf del servidor (predictionserver) y crear un nuevo módulo de predicción que haga la división de la capacidad máxima y el nivel restante y luego multiplicarle un valor de 100.

    Un saludo.

  • jjfernandez

    Member
    July 12, 2012 at 17:25
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola, tengo la versión 4.0.2, pero no la enterprise.

    Saludos

  • luismi

    Member
    July 12, 2012 at 19:37
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Cierto, el prediction server es Open pero la feature de los módulos sintéticos no.

    Salu2

  • jartal

    Member
    July 16, 2012 at 11:57
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola jjfernandez.

    Te vuelvo a pasar el .sh que en principio ya funciona, no es necesario que cambies nada ya que está con la ip de tu impresora, yo lo he probado con las mías y si que me funciona.

    Cualquier duda coméntamela.

    Un Saludo

  • jjfernandez

    Member
    July 16, 2012 at 12:00
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Muchas gracias.

  • miguepaz

    Member
    July 11, 2019 at 14:53
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    ¿Es posible poder ver ese script de nuevo?