Tableau es una herramienta de análisis visual que permite compartir y analizar datos, y está revolucionando el sector de la inteligencia de negocio.
Una de las soluciones que ofrece es Tableau Server, una plataforma que corre en un entorno de confianza y gobernado por los mismos clientes, dando más libertad que otros productos de Tableau o de visualización de datos en general.
En este blog te contamos los pasos para procesar la información de forma remota, y facilitar el procesado de archivos XML utilizando Zabbix/Grafana.
En lo que respecta a la monitorización de los procesos, existe dentro del TSM (Tableau Server Manager) una página en la que se nos muestra:
- Todos los procesos indicando una descripción del mismo
- El estado en el que encuentra
Esta información nos ofrece de un solo vistazo el estado actual de la plataforma, el cual es de vital importancia para una monitorización activa.
¿Cómo acceder a la información de forma remota?
Lo ideal sería poder leer esta información de forma continua por parte de un tercero, y generar de forma automatizada alertas que nos indiquen que algo no va bien y necesita nuestra atención. Para ello, Tableau Software nos ofrece la posibilidad de acceder a esta información de forma remota.
- Primero, necesitamos otorgar acceso a los nodos para acceder desde remoto. Para ello, se necesita ejecutar el siguiente comando, siendo las IP los nodos a los que queremos dar acceso:
- Una vez que ya lo tenemos, usamos la siguiente URL
- El servidor nos devolverá un informe XML tal como se muestra abajo:
Utilizar Zabbix para procesar la información
Esta información puede ser procesada por una herramienta de monitorización, en nuestro caso vamos a utilizar Zabbix, ya que posee una característica que nos facilita el procesado de archivos XML.
- Para proceder de forma rápida y sencilla, lo que necesitamos es dar de alta un ítem en Zabbix, el cual lea de un archivo el resultado del XML del nodo. Para ello utilizamos Curl, u otra herramienta parecida.
- Y para que esté siempre actualizada, automatizamos la descarga del archivo cada 5 minutos, por ejemplo:
- El ítem procesos creado en Zabbix va a ser el que contenga todo el texto XML, pero para poder procesarlo vamos a crear ítems que dependan de él, como por ejemplo, uno que solo nos indique el estado del proceso del repositorio en particular.
- Una vez creado indicando en nombre, el tipo y la Key - procesos.repository - nos vamos a la pestaña Preprocessing para sacar del XML la información exclusiva del estado del repositorio.
- Como podemos observar, Zabbix utiliza lenguaje estándar XML para el filtrado. Todo esto da como resultado una salida tipo texto, que puede ser la siguiente: Active, Passive, Down, StatusNotAvailable, NotAvailable etc.
- Para nuestro caso nos interesaría que Zabbix generara una alerta cuando el estado del repositorio sea diferente a Active. Para ello, en el editor de generador del trigger tendríamos que insertar las siguientes líneas, con un operador lógico “OR” para que nos genere una alerta:
find (/my_tableau_server/Procesos.repository,,"like","Down")=1
find (/my_tableau_server/Procesos.repository,,"like","StatusNotAvailable”) =1
find (/my_tableau_server/Procesos.repository,,"like","StatusNotAvailableSyncing")=1
find (/my_tableau_server/Procesos.repository,,"like","NotAvailable")=1
La combinación de Zabbix con Grafana puede darnos una visualización más global del estado de nuestra plataforma en combinación con otros marcadores, como el estado del nodo con respecto a recursos y servicios.