Comunidad Tutorial

Crear dashboards en Grafana con datos de Pandora FMS en 3 pasos

enero 14, 2020

Crear dashboards en Grafana con datos de Pandora FMS en 3 pasos

El post está disponible también en : Inglés Francés

¿Sabes cómo hacer dashboards en Grafana con datos de Pandora FMS? ¡Descúbrelo aquí!

En el blog de Pandora FMS ya hablamos antes sobre qué es Grafana, explicamos en qué consistía y cómo se relacionaba con otros software. Ahora vamos un poco más allá y queremos enseñarte cómo crear dashboards de Grafana con los datos suministrados por Pandora FMS.

Es innegable que esta herramienta goza del apoyo de una gran comunidad de usuarios, debido a la versatilidad que ofrece para utilizar distintos orígenes de datos que mostrar en sus paneles.

Y como no podía ser de otra forma, hemos querido ofrecer a nuestros usuarios de Pandora FMS la posibilidad de mostrar los datos de monitorización a través de dashboards de Grafana. Es por ello que hoy os traemos una sencilla guía para lograrlo.

¿Qué necesitamos para crear dashboards en Grafana con datos de Pandora FMS?

Pues, por evidente que parezca, necesitaremos tener al menos una instalación de Pandora FMS ya funcionando. Esta integración nos permitirá representar los datos obtenidos a través de módulos de Pandora FMS en los dashboards de Grafana. Para los ejemplos que pondremos, usaremos como base una instalación estándar de Pandora FMS a partir de la ISO oficial.

También necesitaremos contar con nuestro propio servidor de Grafana, por supuesto, ya que a fin de cuentas será donde configuremos los paneles que mostrarán los datos.

Y como requisito de comunicación, solo tendremos que asegurarnos de que el servidor de Grafana tenga habilitada la comunicación por HTTP (o HTTPS, si lo hemos configurado así) con nuestra consola de Pandora FMS. En nuestro caso, toda la comunicación irá sobre HTTP.

dashboard grafana 1

Configurar la integración en 3 pasos

Como dice el título de este mismo apartado, solo son necesarios 3 pasos para tener en funcionamiento esta integración.

1) Añadiendo la extensión de Pandora FMS

Lo primero de todo será cargar en nuestra consola de Pandora FMS la extensión que nos permitirá obtener los datos a representar en los dashboard de Grafana.

Para ello, solo tendremos que descargar el paquete ZIP que podemos encontrar en nuestra librería y subirlo a la consola de Pandora FMS desde el menú: Admin tools > Extension manager > Extension uploader:

dashboard grafana 2

Es importante no marcar la opción de “Upload enterprise extension”.

En definitiva, lo que estamos haciendo es ubicar el contenido del fichero ZIP en el directorio de extensiones de la consola de Pandora FMS, lo que resultará en la creación del directorio:

/var/www/html/pandora_console/extensions/grafana

Si, como en nuestro caso, la instalación parte de una ISO de Pandora FMS, también será necesario modificar un parámetro de la configuración del servidor Apache.

Basta con editar el fichero /etc/httpd/conf/httpd.conf, y poner el parámetro “AllowOverride none” como “AllowOverride All”, dentro de las directivas del bloque ‘<directory “/var/www/html”>’ ya que es donde se ubica nuestra consola de Pandora FMS. Tendría que quedar por lo tanto de esta manera:

<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All

#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>

También añadiremos un parámetro en la configuración de PHP. Tendremos que agregar la siguiente línea al final del fichero /etc/php.ini:

serialize_precision = -1

Y para que estos cambios tengan efecto se debe reiniciar el servicio de Apache:

systemctl restart httpd

2) Cargando el plugin de Pandora FMS para Grafana

Ya tenemos listo el lado de Pandora FMS; falta incluir en Grafana el plugin que consulte los datos a la extensión cargada en el paso anterior.

Tendremos que subir al servidor de Grafana el fichero ZIP con todos los ficheros del plugin y ubicarlo en la ruta “/var/lib/grafana/plugins”. Descomprimimos el fichero en esta ruta con el comando “unzip” y reiniciamos el servicio de Grafana para que lo cargue:

