Una vez que instalado nuestro servidor Grafana, y luego de agregar el primer Data Source, llega el momento de crear nuestro primer "dashboard", o tablero en criollo. Un dashboard de Grafana es una vista que contiene múltiples gráficos y paneles individuales organizados en forma de grilla. Los dashboards son el concepto clave detrás de Grafana, pues son el medio a través del cual se logra simplificar y agrupar métricas en una vista simple y amigable con el objetivo de mejorar la comprensión sobre los datos e información disponible.



Partiendo de una instalación limpia, se debe presionar el botón "New dashboard" para comenzar la configuración de nuestro primer dashboard:

Al crear un dashboard vacío, el primer paso consiste en agregar al menos un panel. Un panel es el bloque de construcción básico para la visualización de datos. Grafana provee diferentes tipos de paneles, cada uno de ellos provee un editor de consulta (query) dependiendo del tipo de Data Source seleccionado. Se procede con la creación de un panel de tipo gráfico:

El objetivo de este gráfico es visualizar muestras de uso de disco de un datastore VMware (o varios de ellos) alojadas en una base de datos PostgreSQL. Anteriormente demostré cómo agregar un Data Source Postgres en Grafana.

No va al caso de este artículo, pero sólo a modo informativo las muestras de uso de datastores VMware fueron recolectadas con pyVmomi y registradas en la base de datos Postgres con un script Python.

La base de datos Postgres contiene la tabla "datastore_space", la cual posee la siguiente estructura:

grafana=# \d datastore_space
                                       Table "public.datastore_space"
  Column  |            Type             | Collation | Nullable |                   Default                   
----------+-----------------------------+-----------+----------+---------------------------------------------
 id       | integer                     |           | not null | nextval('datastore_space_id_seq'::regclass)
 fecha    | timestamp without time zone |           | not null | 
 name     | character varying(100)      |           | not null | 
 used     | bigint                      |           | not null | 
 capacity | bigint                      |           | not null | 
 free     | bigint                      |           | not null | 
 pfree    | real                        |           | not null | 
Indexes:
    "datastore_space_fecha_idx" btree (fecha)
    "datastore_space_name_idx" btree (name)

De esta tabla me interesa recuperar la fecha y espacio utilizado para un nombre en particular.

Editar el gráfico recién agregado desde el menú desplegable en el borde superior:

En la pestaña "Metrics", seleccionar nuestro Data Source PostgreSQL llamado "grafana":

Dependiendo de cada tipo de Data Source, Grafana ofrece una consulta de ejemplo. Para consultas SQL sobre un Data Source Postgres se dispone de una amplia variedad de macros, las cuales pueden ser utilizadas para simplificar la sintaxis y permitir partes dinámicas. Por ejemplo, la macro $__timeFilter es la que permite cambiar el rango de fechas a visualizar de forma dinámica desde el dashboard (más adelante se muestra cómo).

Para recuperar la fecha y porcentaje utilizado de cada muestra, utilizo entonces la siguiente consulta:

SELECT
  $__time(fecha),
  100-pfree as "Espacio utilizado (%)"
FROM
  datastore_space
WHERE
  $__timeFilter(fecha)
  AND name='ds-production';

Como se observa, el porcentaje de espacio utilizado se calcula restando la columna "pfree" (valor real que equivale al porcentaje de espacio libre).

Cabe destacar que es necesario contar con conocimientos mínimos sobre SQL a fin de poder configurar paneles que realicen consultas sobre Data Sources PostgreSQL.

Una vez modificada la consulta, si ésta no posee errores los datos se visualizarán automáticamente en el gráfico superior:

Se debe agregar al menos una consulta. Pero se permite agregar varias consultas y así superponer o solapar gráficas de diferentes datos.

En la pestaña "General" es posible modificar el título y descripción del panel:

En la pestaña "Axes" se configuran los ejes del gráfico. Es aquí donde es posible modificar la escala y unidades:

En "Legend" es posible configurar las leyendas del gráfico (mostrar más o menos detalle de los datos visualizados):

La pestaña "Display" permite definir el estilo del gráfico:

Es esta pestaña además se define la forma de organizar múltiples gráficas. Es posible solapar gráficos o también apilar los valores (opción "Stack").

Por último, las pestañas "Alert" y "Time range" permiten definir alertas (por ejemplo enviar una notificación cuando el espacio ocupado supera cierto valor predeterminado) y configurar el rango de tiempo respectivamente.

Una vez configurado completamente nuestro primer panel, es conveniente guardar el dashboard desde el botón en la esquina superior derecha:

Al guardar se obtiene la vista del dashboard con nuestro panel gráfico. Aquí es posible mover y redimensionar el panel con el ratón, lo cual resulta muy conveniente:

En la esquina superior derecha es posible modificar el rango de tiempo para la visualización de datos. Existen valores predeterminados o se puede ingresar uno personalizado desde/hasta:

Finalizada la configuración del primer panel, podemos continuar agregando más paneles a nuestro dashboard:

Más adelante veremos cómo crear alertas y cómo instalar paneles adicionales a nuestra instalación de Grafana.

Referencias


Tal vez pueda interesarte


Compartí este artículo