Te mostramos cómo integrar DoiT Cloud Analytics, nuestra plataforma de gestión de costos, con Grafana, la plataforma open source de analítica y monitoreo, para llevar la visibilidad y el análisis a otro nivel.

Combina lo mejor de Grafana y DoiT Cloud Analytics para llevar la analítica y el monitoreo de tu nube a otro nivel
DoiT Cloud Analytics es una plataforma moderna de gestión de costos pensada para empresas digital-native, que te da visibilidad inmediata sobre tu gasto en la nube. Grafana, por su parte, es una plataforma open source para crear visualizaciones de analítica y monitoreo realmente atractivas. ¿No estaría bueno combinar lo mejor de ambas? ¡A nosotros nos pareció que sí!
Con la plataforma Cloud Analytics de DoiT puedes armar reportes avanzados de gasto en la nube y compartirlos con tu equipo. Puedes agrupar recursos y sus costos asociados con atribuciones personalizadas, detectar y analizar tendencias, proyectar tus costos en la nube y administrar tus presupuestos sin perder horas eternas revisando facturas a mano. Y cuando se trata de visualizar series temporales, Grafana es la herramienta indicada: ya sea para monitoreo, alertas o análisis. Grafana es compatible con muchas fuentes populares de datos de series temporales, como Prometheus, InfluxDB, Graphite, Elasticsearch y muchas otras.
Las aplicaciones son prácticamente infinitas: dashboards para analizar logs, métricas de campañas, análisis de tráfico y, además de todo eso, puedes monitorear con precisión tu gasto en Amazon Web Services o Google Cloud enviando los datos de Cloud Analytics a Grafana.

Entonces, ¿cómo se logra? Nuestra plataforma expone una API RESTful, lo que hace muy fácil obtener cualquier reporte que hayas creado en DoiT Cloud Analytics. Puedes conocer más sobre estas Report APIs y cómo usarlas en el DoiT Developer Portal.
De forma nativa, Grafana no puede consumir datos desde APIs REST, pero por suerte existe el plugin Infinity, que hace justamente eso: integrar Grafana con endpoints JSON, CSV, XML, GraphQL y HTML.
Paso 1
Instala el plugin Infinity desde grafana.com, ya sea con grafana-cli o directamente desde GitHub. Usa la página del plugin para empezar.
Paso 2
Para usar la Reports API necesitas una API key. Puedes generar tu API key de Cloud Analytics desde tu perfil de usuario siguiendo las instrucciones del DoiT Developer Portal.

Paso 3
Configura la API key en el dashboard de Grafana correspondiente actualizando la variable cmp_api_key. Asigna a la variable el valor "Bearer " (ojo con el espacio al final) seguido de la API key.

Paso 4
Agrega un nuevo panel a tu dashboard de Grafana. Usa "Infinity" como fuente de datos y configura el panel con estos parámetros:
Type debe quedar en "UQL"
Source debe ser "URL"
Format debe quedar en "Time Series"
URL debe apuntar a la URL de tu reporte de Cloud Analytics. Es la misma que normalmente usarías con el método reports.get() de la Reports API (referencia).

Ahora viene lo interesante: la consulta UQL. Aquí es donde transformas la respuesta de reports.get() al formato que Grafana puede leer.
UQL es un lenguaje de consulta con criterio propio, diseñado para operaciones en memoria. Una consulta UQL se arma con una lista de comandos unidos por | (pipe), cada uno en una línea distinta. En la mayoría de los casos, los campos se referencian con comillas dobles y los valores de tipo string con comillas simples. Puedes ver más sobre la sintaxis de UQL aquí.
La llamada a reports.get() en mi ejemplo devuelve la siguiente respuesta. Omito partes del resultado para abreviar:

La parte "result" del JSON tiene dos secciones: "schema" y "rows". La primera entrega metadatos sobre la estructura de los datos, y la segunda contiene los datos en sí.
Como Grafana no sabe leer el "schema" del reporte, estoy usando la siguiente UQL:

Paso 5
Elige la visualización que quieras para tu reporte (junto con los demás parámetros del panel que necesites). Cuando termines, ¡ya deberías poder ver tu reporte de Cloud Analytics en Grafana!

¡Queremos ver esos dashboards!
Esperamos que la integración del plugin de Cloud Analytics con Grafana te resulte tan útil como a nosotros, ¡y nos encantaría ver tu dashboard! Puedes mandarnos capturas de pantalla a [email protected]. El dashboard más votado se lleva una tarjeta de regalo de Amazon por $500.
¿Quieres leer más historias? Pásate por nuestro blog o sigue a Vadim en Twitter.