cd /var/lib/grafana/plugins
unzip pandorafms_grafana_datasource.zip
service grafana-server restart

3) Configurando Pandora FMS como origen de datos de los dashboard de Grafana

Ya casi hemos terminado, ¡que no cunda el pánico! En este punto lo que tenemos que hacer es configurar el plugin subido en Grafana para que se conecte con la extensión cargada en Pandora FMS y nos permita usar sus datos en los dashboard de Grafana.

Tenemos que acceder en Grafana al menú “Configuration > Datasources” y hacer click en el botón “Add datasource”:

dashboard grafana 3

Nos aparecerán distintos plugins que podremos configurar, y en la parte inferior del listado veremos el plugin que acabamos de cargar para Pandora FMS. Hacemos click en él:

dashboard grafana 4

Esto nos llevará a un formulario donde solo necesitaremos rellenar 3 campos para la conexión con la extensión de Pandora FMS:

  • URL a la extensión, que de acuerdo a la sugerencia que veremos será (por defecto) “http://x.x.x.x/pandora_console/extensions/grafana”, siendo “x.x.x.x” la dirección IP o nombre DNS a nuestra consola de Pandora FMS.
  • Usuario de Pandora FMS, el cual nos permitirá obtener los datos para los dashboards de Grafana. Este usuario debe tener al menos permisos de lectura de agentes (AR) y solo podrá obtener los datos de aquellos agentes sobre los que tenga permisos.
  • Contraseña del usuario de Pandora FMS.

Con estos campos completados, podremos hacer click en el botón “Save & Test” para verificar el funcionamiento de nuestro nuevo origen de datos:

dashboard grafana 5

¿Qué pasa si no funciona correctamente? En configuración podríamos ver distintos errores, como por ejemplo:

  • HTTP Error Bad Gateway → Si Grafana no pudiese conectarse con Pandora FMS o si la dirección IP indicada fuese incorrecta.
  • HTTP Error Not Found → Si la URL indicada no fuese correcta, por ejemplo porque la extensión de Pandora FMS no se hubiese cargado correctamente o simplemente por un error al escribir la URL en el formulario.
  • Datasource connection error: Unauthorized → Si el usuario y/o contraseña indicados no fuesen correctos o si el usuario no tuviese los permisos mínimos de lectura de agentes (AR).

Pero si has seguido todos los pasos hasta este punto, no deberías encontrarte problemas. Ya estás listo para crear tu primer dashboard en Grafana con datos de monitorización de Pandora FMS.

Crear el primer dashboard en Grafana con datos de Pandora FMS

Aunque ya hemos terminado con la configuración de Pandora FMS como origen de datos, vamos a ver brevemente cómo funcionaría.

Primero tenemos que ir al menú “Create > Dashboard”, y en el panel que nos aparecerá hacer click en el botón “Add query”:

dashboard grafana 6

Esto nos llevará a un formulario donde, en el desplegable “Query”, elegiremos nuestro origen de datos de “Pandora FMS”. Esto hará que la parte inferior del formulario cambie y veamos una consulta para elegir un módulo del que mostrar los datos en el panel:

  • Label: Nos permitirá indicar la etiqueta que queramos que tengan los datos representados para esta consulta.
  • Group: Lo usaremos para filtrar el agente del que representar los datos. Es necesario indicar algún grupo.
  • Agent: Lo usaremos para filtrar el módulo del que representar los datos. Es necesario indicar algún agente.
  • Module: Lo usaremos para indicar exáctamente el módulo del que representar los datos.
  • TIP: Se trata de un campo que nos permitirá indicar si los datos a representar irán compactados o no. Si no se marca, los datos se compactarán, lo que resultará en gráficas más fáciles de interpretar y rápidas de cargar, aunque la muestra de datos no será la real sino más bien una media de los mismos.

Y con esto ya tendríamos nuestros primeros datos de Pandora FMS en Grafana.

Podemos incluir más de una consulta en un mismo panel, lo que nos permite comparar los datos de distintos módulos:

dashboard grafana 7

