Crea tu primer panel - Amazon Managed Grafana

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crea tu primer panel

Creación de un panel

Sigue estos pasos para crear un panel de control en la consola de Grafana.

Para crear tu primer panel
  1. Selecciona el icono + en el panel izquierdo, selecciona Crear panel y, a continuación, selecciona Añadir nuevo panel.

  2. En la vista Nuevo panel de mando/panel de edición, seleccione la pestaña Consulta.

  3. Configure la consulta seleccionando la fuente de datos que desea consultar. Por ejemplo, si ha agregado TestDB como fuente de datos, se generará un panel de ejemplo denominado panel de Random Walk.

Introducción a las series temporales

Imagina que quieres saber cómo cambia la temperatura exterior a lo largo del día. Una vez cada hora, revisarías el termómetro y anotarías la hora junto con la temperatura actual. Después de un tiempo, tendrías algo parecido a los siguientes datos.

Tiempo Valor
09:00 24 °C
10:00 26 °C
11:00 27 °C

Los datos de temperatura como este son un ejemplo de una serie temporal: una secuencia de mediciones ordenadas en el tiempo. Cada fila de la tabla representa una medición individual en un momento específico.

Las tablas son útiles cuando se quiere identificar medidas individuales, pero pueden dificultar la visión general. Una visualización más común para las series temporales es el gráfico, que en su lugar coloca cada medición a lo largo de un eje temporal. Las representaciones visuales, como el gráfico, facilitan el descubrimiento de patrones y características de los datos que, de otro modo, serían difíciles de ver.

Otros ejemplos de series temporales son:

  • Uso de CPU y memoria

  • Datos del sensor

  • Índice bursátil

Si bien cada uno de estos ejemplos es una secuencia de medidas ordenadas cronológicamente, también comparten otros atributos:

  • Los datos nuevos se añaden al final, a intervalos regulares, por ejemplo, cada hora a las 09:00, 10:00, 11:00, etc.

  • Las medidas rara vez se actualizan después de añadirlas. Por ejemplo, la temperatura de ayer no cambia.

Las series temporales son poderosas. Te ayudan a entender el pasado al permitirte analizar el estado del sistema en cualquier momento. Las series temporales podrían indicarle que el servidor se bloqueó momentos después de que el espacio libre en el disco se redujera a cero.

Las series temporales también pueden ayudarlo a predecir el futuro al descubrir tendencias en sus datos. Por ejemplo, si el número de usuarios registrados ha aumentado un 4 por ciento cada mes durante los últimos meses, puede predecir el tamaño de su base de usuarios al final del año.

Algunas series temporales tienen patrones que se repiten a lo largo de un período conocido. Por ejemplo, la temperatura suele ser más alta durante el día, antes de bajar por la noche. Al identificar estas series temporales periódicas o estacionales, puede hacer predicciones fiables sobre el próximo período. Si sabe que la carga del sistema alcanza su punto máximo todos los días alrededor de las 18:00, puede añadir más máquinas justo antes.

Agregar series temporales

Según lo que esté midiendo, los datos pueden variar considerablemente. ¿Y si quisiera comparar períodos más largos que el intervalo entre las mediciones? Si midieras la temperatura una vez cada hora, obtendrías 24 puntos de datos por día. Para comparar la temperatura de agosto a lo largo de los años, tendrías que combinar los 31 puntos de datos multiplicados por 24 en uno solo.

La combinación de un conjunto de medidas se denomina agregación. Hay varias formas de agregar datos de series temporales. Estas son algunas de las más comunes:

  • El promedio devuelve la suma de todos los valores dividida por el número total de valores.

  • Min y Max devuelven el valor más pequeño y el más alto de la colección.

  • Sum devuelve la suma de todos los valores de la colección.

  • Count devuelve el número de valores de la colección.

Por ejemplo, al agregar los datos en un mes, puede determinar que agosto de 2017 fue, en promedio, más cálido que el año anterior. Si quisieras ver qué mes tuvo la temperatura más alta, compararías la temperatura máxima de cada mes.

La forma en que se agregan los datos de las series temporales es una decisión importante y depende de la historia que se quiera contar con los datos. Es habitual utilizar distintas agregaciones para visualizar los mismos datos de series temporales de distintas maneras.

Series temporales y monitoreo

En el sector de TI, los datos de series temporales suelen recopilarse para supervisar aspectos como la infraestructura, el hardware o los eventos de las aplicaciones. Los datos de series temporales generados por máquinas suelen recopilarse en intervalos cortos, de modo que pueda reaccionar ante cualquier cambio inesperado, momentos después de que se produzca. Los datos se acumulan a un ritmo rápido, por lo que es fundamental disponer de una forma eficaz de almacenar y consultar los datos. Como resultado, las bases de datos optimizadas para datos de series temporales han ganado popularidad en los últimos años.

Bases de datos de series temporales

