You are on page 1of 12

Cómo instalar Grafana en Linux

14 Septiembre 2018

 monitoreo

 datos

 Grafana

Grafana es una plataforma open source para monitoreo y analítica de datos.


Permite visualizar y analizar series de tiempo de todo tipo de métricas, sin importar
dónde se encuentren almacenados los datos o qué tipo de base de datos se
utilice. Grafana permite centralizar y organizar las vistas de gráficos de todo tipo
de datos de forma elegante.

Este primer artículo de la serie presenta la instalación de Grafana en un servidor


Devuan GNU+Linux.

Grafana permite consultar, visualizar, analizar, generar alertas y comprender todo


tipo de métricas sin importar donde estén almacenados los datos. Todo esto
desde una interfaz Web elegante y sencilla. Con Grafana es posible crear,
explorar y compartir dashboards con nuestro equipo de trabajo.

De acuerdo al repositorio oficial en GitHub, Grafana está desarrollado en


lenguaje Go y hace un uso intensivo de TypeScript. Entre las diferentes fuentes de
datos (Data Sources) que soporta se destacan: CloudWatch, Elasticsearch,
Graphite, InfluxDB, MySQL, PostgreSQL, Azure Monitor, Cloudera Manager,
GoogleCalendar, ntopng, Oracle Database, PRTG y muchos otros (ver Data
Source plugins).

Grafana provee un paquete .deb para sistemas basados en Debian. Descargar la


última versión estable desde el sitio de descargas:
# wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafan
a_5.2.3_amd64.deb

Luego instalar Grafana simplemente ejecutando:


# dpkg -i grafana_5.2.3_amd64.deb

Por ejemplo:
root@devuan:/home/emi# dpkg -i grafana_5.2.3_amd64.deb

Seleccionando el paquete grafana previamente no seleccionado.

(Leyendo la base de datos ... 125547 ficheros o directorios instalados ac


tualmente.)

Preparando para desempaquetar grafana_5.2.3_amd64.deb ...

Desempaquetando grafana (5.2.3) ...

Configurando grafana (5.2.3) ...

Añadiendo el usuario del sistema `grafana' (UID 109) ...

Añadiendo un nuevo usuario `grafana' (UID 109) con grupo `grafana' ...

No se crea el directorio personal `/usr/share/grafana'.

### NOT starting grafana-server by default on bootup, please execute

sudo update-rc.d grafana-server defaults 95 10

### In order to start grafana-server, execute

sudo service grafana-server start

A continuación, iniciar el servidor Grafana ejecutando:


root@devuan:/home/emi# service grafana-server start
[ ok ] Starting Grafana Server:.

Se puede comprobar que el demonio grafana-server escucha peticiones en el


puerto 3000:
root@devuan:/home/emi# netstat -tulpn | grep grafana

tcp6 0 0 :::3000 :::* LISTE


N 2780/grafana-server

Finalmente, habilitar el servicio para que inicie automáticamente ejecutando:


root@devuan:/home/emi# update-rc.d grafana-server defaults

Desde un navegador Web, acceder al puerto 3000 del servidor donde se ha


instalado Grafana:

Las credenciales para ingresar son usuario y password "admin". Lo primero que se
necesita hacer ante de continuar es configurar una nueva contraseña para el
usuario admin:
La configuración de Grafana finaliza. A partir de este punto se debe agregar el
primer Data source y continuar con la creación de un dashboard:

En los siguientes artículos se continúa con la configuración de Grafana:

Creando mi primer dashboard en Grafana


19 Septiembre 2018

 SQL

 Grafana

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.

You might also like