Y también podemos añadir más paneles dentro de un mismo dashboard de Grafana, de modo que tengamos en una misma pantalla toda la información necesaria:

dashboard grafana 8

Esperamos que os haya resultado útil esta guía, y no dudéis en consultar otros artículos interesantes en nuestro blog. Además, también podéis ver este estupendo vídeo sobre la integración de Grafana con la monitorización de Pandora FMS.

Antes de despedirnos, recuerda que puedes conocer mucho más acerca de Pandora FMS entrando aquí.

Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con el equipo de Pandora FMS a través del siguiente formulario.

Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí.

No dudes en enviar tus consultas. ¡El equipo de Pandora FMS estará encantado de atenderte!


Written by:



12 comments
  1. Avatar

    raul

    DESPUÉS DE TODO ME QUEDO EN ESTE PASO "os aparecerán distintos plugins que podremos configurar, y en la parte inferior del listado veremos el plugin que acabamos de cargar para Pandora FMS. Hacemos click en él:" SALIENDOME ESTE ERROR: Error: Error loading CSS file. Instantiating http://miip:3000/public/plugins/pandorafms-datasource/css/query-editor.css!http://miip:3000/public/vendor/plugin-css/css.js Loading http://miip:3000/public/plugins/pandorafms-datasource/query_ctrl.js Loading plugins/pandorafms-datasource/module Data Source Error ¿ME PODEIS AYUDAR?

  2. Avatar

    FredySnake

    Hola Buen Dia Primero que todo muchas Gracias por el tuto. Tengo un inconveniente a la hora de crear una query, con el simple hecho de dar click sobre, Add Query me saca un error en la parte superior izquierda. (Query error: 404 Not Found), al desplegarlo me sale lo siguiente: Object state:"Error" series:Array[0] request:Object requestId:"Q128" timezone:"" panelId:2 dashboardId:null range:Object timeInfo:undefined interval:"30s" intervalMs:30000 targets:Array[1] maxDataPoints:800 scopedVars:Object cacheTimeout:undefined startTime:1579550150801 rangeRaw:Object adhocFilters:Array[0] timeRange:Object from:p to:p raw:Object error:Object data:" 404 Not Found Not Found The requested URL /pandora_console/extensions/grafana/query was not found on this server. " status:404 headers:function(n){…} config:Object statusText:"Not Found" xhrStatus:"complete" message:"Query error: 404 Not Found" Agradezco me puedan dar una luz. Muchas Gracias

  3. Avatar

    FredySnake

    al intentar ingresar al plugin de grafana (No se si sea posible) me marca este error: {"code":401,"message":"Unauthorized"} Es decir con la url del Pandora: http://IP/pandora_console/extensions/grafana

  4. Avatar

    FredySnake

    Buen Dia. Listos muchachos ya lo solucione, mil disculpas, coloque el All en el archivo de httpd donde no era. le di buscar y al primero que me salio lo cambie. Muchas Gracias

  5. Avatar

    Enrique Martín

    Hola Fredysnake, nos alegramos de ver que has podido solucionarlo. Es importante la configuración del servicio "httpd" en Pandora, ya que sin ella no leerá el fichero ".htaccess" de la extensión y por lo tanto no formateará las URLs al formato que necesita Grafana para obtener los datos.

  6. Avatar

    Juanra

    Buenas. Algun manual para la configuracion si se hace en un Ubuntu? Hay que cambiar algo en los ficheros que indicais? (php.ini, apache2.conf....) Gracias

  7. Avatar

    Enrique Martín

    Hola Juanra, los cambios que se puedan necesitar serían los mismo que se indican en la guía para Ubuntu, teniendo en cuenta como indicas que el fichero de configuración del Apache se encontrará en otra ruta. En ese sentido sería equivalente: /etc/httpd/conf/httpd.conf => /etc/apache2/apache2.conf

  8. Avatar

    Raul Figueroa

    Hola Buenas tardes, La verdad ya estaba esperando desde hace mucho tiempo este plugin y apenas me voy enterando de su maravillosa existencia :). Sin embargo e tratado de conectarlo y me es imposible hacerlo siempre manda el mismo error: {"code":401,"message":"Unauthorized"} Ya revise el cambio de permisos sobre httpd para el directorio /var/www/html y modificar el valor en AllowOverride All asi como en php.ini en /etc/php.ini en serialize_precision = -1 Pero siempre que intento relizar la conexion desde Grafana arroja el mismo error. Tendran más documentación al respecto? ojala me puedan ayudar con esto por favor! Saludos a tod el equipode Artica

  9. Avatar

    Enrique

    Hola Raul, puede ocurrir que hayas configurado el "datasource" con unas credenciales no válidas. Prueba a borrar la configuración del datasource completamente y agregarla de nuevo. Hemos visto en ocasiones que Grafana por algún motivo no recoge bien los cambios en la configuración del "datasource" para la prueba al usar el botón de "Save and test", pero aún así los cambios quedan registrados correctamente, por lo que si se intenta agregar una "query" funciona correctamente.

  10. Avatar

    Raul Figueroa

    Hola Enrique, Muchas gracias por tu pronta respuesta, Hay dos cosas con las pruebas que me indicaste: 1 .- Por lo que he entendido a tu respusta, realice lo siguiente: a. borre completamente el data source de Pandora en el servidor de grafana en la siguiente ruta: /var/lib/grafana/plugins/pandora-fms/ rm -rf /var/lib/grafana/plugins/pandora-fms b. Posterior a esto reinicie Grafana server: systemctl restart grafana-server.service c. Descomprimi de nuevo el datasource de Pandora en la misma ruta: unzip pandorafms_grafana_datasource.zip Esto nos crea de nuevo el directorio del datasource: pandora-fms, posterior a esto reinicio de nuevo Grafana server: systemctl restart grafana-server.service d. Después realizo una conexion completamente limpia en el sevidor de Grafana, y me sigue indicando el mismo error: {"code":401,"message":"Unauthorized"} -- sin embargo es esta ocación como indicas! al parecer realiza la conexión y el Datasource de Pandora ya aprece en la lista. Trato de mandar a llamar los siguientes datos: Group: OK se muestran los grupos que tengo en Pandora Agent: OK Muestra los agentes relacionados a los grupos Module: OK Muestra los modulos de agente relacionado en agentes Sin embargo cuando selecciono el módulo debería comenzar a mostrar info en la grafica y no lo hace, te comarto una imagen de esto para que lo valides: https://i.ibb.co/y5vbgw9/Pandora-on-Grafana-error.png 2.- he revisado el log del servidor en Grafana en la siguiente ruta: /var/log/grafana/grafana.log tail -f -n 20 /var/log/grafana/grafana.log y arroja el siguiente error: t=2020-05-21T16:09:29-0500 lvl=eror msg="Failed to start plugin" logger=plugins.backend pluginId=pandorafms-datasource error="fork/exec /var/lib/grafana/plugins/pandora-fms/pandorafms-datasource_linux_amd64: no such file or directory" por lo que veo esta buscando el archivo: pandorafms-datasource_linux_amd64 -- pero este archivo no existe en zip = pandorafms_grafana_datasource.zip = https://pandorafms.com/library/grafana-datasource-extension/ Te comaparto error: https://i.ibb.co/g9Sghsr/tail-log-grafana.png Espero me puedas ayuadar Enrique. En verdad agardeszco tu tiempo y esfuerzo.

  11. Avatar

    Enrique

    Hola Raúl, con lo de borrar el "datasource" me refería a eliminar simplemente la configuración en grafana, no la carpeta completa. Es extraño que te de ese error en el log, ya que ese componente sería de la versión para usuarios enterprise. Te recomiendo realizar toda esta parte de cero, para tenerlo todo limpio, es decir: 1. Borrar la configuración del "datasource" en Grafana (desde el interfaz web). 2. Borrar la carpeta del "datasource" en "/var/lib/grafana/plugins/pandora-fms". 3. Descargar de nuevo el "datasource" de la librería, subirlo a Grafana y descomprimirlo (en el directorio anterior). 4. Volver a configurar el "datasource" en el interfaz web de Grafana.

Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.