Grafana es una aplicación multiplaforma y open source de visualización y formato de datos métricos desarrollada por Grafana Labs. Inicialmente era un componente de Kibana, del que os hablamos ya en su momento, pero más tarde fue liberado.
Esta herramienta ofrece la posibilidad de ser utilizada tanto en su versión iCloud como en una versión instalable La versión cloud de Grafana tiene la ventaja de no requerir ningún tipo de instalación, pero tiene el inconveniente de que es necesario un plan de pago. Por su parte, la opción instalable es compatible con cualquier sistema operativo y también se puede ejecutar en contenedores Docker, todo ello de forma gratuita.
A través de plugins instalables (algunos creados y/o mantenidos por la propia empresa desarrolladora), nos permite integrar multitud de fuentes de datos fácilmente. Da la opción de elegir entre las bases de datos más utilizadas hoy en día, además de proveedores de cloud o ficheros locales.
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/66543745415cbe2c9a8d89c5_grafana%201.png)
A continuación os explicamos los primeros pasos para poder trabajar e incorporar Grafana en vuestros proyectos de visualización de datos.
Levantar Grafana en local
En el apartado de descargas buscamos Grafana y accedemos a esta página, donde seleccionamos el sistema operativo en el que queremos instalarlo y seguimos los pasos indicados.
Para Mac:
curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.7.darwin-amd64.tar.gz
tar -zxvf grafana-enterprise-9.4.7.darwin-amd64.tar.gz
Nos movemos en la terminal a la carpeta de Grafana donde lo hayamos descargado e instalado y lanzamos:
./bin/grafana-server web
Esto levantará el servicio en http://localhost:3000/.
Al entrar a la plataforma por primera vez, en la pantalla de inicio veremos diferentes opciones. Entre ellas se encuentran, por ejemplo, la posibilidad de añadir nuevas fuentes de datos o crear tableros de visualización, así como revisar con un vistazo rápido los últimos tableros a los que hemos accedido.
Integrar fuentes de datos
Para poder empezar a trabajar con los datos, es necesario importarlos y para ello Grafana ofrece multitud de integraciones a través de plugins. Para ello, vamos al apartado Data sources
todavía donde aparecerán las fuentes de datos que estamos utilizando actualmente. Si hasta entonces no hemos incorporado ninguna, o queremos añadir una nueva, pulsaremos el botón Add data source
.
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/6654381054cb60cf2a6a098f_grafana%202.png)
En la pantalla que se abre, seleccionaremos el tipo de fuente de datos que queremos añadir. Hay algunas opciones que vienen preinstaladas, pero en caso de que el formato que queramos utilizar no esté instalado, tendremos que instalar el plug-in correspondiente desde su pestaña.
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/6654381e329a4fd7a6a3f330_grafana%203.png)
Una vez seleccionada la fuente de datos que queremos utilizar, pasaremos a la pantalla en la que configuraremos la conexión. Dependiendo de la fuente de datos que hayamos escogido, la configuración será más o menos compleja, pero en ninguno de los casos son necesarios conocimientos de programación.
Conectar bases de datos
Siguiendo con el ejemplo de MySQL de las imágenes anteriores, esta sería la pantalla de configuración de la conexión:
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/66543844caee0edf3d3bc59e_grafana%204.png)
Cuando tengamos todos los campos de configuración, probaremos la conexión con el botón Save & test
. Y si todo va correctamente, aparecerá un mensaje de éxito y podremos empezar a explorar los datos de la fuente.
Ahora que estamos conectados al servidor de la base de datos, tendremos que seleccionar la base de datos propiamente dicha, así como la tabla y los campos que queremos que se muestren. En este punto también podremos seleccionar la función de agregación (media, máximo, mínimo…) que queramos aplicar.
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/6655790a30a3eece142382f8_Grafana%20imagen%205.jpg)
Nos permite seleccionar más de una columna:
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/665438fb35f83f838215e08c_grafana%206.png)
Una vez estemos conformes con esta información, haremos click en el botón Run query
para ejecutar la petición y poder visualizar los datos. Estos aparecerán en formato de tabla, así que si queremos que se muestren en gráficas tendremos que añadir el panel a un dashboard.
Una vez añadido a un dashboard, podremos editar el panel, no solo su formato de visualización sino también los campos que queremos que se muestren (así como la tabla o la base de datos de origen), y seleccionar el tipo de gráfica que queremos utilizar, con algunas opciones de configuración. Al terminar, añadimos el panel al dashboard para tenerlo disponible siempre.
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/6654394883d9e45a33f8c0af_grafana%207.png)
Subir nuestros propios ficheros
Grafana también permite subir nuestros propios ficheros en formato csv
a través de un plugin. Para ello tenemos dos opciones: mediante HTTP a una URL que devuelva un fichero csv
o subiendo la información directamente desde nuestro local.
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/665439254443dfec0bedff6d_grafana%208.png)
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/665439601908c675a9d31cfe_grafana%209.png)
Si queremos usar un fichero .csv desde nuestro local tendremos que añadir a default.ini el siguiente código:
[plugin.marcusolsson-csv-datasource]
allow_local_mode = true
En cualquiera de los dos casos, una vez integrado o subido el fichero, podremos explorar su información de la misma forma que hemos hecho con la base de datos. Pero hay que tener en cuenta que la selección y el filtrado de campos se hace de manera distinta: en este caso se hace uso de las transformaciones.
Las transformaciones nos permiten realizar una serie de funciones tanto sobre la presentación de los datos, como también directamente sobre los propios datos. Por ejemplo, limitar el número de resultados que se muestran, cambiar el tipo de dato de una columna, filtrar por nombre de la columna, etc.
El resultado, al final, es el mismo que al trabajar con una base de datos:
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/6654398c505faf81f340fa9c_grafana%2010.png)
El dashboard generado es configurable. Podemos ampliar o reducir el tamaño de los paneles, o reordenarlos. Además, en un mismo dashboard podemos tener paneles con información procedente de diferentes fuentes de datos:
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/6654399c1873df6e50eaeebb_grafana%2011.png)
Conectar Grafana a Google Drive
Grafana nos da la posibilidad de conectar nuestra instancia a un servidor de Google Drive desde el que acceder a hojas de cálculo alojadas en el mismo. Un aviso, el proceso es un poco largo y tedioso, ya que implica cierta configuración dentro y fuera de Grafana.
- El primer paso es instalar el plugin
Google Sheets
de Grafana - En caso de que estemos utilizando una hoja de cálculo privada, tendremos que autenticarnos mediante un fichero JWT de Google. Para conseguirlo, necesitaremos seguir las siguientes instrucciones que vienen indicadas en el propio plugin:
### Generate a JWT file
1. Open the [Credentials](https://console.developers.google.com/apis/credentials) page in the Google API Console.
2. Click **Create Credentials** then click **Service account**.
3. On the Create service account page, enter the Service account details.
4. On the `Create service account` page, fill in the `Service account details` and then click `Create`
5. On the `Service account permissions` page, don’t add a role to the service account. Just click `Continue`
6. In the next step, click `Create Key`. Choose key type `JSON` and click `Create`. A JSON key file will be created and downloaded to your computer
7. Open the [Google Sheets](https://console.cloud.google.com/apis/library/sheets.googleapis.com?q=sheet) in API Library and enable access for your account
8. Open the [Google Drive](https://console.cloud.google.com/apis/library/drive.googleapis.com?q=drive) in API Library and enable access for your account. Access to the Google Drive API is used to list all spreadsheets that you have access to.
9. Drag the file to the dotted zone above. Then click `Save & Test`. The file contents will be encrypted and saved in the Grafana database.
- Una vez autenticados de esta manera, el siguiente paso será elegir la hoja de cálculo de la que queremos obtener la información. Para ello, tenemos que copiar la id de la hoja de cálculo (podemos encontrarla en la URL. Además, será necesario compartir este documento con la cuenta de servicio que hemos creado anteriormente.
- En el menú que nos aparece habrá que añadir la id de la hoja de cálculo y, si todo ha ido correctamente, podremos acceder a los datos:
![](https://cdn.prod.website-files.com/641c28ae046d4017a8ca43ef/66543a8e117be7bccc1a20d7_grafana%2012.png)
Ahora sí, una vez llegados a este punto, podemos trabajar con los datos de igual manera que podemos hacer con un fichero CSV.
Pros
- Facilidad de uso
- Open source y multiplataforma
- Gran variedad de gráficas
- Múltiples integraciones
- Los dashboards se pueden insertar en aplicaciones web externas
- Librería de plugins fácilmente instalables
Contras
- Cierta dificultad en algunas configuraciones
- Las gráficas no son tan personalizables como en Kibana
💡 Grafana da la posibilidad de descargar su código fuente y editarlo a nuestro gusto. Esto permite una instancia de Grafana mucho más personalizable pero, al mismo tiempo, más costosa.
La guía completa de instalación la podemos encontrar aquí.