Una base de datos de series temporales (TSDB) es una base de datos diseñada explícitamente para datos de series temporales. Si bien es posible utilizar cualquier base de datos normal para almacenar las mediciones, una TSDB incluye algunas optimizaciones útiles.

Los TSDB modernos aprovechan el hecho de que las mediciones solo se agregan y rara vez se actualizan o eliminan. Por ejemplo, las marcas de tiempo de cada medición cambian poco con el tiempo, lo que hace que se almacenen datos redundantes.

El siguiente ejemplo muestra una secuencia de marcas de tiempo de Unix.

1572524345, 1572524375, 1572524404, 1572524434, 1572524464

Al observar estas marcas de tiempo, todas comienzan con1572524, lo que lleva a un uso deficiente del espacio en disco. En su lugar, puede almacenar cada marca de tiempo posterior como la diferencia, o delta, de la primera, como se muestra en el siguiente ejemplo.

1572524345, +30, +29, +30, +30

Incluso podría ir un paso más allá calculando los deltas de estos deltas, como se muestra en el siguiente ejemplo.

1572524345, +30, -1, +1, +0

Si las medidas se toman a intervalos regulares, la mayoría delta-of-deltas será 0. Gracias a optimizaciones como estas, las TSDB utilizan mucho menos espacio que otras bases de datos.

Otra característica de una TSDB es la capacidad de filtrar las mediciones mediante etiquetas. Cada punto de datos está etiquetado con una etiqueta que agrega información de contexto, como el lugar donde se realizó la medición.

Grafana admite los siguientes TSDB:

  • Grafito

  • InfluxDB

  • Prometheus

    weather,location=us-midwest temperature=82 1465839830100400200 | -------------------- -------------- | | | | | | | | | +-----------+--------+-+---------+-+---------+ |measurement|,tag_set| |field_set| |timestamp| +-----------+--------+-+---------+-+---------+
Recopilación de datos de series temporales

Ahora que tiene un lugar para almacenar sus series temporales, ¿cómo recopila realmente las medidas? Para recopilar datos de series temporales, normalmente instalaría un recopilador en el dispositivo, la máquina o la instancia que desee supervisar. Algunos recopiladores se crean pensando en una base de datos específica y otros admiten diferentes destinos de salida.

Estos son algunos ejemplos de coleccionistas:

Un recopilador envía los datos a una base de datos o permite que la base de datos extraiga los datos del recopilador. Cada enfoque tiene sus propias ventajas y desventajas.

Ventajas Desventajas
Push (Insertar) Es más fácil replicar los datos en varios destinos. La TSDB no tiene control sobre la cantidad de datos que se envían.
Extraer Más control sobre la cantidad de datos ingeridos y su autenticidad. Los firewalls, las VPN o los balanceadores de carga pueden dificultar el acceso a los agentes.

Como resulta ineficiente escribir todas las mediciones en la base de datos, los recopiladores agregan previamente los datos y los escriben en la TSDB a intervalos regulares.

Dimensiones de series temporales

En el caso de los datos de series temporales, los datos suelen ser un conjunto de varias series temporales. Muchas fuentes de datos de Grafana admiten este tipo de datos.

Lo habitual es emitir una única consulta para una medición con una o más propiedades adicionales como dimensiones. Por ejemplo, puede consultar una medición de temperatura junto con una propiedad de ubicación. En este caso, se devuelven varias series de esa única consulta y cada serie tiene una ubicación única como dimensión.

Para identificar series únicas dentro de un conjunto de series temporales, Grafana almacena las dimensiones en las etiquetas.

Etiquetas

Cada serie temporal de Grafana tiene opcionalmente etiquetas. Las etiquetas son un conjunto de pares clave-valor para identificar las dimensiones. Los ejemplos de etiquetas son {location=us} o. {country=us,state=ma,city=boston} Dentro de un conjunto de series temporales, la combinación de su nombre y etiquetas identifica cada serie. Por ejemplo, temperature {country=us,state=ma,city=boston}.

Las distintas fuentes de datos de series temporales tienen dimensiones almacenadas de forma nativa o patrones de almacenamiento comunes que permiten extraer los datos en dimensiones.

Por lo general, las TSDB admiten la dimensionalidad de forma nativa. Prometheus guarda las dimensiones en las etiquetas. En las TSDB, como Graphite u OpenTSDB, se utiliza en su lugar el término etiquetas.

En las bases de datos de tablas, como SQL, estas dimensiones suelen ser los parámetros de una consulta. GROUP BY

Varias dimensiones en formato de tabla

En las bases de datos SQL o similares a SQL que devuelven respuestas de tablas, las dimensiones adicionales suelen ser columnas en la tabla de respuestas a la consulta.

Dimensión única

Por ejemplo, considere una consulta como la del siguiente ejemplo.

SELECT BUCKET(StartTime, 1h), AVG(Temperature) AS Temp, Location FROM T GROUP BY BUCKET(StartTime, 1h), Location ORDER BY time asc

La consulta puede devolver una tabla con tres columnas.

