
BigQuery es uno de los data warehouses en la nube con mayor rendimiento para analítica. Grafana es una plataforma abierta de análisis y monitoreo visualmente atractivos. ¿Qué tal si combinamos lo mejor de ambos? A nosotros nos pareció una gran idea.
Hoy es difícil imaginar una empresa que no use Grafana para visualizar sus datos de series temporales, ya sea para monitoreo, alertas, análisis o todo a la vez. Grafana es compatible con muchas fuentes de datos populares de series temporales, como InfluxDB, Graphite, Elasticsearch y muchas otras.
Google BigQuery es una de las bases de datos en la nube más populares para analítica de datos, gracias a su capacidad sin igual de ejecutar consultas a gran velocidad sobre conjuntos de datos enormes.
Por suerte, Grafana ofrece una interfaz documentada para crear nuevos plugins de fuentes de datos. Mi colega Aviv Laufer, del equipo de soluciones de DoiT International, logró desarrollar el plugin de fuente de datos para Google BigQuery.
Las aplicaciones son prácticamente infinitas: dashboards para analizar logs, datos de facturación, métricas de ventas, análisis de tráfico, seguimiento de campañas de marketing digital o cualquier otro caso de uso.
Para mostrar el nuevo plugin de fuente de datos elegí los datos de facturación de Google Cloud, un caso con el que cualquiera que use Google Cloud puede identificarse. En pocas palabras, puedes configurar Google Cloud para exportar información detallada de facturación a BigQuery [ 1]. Al exportar tus datos de facturación a BigQuery, puedes hacer un seguimiento muy detallado, día a día, del costo de tus servicios de Google Cloud.
Dashboard de Grafana visualizando datos de Google Cloud Billing desde BigQuery
Como el plugin de fuente de datos de BigQuery aún no es un plugin "oficialmente" soportado por Grafana, tendrás que instalarlo manualmente desde el repositorio git del plugin [ 2].
En la mayoría de los casos, la instalación se resuelve con un solo comando en tu servidor de Grafana y un reinicio. Las instrucciones completas están en la sección de instalación del repositorio [ 3].
grafana-cli \--pluginUrl \https://github.com/doitintl/bigquery-grafana/archive/0.3.0.zip
\ plugins install doitintl-bigquery-datasourceUna vez instalado el plugin, ya está listo para usarse. El plugin se autentica con tu IAM de Google Cloud configurando una cuenta de servicio y cargando la clave JSON de esa cuenta.
Tras la autenticación, ya puedes crear tu primer dashboard. El plugin te permite armar la consulta subyacente de forma visual, siguiendo el asistente paso a paso.
Empieza por seleccionar tu proyecto de Google Cloud en la lista y luego elige los nombres del dataset y la tabla. El plugin obtendrá las columnas de tu tabla (junto con metadatos que indican, por ejemplo, si la tabla tiene particiones) para que las elijas desde los menús desplegables.
Después, selecciona el campo o los campos que quieres visualizar, junto con las agregaciones que necesites, y voilà: ¡tus datos aparecerán al instante!
Configuración del dashboard con el asistente del plugin. La versión en alta resolución está disponible aquí.
Si prefieres escribir la consulta a mano, puedes hacerlo haciendo clic en el botón "Edit SQL".
Modo Edit SQL
Fíjate cómo el plugin detectó que se trata de una tabla particionada e incluyó automáticamente el filtro _PARTITIONTIME, ¡así solo se escanean los datos dentro de tu rango de tiempo!
Esperamos que el plugin de BigQuery para Grafana te resulte tan útil como a nosotros y nos encantaría conocer tu caso de uso. Aunque este plugin todavía está en sus primeros pasos, estamos dando un seguimiento muy cercano a los issues y prometemos atender cada solicitud lo antes posible [ 4].
¡A graficar se ha dicho!
¿Quieres leer más historias? Visita nuestro blog o sigue a Vadim en Twitter.