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 Ejecución de acciones con agents en máquinas monitorizadas

  • Ejecución de acciones con agents en máquinas monitorizadas

    Posted by lambda on February 16, 2010 at 21:21

    Hola,

      me gustaría saber cómo puedo ejecutar acciones a través del agente de pandora en caso de alerta. Por ejemplo:

    * Supongamos que estoy monitorizando el servicio ‘xyz’ en un servidor A que tiene instalado un pandora_agent.
    * En caso de fallo del servicio ‘xyz’ quiero ejecutar una acción en el servidor A (parar el servicio, reiniciarlo, lo que sea).
    * No quiero usar ni ssh, ni otro método de ejecución de comandos remotos, ya que ya he dado acceso al pandora_agent del servidor A en mis firewalls.

    ¿ Cómo le digo al pandora_agent que en caso de que me falle un servicio actúe en consecuencia ?

    Muchas gracias.

    P.D.: Estoy usando Pandora FMS 3.0

    lambda replied 14 years, 9 months ago 3 Members · 6 Replies
  • 6 Replies
  • micky

    Member
    February 17, 2010 at 11:34
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Primero leete el apartado “Sistema de alertas” de la documentación.

    Yo te recomendaría que habilitases el servidor UDP que ofrece pandora porque puedes ordenar paradas / inicio de servicios de una manara bastante sencilla. Tendrías que crear una nueva acción que se ejecute en el momento que tu servicio pase a un estado crítico.

    Y la configuración del servidor UDP la tienes aqui:
    http://www.openideas.info/wiki/index.php?title=Pandora_3.0:Documentation_es:Configuracion#Servidor_UDP

  • lambda

    Member
    February 17, 2010 at 12:28
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    En primer lugar, gracias por tu respuesta, pero tal vez no me haya explicado correctamente:

    Primero leete el apartado “Sistema de alertas” de la documentación.

    Ya he mirado todo el manual y no aparece nada referente a mi pregunta, por lo que he probado preguntando en los foros por que me parece que es una característica que me parece lógico que tenga un sistema de monitorización.

    Yo te recomendaría que habilitases el servidor UDP que ofrece pandora porque puedes ordenar paradas / inicio de servicios de una manara bastante sencilla. Tendrías que crear una nueva acción que se ejecute en el momento que tu servicio pase a un estado crítico.

    Y la configuración del servidor UDP la tienes aqui:
    http://www.openideas.info/wiki/index.php?title=Pandora_3.0:Documentation_es:Configuracion#Servidor_UDP

    El caso es que estoy barajando la monitorización de un despliegue donde tódas las máquinas son debian GNU/Linux (aunque posiblemente se incluya algún Solaris).
    El servidor UDP, por lo que veo no hace referencia ninguna a Linux u otros sistemas UNIX. ¿ Funciona tambien sobre el resto de sistemas ?

    Por otro lado, si tengo que abrir en mis firewall un acceso al servidor UDP de cada agente, prefiero abrir SSH y utilizar claves públicas, ya que por lo menos va cifrado y además puedo ejecutar el comando que yo quiera sin tener que declararlo en el agente (o eso es lo que me ha parecido ver en el enlace que me has pasado).

    Mi pregunta sería, ¿ Cómo configuro desde la Consola de Pandora, que cuando haya una alerta en un servidor monitorizado, se ejecute un comando en dicho servidor ? ya que, polo que he visto hasta ahora, los comandos definidos en la Consola de Pandora se ejecutan en donde esté el servidor de pandora instalado no donde esté el agente software instalado.

  • micky

    Member
    February 17, 2010 at 15:11
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Uf, veo que la cosa esta más complicada.

    Mejor espera a ver que dice algún admin/moderador porque yo llevo poco tiempo con pandora y no me muevo en niveles de seguridad tan estrictos.

    Lo único que se me ocurre es que puedas desarrollar un plugin para agente (ya que se trata de agentes Linux/Solaris) que tu agente ejecute cada cierto tiempo y se encargue de avisar a pandora, y de recuperar el servicio de manera autónoma.

    De todas formas espera a ver que dicen porque no se si es buena o mala idea.

  • lambda

    Member
    February 17, 2010 at 15:14
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Gracias por la contestación, me quedaré a la espera, a ver si me pueden ayudar los profesionales de Panora FMS.

  • suzdal

    Member
    February 18, 2010 at 12:45
    1 Karma
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    ufff… esto es un lío ya.

    quizás haya que hacer una recopilación de ideas y añadirlas en las faq aclarando esto.

    Empezemos:
    – Para sistemas linux (el caso actual):

    En las definiciones de las alertas, cuando se crea el comando para realizar en la acción, los comandos definidos en la Consola de Pandora se ejecutan en donde esté instalada la consola, así pues si quieres hacer algo remoto has de usar el servidor udp o la mejor opción en este caso es usar ssh y enviar las ordenes, ya que siempre puedes hacer un script enviar ficheros con scp y ejecutar remotamente. Cierto es que sea un algo lioso, pero tenéis que ver el lado positivo, pocos sistemas ofrecen esta posibilidad y una vez que tengáis hecho y funcionando la primera alerta, con usar la plantilla y el paso de parámetros de los campos 1,2,3 la propagación y aplicación al resto es inmediata y muy fácil.

    – Para sistemas Windows:
    Si sólo es arrancar un servicio o un programa, usa el servidor UDP.

    Para cosas más complejas, etc…. hay que currarse un vbs, anteriormente ya puse algunos vbs para monitorizar los eventos,
    http://openideas.info/smf/index.php/topic,953.msg4971.html#msg4971
    y para monitorizar los procesos,
    http://openideas.info/smf/index.php/topic,1131.msg5243.html#msg5243
    que pueden ser de utilidad para hacer lo que se comentaba en otro topic que era usar un vbs para monitorizar y actuar en consecuencia si cae.

    Yo os recomendaría que antes de hacer nada, penséis claramente que necesitáis, que queréis (no siempre es lo mismo) y cómo reutilizarlo en plantillas, luego haced un esquema o un esbozo y si tenéis dudas ponerlas aqui.

    Saludos

  • lambda

    Member
    February 18, 2010 at 13:09
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    – Para sistemas linux (el caso actual):

    En las definiciones de las alertas, cuando se crea el comando para realizar en la acción, los comandos definidos en la Consola de Pandora se ejecutan en donde esté instalada la consola, así pues si quieres hacer algo remoto has de usar el servidor udp o la mejor opción en este caso es usar ssh y enviar las ordenes, ya que siempre puedes hacer un script enviar ficheros con scp y ejecutar remotamente. Cierto es que sea un algo lioso, pero tenéis que ver el lado positivo, pocos sistemas ofrecen esta posibilidad y una vez que tengáis hecho y funcionando la primera alerta, con usar la plantilla y el paso de parámetros de los campos 1,2,3 la propagación y aplicación al resto es inmediata y muy fácil.

    Esa alternativa ya la tuve presente siempre, el problema es dar acceso a un servicio más desde el servidor e monitorización lo cual complica las políticas de firewalls. Es mucho más cómodo abrir un puerto en el servidor a todas las máquinas y sean los agentes quienes se conecten a él, no abrir el puerto 22 (ssh) desde el servidor a caa una e las máquinas a monitorizar (ocurre lo mismo con el servidor UDP).
    Además, implicaría distribuir claves públicas y un sistema para gestionarlas (añadir claves, borrarlas, o simplemente cambiarlas).

    Y esto sólo para ejecutar un comando, cuando ya tienes un software instalado en cada máquina con un protocolo que se comunica con el servidor de monitorización.

    Al final me he pasado a Zabbix 1.8, un sistema de monitorización libre que sí que permite esto y muchas otras cosas más.

    Esto concretamente lo puede hacer simplemente con el item: “system.run[command]” ejecutado a través del zabbix_agent.

    Gracias a todos por responder.