Pandora FMS community forums
Ejecución de módulo local - Printable Version

+- Pandora FMS community forums (http://pandorafms.org/forum)
+-- Forum: Pandora FMS (http://pandorafms.org/forum/forum-3.html)
+--- Forum: Español / Spanish forum (http://pandorafms.org/forum/forum-8.html)
+--- Thread: Ejecución de módulo local (/thread-12921.html)



Ejecución de módulo local - elias.manchon - 02-18-2019

Buenas tardes,

Estoy intentando crear un módulo local usando curl para chequear la disponibilidad de un site, el ejemplo que he montado es el siguiente:
Code:
# Check URL
module_begin
module_name URL_Check
module_type generic_data_string
module_exec curl --output /dev/null --write-out "%{http_code}" --silent www.google.es
module_description URL Check
module_end

Si ejecuto el comando en consola, da un status de 200, pero en la consola de Pandora, el código anterior no devuelve nada, es decir no veo el módulo URL_Check.

Alguien me puede echar una mano? Que he pasado por alto?.

Gracias.


RE: Ejecución de módulo local - jose.almendros - 02-18-2019

(02-18-2019, 02:29 PM)elias.manchon Wrote: Buenas tardes,

Estoy intentando crear un módulo local usando curl para chequear la disponibilidad de un site, el ejemplo que he montado es el siguiente:
Code:
# Check URL
module_begin
module_name URL_Check
module_type generic_data_string
module_exec curl --output /dev/null --write-out "%{http_code}" --silent www.google.es
module_description URL Check
module_end

Si ejecuto el comando en consola, da un status de 200, pero en la consola de Pandora, el código anterior no devuelve nada, es decir no veo el módulo URL_Check.

Alguien me puede echar una mano? Que he pasado por alto?.

Gracias.

Buenas tardes elias.manchon,

Entiendo que has creado ese módulo en un agente software, debería funcionar correctamente tal cual está. ¿Se crea alguna entrada en el log del agente respecto a este módulo?

Por otro lado, si lo que quieres comprobar es la disponibilidad de un chequeo web, te recomiendo que lo hagas así:

module_begin
module_name Chequeo
module_type generic_proc
module_exec curl -Is www.google.es | grep "200 OK" | wc -l
module_end

De esta manera no te tratará la salida como un string, si no como un booleano y te será más fácil trabajar con ella.

Un saludo


RE: Ejecución de módulo local - elias.manchon - 02-18-2019

(02-18-2019, 03:38 PM)jose.almendros Wrote:
(02-18-2019, 02:29 PM)elias.manchon Wrote: Buenas tardes,

Estoy intentando crear un módulo local usando curl para chequear la disponibilidad de un site, el ejemplo que he montado es el siguiente:
Code:
# Check URL
module_begin
module_name URL_Check
module_type generic_data_string
module_exec curl --output /dev/null --write-out "%{http_code}" --silent www.google.es
module_description URL Check
module_end

Si ejecuto el comando en consola, da un status de 200, pero en la consola de Pandora, el código anterior no devuelve nada, es decir no veo el módulo URL_Check.

Alguien me puede echar una mano? Que he pasado por alto?.

Gracias.

Buenas tardes elias.manchon,

Entiendo que has creado ese módulo en un agente software, debería funcionar correctamente tal cual está. ¿Se crea alguna entrada en el log del agente respecto a este módulo?

Por otro lado, si lo que quieres comprobar es la disponibilidad de un chequeo web, te recomiendo que lo hagas así:

module_begin
module_name Chequeo
module_type generic_proc
module_exec curl -Is www.google.es | grep "200 OK" | wc -l
module_end

De esta manera no te tratará la salida como un string, si no como un booleano y te será más fácil trabajar con ella.

Un saludo

Buenas tardes y gracias por responder.

He cambiado la línea de module_exec por la que me has dicho y ahora funciona correctamente.

Muchas gracias y un saludo.


RE: Ejecución de módulo local - elias.manchon - 02-21-2019

(02-18-2019, 03:38 PM)jose.almendros Wrote:
(02-18-2019, 02:29 PM)elias.manchon Wrote: Buenas tardes,

Estoy intentando crear un módulo local usando curl para chequear la disponibilidad de un site, el ejemplo que he montado es el siguiente:
Code:
# Check URL
module_begin
module_name URL_Check
module_type generic_data_string
module_exec curl --output /dev/null --write-out "%{http_code}" --silent www.google.es
module_description URL Check
module_end

Si ejecuto el comando en consola, da un status de 200, pero en la consola de Pandora, el código anterior no devuelve nada, es decir no veo el módulo URL_Check.

Alguien me puede echar una mano? Que he pasado por alto?.

Gracias.

Buenas tardes elias.manchon,

Entiendo que has creado ese módulo en un agente software, debería funcionar correctamente tal cual está. ¿Se crea alguna entrada en el log del agente respecto a este módulo?

Por otro lado, si lo que quieres comprobar es la disponibilidad de un chequeo web, te recomiendo que lo hagas así:

module_begin
module_name Chequeo
module_type generic_proc
module_exec curl -Is www.google.es | grep "200 OK" | wc -l
module_end

De esta manera no te tratará la salida como un string, si no como un booleano y te será más fácil trabajar con ella.

Un saludo

Buenas tardes,

El módulo que he creado funciona:

Code:
module_begin
module_name HdlService
module_type generic_data
module_exec curl -s http://localhost:8090/Service.svc | grep "Servicio de Prueba" | wc -l
module_description Check Availability of HdlService
module_end

Se supone que cuando "curl" devuelve 0, debería de pasar ha estado crítico, pero esto no ocurre. He probado a ponerlo de esta forma:

Code:
module_begin
[size=small][font=Monaco, Consolas, Courier, monospace]module_name Hd[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]l[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]Service[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]module_type generic_data[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]module_exec curl -s http://localhost:8090/[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]Service.svc | grep "Servicio de Prueba[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]" | wc -l[/font][/size]
module_description Check Availability of HdlService
module_min_critical 0
module_max_critical 0
module_end

Pero tampoco funciona..., no pasa a crítico cuando el valor devuelto por curl es 0

Que estoy haciendo mal?

Gracias.


RE: Ejecución de módulo local - alberto.sanchez - 02-22-2019

(02-21-2019, 03:04 PM)elias.manchon Wrote:
(02-18-2019, 03:38 PM)jose.almendros Wrote:
(02-18-2019, 02:29 PM)elias.manchon Wrote: Buenas tardes,

Estoy intentando crear un módulo local usando curl para chequear la disponibilidad de un site, el ejemplo que he montado es el siguiente:
Code:
# Check URL
module_begin
module_name URL_Check
module_type generic_data_string
module_exec curl --output /dev/null --write-out "%{http_code}" --silent www.google.es
module_description URL Check
module_end

Si ejecuto el comando en consola, da un status de 200, pero en la consola de Pandora, el código anterior no devuelve nada, es decir no veo el módulo URL_Check.

Alguien me puede echar una mano? Que he pasado por alto?.

Gracias.

Buenas tardes elias.manchon,

Entiendo que has creado ese módulo en un agente software, debería funcionar correctamente tal cual está. ¿Se crea alguna entrada en el log del agente respecto a este módulo?

Por otro lado, si lo que quieres comprobar es la disponibilidad de un chequeo web, te recomiendo que lo hagas así:

module_begin
module_name Chequeo
module_type generic_proc
module_exec curl -Is www.google.es | grep "200 OK" | wc -l
module_end

De esta manera no te tratará la salida como un string, si no como un booleano y te será más fácil trabajar con ella.

Un saludo

Buenas tardes,

El módulo que he creado funciona:

Code:
module_begin
module_name HdlService
module_type generic_data
module_exec curl -s http://localhost:8090/Service.svc | grep "Servicio de Prueba" | wc -l
module_description Check Availability of HdlService
module_end

Se supone que cuando "curl" devuelve 0, debería de pasar ha estado crítico, pero esto no ocurre. He probado a ponerlo de esta forma:

Code:
module_begin
[size=small][font=Monaco, Consolas, Courier, monospace]module_name Hd[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]l[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]Service[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]module_type generic_data[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]module_exec curl -s http://localhost:8090/[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]Service.svc | grep "Servicio de Prueba[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]" | wc -l[/font][/size]
module_description Check Availability of HdlService
module_min_critical 0
module_max_critical 0
module_end

Pero tampoco funciona..., no pasa a crítico cuando el valor devuelto por curl es 0

Que estoy haciendo mal?

Gracias.

Buenos días elias.manchon,

Prueba a cambiar el tipo de modulo a  generic_proc.

Alberto


RE: Ejecución de módulo local - elias.manchon - 02-25-2019

(02-22-2019, 12:25 PM)alberto.sanchez Wrote:
(02-21-2019, 03:04 PM)elias.manchon Wrote:
(02-18-2019, 03:38 PM)jose.almendros Wrote:
(02-18-2019, 02:29 PM)elias.manchon Wrote: Buenas tardes,

Estoy intentando crear un módulo local usando curl para chequear la disponibilidad de un site, el ejemplo que he montado es el siguiente:
Code:
# Check URL
module_begin
module_name URL_Check
module_type generic_data_string
module_exec curl --output /dev/null --write-out "%{http_code}" --silent www.google.es
module_description URL Check
module_end

Si ejecuto el comando en consola, da un status de 200, pero en la consola de Pandora, el código anterior no devuelve nada, es decir no veo el módulo URL_Check.

Alguien me puede echar una mano? Que he pasado por alto?.

Gracias.

Buenas tardes elias.manchon,

Entiendo que has creado ese módulo en un agente software, debería funcionar correctamente tal cual está. ¿Se crea alguna entrada en el log del agente respecto a este módulo?

Por otro lado, si lo que quieres comprobar es la disponibilidad de un chequeo web, te recomiendo que lo hagas así:

module_begin
module_name Chequeo
module_type generic_proc
module_exec curl -Is www.google.es | grep "200 OK" | wc -l
module_end

De esta manera no te tratará la salida como un string, si no como un booleano y te será más fácil trabajar con ella.

Un saludo

Buenas tardes,

El módulo que he creado funciona:

Code:
module_begin
module_name HdlService
module_type generic_data
module_exec curl -s http://localhost:8090/Service.svc | grep "Servicio de Prueba" | wc -l
module_description Check Availability of HdlService
module_end

Se supone que cuando "curl" devuelve 0, debería de pasar ha estado crítico, pero esto no ocurre. He probado a ponerlo de esta forma:

Code:
module_begin
[size=small][font=Monaco, Consolas, Courier, monospace]module_name Hd[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]l[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]Service[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]module_type generic_data[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]module_exec curl -s http://localhost:8090/[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]Service.svc | grep "Servicio de Prueba[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]" | wc -l[/font][/size]
module_description Check Availability of HdlService
module_min_critical 0
module_max_critical 0
module_end

Pero tampoco funciona..., no pasa a crítico cuando el valor devuelto por curl es 0

Que estoy haciendo mal?

Gracias.

Buenos días elias.manchon,

Prueba a cambiar el tipo de modulo a  generic_proc.

Alberto

Hola Alberto,

Funcionando!!

Gracias.