El artículo anterior muestra de qué forma es posible recolectar métricas de uso de recursos utilizando collectd en Debian y derivados, y cómo almacenar estas métricas en una base de datos InfluxDB. Este artículo explica los simples pasos para graficar estas métricas en Grafana.

El primer paso consiste en agregar la base de datos InfluxDB como nuevo data source:

Ingresar los datos de acceso al motor, incluyendo usuario y contraseña (si hemos configurado uno para Grafana):

Especificar el nombre de la base de datos:

Y verificar el acceso:

A partir de este momento es posible crear el primer dashboard y graficar datos de collectd.

Cuando se utilizan data sources InfluxDB, es posible definir las consultas utilizando un editor amigable. Lo que hace que no sea necesario ser un experto en el lenguaje InfluxQL para graficar las series de tiempo deseadas

A fin de graficar el uso de CPU discriminado por usuario/sistema, utilizo las siguientes consultas:

Sin embargo es posible especificar una consulta SQL personalizada cambiando el modo de editor desde el menú de la derecha de la consulta ("Toggle Edit Mode"). Las consultas para las series anteriores son las siguientes:

SELECT mean("value") FROM "cpu_value" WHERE ("type_instance" = 'system') AND $timeFilter GROUP BY time($__interval) fill(null)
SELECT mean("value") FROM "cpu_value" WHERE ("type_instance" = 'user') AND $timeFilter GROUP BY time($__interval) fill(null)

El resultado es la siguiente gráfica:

Cabe destacar que es necesario configurar el plugin "cpu" de collectd para que recupere las métricas de uso de CPU en valores de porcentaje:

<Plugin cpu>
  ReportByCpu true
  ReportByState true
  ValuesPercentage true 
  ReportNumCpu false  
  ReportGuestState false
  SubtractGuestState true
</Plugin>

Ya que por defecto collectd reporta el uso de CPU en jiffies (unidad de medida de tiempo del kernel Linux).

Referencias


Tal vez pueda interesarte


Compartí este artículo

monitoreo