Hello Guest

Author Topic: Monitorizar consulta SQL  (Read 210 times)

0 Members and 1 Guest are viewing this topic.

Offline alexz

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Monitorizar consulta SQL
« on: February 21, 2017, 06:31:40 AM »
Hola, quisiera saber si con pandora se pueden monitorizar valores de consultas SQL, me explico, necesito sacar el campo fecha de una base de datos MySQL y que el sistema me notifique o alerte cuando esta cambie, he visto que herramientas como PRTG ofrecen esta función y me preguntaba si podría hacer lo mismo con pandora, porque llevo buscando un tiempo y  no encontré información acerca de esto.

Offline antonio.s

  • Administrator
  • Smart member
  • *****
  • Posts: 343
  • Karma: 5
    • View Profile
Re: Monitorizar consulta SQL
« Reply #1 on: February 23, 2017, 01:31:45 AM »
Hola alexz,

Sí, es posible. Habría varias formas de hacerlo, lo más sencillo te diría que es instalar un agente software en el servidor MySQL y monitorizarlo con este agente. Puedes ejecutar la consulta directamente desde línea de comando en la máquina MySQL y esta misma línea añadirla a un módulo local.

Por ejemplo. Ejecución de query en línea de comando:

Code: [Select]
# mysql -uuser -ppassword -e 'SELECT value FROM tconfig WHERE token = "date"' yourdatabasename
Si funciona correctamente la puedes utilizar en un módulo local, de este modo:

Code: [Select]
module_begin
module_type generic_data
module_name Valor MySQL
module_exec mysql -uuser -ppassword -e 'SELECT value FROM tconfig WHERE token = "date"' yourdatabasename
module_end

Otra forma sería dar permisos a la base de datos MySQL para recibir consultas desde el servidor de Pandora FMS y hacerlas a modo de plugin de servidor. Tendrás que desarrollar un pequeño script para hacerlo. Este boceto podría servirte para hacerte una idea:

Code: [Select]
#!/bin/bash
mysql -h $1 -u$2 -p$3 -e '$4' -D $5

By executing this little script you have to provide as parameters:
$1 -> IP of remote MySQL host
$2 -> username
$3 -> userpass
$4 -> your MySQL query
$5 -> remote database name

Then you can save it as a server plugin and execute queries remotely providing the needed arguments. Take a look at this kind of monitoring here:
http://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring#Monitoring_with_Plug_Ins_.28Server_Plugin.29

Hope this helps.

Kind regards,
Antonio.

Offline alexz

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: Monitorizar consulta SQL
« Reply #2 on: February 23, 2017, 06:45:49 AM »
Gracias Antonio, pero llevo apenas unos dias con pandora y aun voy perdido en algunas cosas, si tengo que instalar el agente en la maquina donde se encuentra la base de datos e implementar el modulo en dicho agente, me podrias pasar alguna guia o explicar un poco como se le añade un modulo a un agente ?

Offline antonio.s

  • Administrator
  • Smart member
  • *****
  • Posts: 343
  • Karma: 5
    • View Profile
Re: Monitorizar consulta SQL
« Reply #3 on: February 23, 2017, 08:21:46 AM »
Claro, puedes echar un ojo a la documentación específica sobre monitorización con agentes de software:

http://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Operacion#Monitorizaci.C3.B3n_con_agente_software

Un saludo,
Antonio.

Offline alexz

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: Monitorizar consulta SQL
« Reply #4 on: February 24, 2017, 04:48:19 AM »
Buenas Antonio, le he hechado un ojo a esa y mas guias, pero al añadir cualquier modulo a la .cfg del agente que esta instalado en la maquina que pretendo monitorizar, este no aparece en la lista de modulos en el agente de la interfaz de pandora, solo aparecen los que vienen por defecto, aparte de añadir los modulos a la .cfg del agente hay que realizar algo mas en el servidor pandora ?

Offline antonio.s

  • Administrator
  • Smart member
  • *****
  • Posts: 343
  • Karma: 5
    • View Profile
Re: Monitorizar consulta SQL
« Reply #5 on: February 24, 2017, 04:57:44 AM »
Hola alexz,

Podrías adjuntar el fichero de configuración del agente aquí para ver si hay algún error en la sintáxis del módulo?

Adicionalmente, has probado que la ejecución manual funcione desde línea de comando?

Si tu módulo tiene un aspecto parecido a este:

Code: [Select]
module_begin
module_type generic_data
module_name Valor MySQL
module_exec mysql -uuser -ppassword -e 'SELECT value FROM tconfig WHERE token = "date"' yourdatabasename
module_end

La prueba sería ejecutar manualmente en línea de comando esto:
Code: [Select]
mysql -uuser -ppassword -e 'SELECT value FROM tconfig WHERE token = "date"' yourdatabasename
Un saludo,
Antonio.

Offline alexz

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: Monitorizar consulta SQL
« Reply #6 on: February 24, 2017, 05:18:56 AM »
Claro, pero el modulo de la consulta SQL aun no lo he probado, primero quiero saber porque no se me inserta ningun otro modulo y he puesto uno de prueba, y otra cosa,el servidor mysql esta montado en windows server, nose si puedria afectar en algo al comando de ejecucion
Code: [Select]
mysql -uuser -ppassword -e 'SELECT value FROM tconfig WHERE token = "date"' yourdatabasename
en powershell creo recordar que no hay un cmdlet o funcion que se llame mysql. Pero aun asi aunque no funcione el comando, el modulo en teoria lo deberia de crear, aunque sea sin inicializarlo.

El .cfg http://pasted.co/3bff3c9a

Gracias, saludos.
« Last Edit: February 24, 2017, 05:41:58 AM by alexz »

Offline antonio.s

  • Administrator
  • Smart member
  • *****
  • Posts: 343
  • Karma: 5
    • View Profile
Re: Monitorizar consulta SQL
« Reply #7 on: February 27, 2017, 12:38:52 AM »
Hola alexz,

Claro, al estar en Windows el comando obviamente cambiará. Si no está en el PATH habrá que llamar al ejecutable MySQL con su ruta completa.

Sobre el módulo, el archivo de configuración parece correcto. Quizá el agente no tiene conectividad con el server. El resto de módulos reportan correctamente o han llegado a reportar en algún momento?

Está el servicio del server (pandora_server) corriendo en el servidor de Pandora?

Está el dataserver activo en su fichero de configuración?
Code: [Select]
dataserver 1
Los otros agentes software están reportando correctamente?

Haz estas comprobaciones y haz un reinicio del server (service pandora_server restart), a ver qué te aparece.

Un saludo,
Antonio.