StartTime Temp Ubicación
09:00 24 OLGA
09:00 20 JEFE
10:00 26 OLGA
10:00 22 JEFE

El formato de tabla es una serie temporal con formato largo, también denominada alta. Tiene marcas de tiempo y valores repetidos en Location. En este caso, dos series temporales del conjunto se identificarían como Temp {Location=LGA} y. Temp {Location=BOS}

Las series temporales individuales del conjunto se extraen utilizando las siguientes dimensiones:

  • La columna escrita por tiempo StartTime como índice temporal de la serie temporal

  • La columna escrita numéricamente Temp como nombre de la serie

  • El nombre y los valores de la Location columna escrita en cadena para crear las etiquetas, como Location=LGA

Múltiples dimensiones

Si la consulta se actualiza para seleccionar y agrupar en más de una columna de cadena (por ejemplo,GROUP BY BUCKET(StartTime, 1h), Location, Sensor), se añade una dimensión adicional.

StartTime Temp Ubicación Sensor
09:00 24 OLGA A
09:00 24.1 OLGA B
09:00 20 JEFE A
09:00 20,2 BOS B
10:00 26 OLGA A
10:00 26.1 OLGA B
10:00 22 JEFE A
10:00 22.2 BOS B

En este caso, las etiquetas que representan las dimensiones tienen dos claves basadas en las dos columnas de tipo cadena, Location ySensor. Los datos dan como resultado cuatro series:

  • Temp {Location=LGA,Sensor=A}

  • Temp {Location=LGA,Sensor=B}

  • Temp {Location=BOS,Sensor=A}

  • Temp {Location=BOS,Sensor=B}

nota

Nota: No se admiten varias dimensiones de forma que se asignen a varias alertas en Grafana. En cambio, se tratan como múltiples condiciones para una sola alerta.

Múltiples valores

En el caso de las fuentes de datos tipo SQL, se puede seleccionar más de una columna numérica, con o sin columnas de cadena adicionales para utilizarlas como dimensiones; por ejemplo,. AVG(Temperature) AS AvgTemp, MAX(Temperature) AS MaxTemp Esto, si se combina con varias dimensiones, puede dar como resultado numerosas series. Actualmente, la selección de varios valores está diseñada para usarse solo con la visualización.

Introducción a los histogramas y los mapas térmicos

Un histograma es una representación gráfica de la distribución de los datos numéricos. Agrupa los valores en cubos (a veces también denominados contenedores). A continuación, cuenta cuántos valores hay en cada grupo.

En lugar de representar gráficamente los valores reales, los histogramas grafican los cubos. Cada barra representa un intervalo y la altura de la barra representa la frecuencia (por ejemplo, el recuento) de los valores que se encuentran dentro del intervalo de ese intervalo.

Los histogramas solo analizan las distribuciones de valores en un intervalo de tiempo específico. El problema de los histogramas es que no se pueden ver tendencias ni cambios en la distribución a lo largo del tiempo. Aquí es donde los mapas térmicos se vuelven útiles.

Mapas térmicos

Un mapa de calor es como un histograma a lo largo del tiempo, en el que cada intervalo de tiempo representa su propio histograma. En lugar de utilizar la altura de la barra como representación de la frecuencia, utiliza celdas y colorea una celda de forma proporcional al número de valores del intervalo.

Datos preagrupados

Varias fuentes de datos admiten el histograma a lo largo del tiempo, incluidas las siguientes:

  • Amazon OpenSearch Service (mediante una agregación de cubos de histogramas)

  • Prometheus (con el tipo de métrica de histograma y la opción Formatear as configurada en Heatmap)

Por lo general, puede utilizar cualquier fuente de datos que devuelva series cuyos nombres representen el límite del cubo o devuelva series ordenadas por el límite en orden ascendente.

Datos brutos frente a datos agregados

Si utilizas el mapa de calor con datos de series temporales normales (no agrupados previamente), es importante recordar que los datos suelen estar ya agregados por el servidor de series temporales. La mayoría de las consultas de series temporales no devuelven datos de muestra sin procesar. En su lugar, incluyen un grupo por intervalo o maxDataPoints límite de tiempo, junto con una función de agregación (normalmente la media).

Depende del intervalo de tiempo de la consulta. Lo importante es saber que la agrupación de histogramas que realiza Grafana puede realizarse con datos ya agregados y promediados. Para obtener mapas térmicos más precisos, es mejor agrupar los datos durante la recopilación de métricas o almacenar los datos en OpenSearch otra fuente de datos que permita agrupar los histogramas con los datos sin procesar.

Si eliminas o reduces el grupo por tiempo (o lo aumentas maxDataPoints) en la consulta para obtener más puntos de datos, el mapa de calor será más preciso. Sin embargo, esto también puede suponer una gran carga para la CPU y la memoria. Si el número de puntos de datos se vuelve excesivamente grande, es posible que se produzcan bloqueos y bloqueos.