Uso de la fuente de datos de Amazon Redshift - 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.

Uso de la fuente de datos de Amazon Redshift

Políticas de IAM

Grafana necesita permisos concedidos mediante IAM para poder leer las métricas de Redshift. Puede adjuntar estos permisos a las funciones de IAM y utilizar el soporte integrado de Grafana para asumir funciones. La política de acceso integrada a Amazon Grafana Redshift se define en la sección. AWSpolítica gestionada: AmazonGrafanaRedshiftAccess

Consulte datos de Amazon Redshift

La fuente de datos de Amazon Redshift proporciona un editor de consultas SQL estándar. Amazon Managed Grafana incluye algunas macros para ayudar a escribir consultas de series temporales más complejas.

Macros

Macro Descripción Ejemplo de resultados
$__timeEpoch(column) $__timeEpochse sustituirán por una expresión para convertirla en una marca de tiempo de UNIX y cambiar el nombre de la columna a hora UNIX_TIMESTAMP(dateColumn) as "time"
$__timeFilter(column) $__timeFiltercrea un condicional que filtra los datos (utilizandocolumn) en función del rango de tiempo del panel time BETWEEN '2017-07-18T11:15:52Z' AND '2017-07-18T11:15:52Z'
$__timeFrom() $__timeFrommuestra la hora de inicio actual del rango del panel con comillas '2017-07-18T11:15:52Z'
$__timeTo() $__timeTomuestra la hora de finalización actual del rango del panel con comillas '2017-07-18T11:15:52Z'
$__timeGroup(column, '1m') $__timeGroupagrupa las marcas de tiempo de modo que solo haya 1 punto por cada período del gráfico floor(extract(epoch from time)/60)*60 AS "time"
$__schema $__schema usa el esquema seleccionado public
$__table $__tablegenera una tabla a partir de lo dado $__schema (usa el esquema público de forma predeterminada) sales
$__column $__columngenera una columna a partir de la actual $__table date
$__unixEpochFilter(column) $__unixEpochFilterse sustituirá por un filtro de intervalo de tiempo que utilice el nombre de la columna especificada y las horas se representarán como una marca de tiempo de Unix column >= 1624406400 AND column <= 1624410000
$__unixEpochGroup(column) $__unixEpochGroupes el mismo que $__timeGroup pero para las horas almacenadas como marca de tiempo de Unix floor(time/60)*60 AS "time"

Visualización

La mayoría de las consultas en Redshift se representan mejor mediante una visualización de tabla. Cualquier consulta mostrará los datos en una tabla. Si se puede consultar, se puede poner en una tabla.

Este ejemplo devuelve los resultados de una visualización de tabla:

SELECT {column_1}, {column_2} FROM {table};

Visualizaciones de series temporales y gráficos

Para las visualizaciones de series temporales y gráficos, existen algunos requisitos:

  • Debe seleccionarse una columna con un datetime tipo date o un tipo.

  • La date columna debe estar en orden ascendente (utilizandoORDER BY column ASC).

  • Debe seleccionar una columna numérica.

Para crear un gráfico más razonable, asegúrese de utilizar las $__timeGroup macros $__timeFilter y.

Ejemplo de consulta de series temporales:

SELECT avg(execution_time) AS average_execution_time, $__timeGroup(start_time, 'hour'), query_type FROM account_usage.query_history WHERE $__timeFilter(start_time) group by query_type,start_time order by start_time,query_type ASC;

Modo de llenado

Grafana también completa automáticamente los fotogramas sin un valor con algunos valores predeterminados. Para configurar este valor, cambie el valor de relleno en el editor de consultas.

Inspeccionar la consulta

Como Grafana admite macros que Redshift no admite, la consulta completamente renderizada, que se puede copiar y pegar directamente en Redshift, está visible en el Inspector de consultas. Para ver la consulta interpolada completa, seleccione el menú Inspector de consultas y la consulta completa estará visible en la pestaña Consulta.

Plantillas y variables

Para obtener más información sobre cómo añadir una nueva variable de consulta de Redshift, consulte. Añadir una variable de consulta Utilice la fuente de datos de Redshift como fuente de datos para las consultas disponibles.

Cualquier valor consultado en una tabla de Amazon Redshift se puede utilizar como variable. Asegúrese de evitar seleccionar demasiados valores, ya que esto puede provocar problemas de rendimiento.

Tras crear una variable, puede utilizarla en sus consultas de Redshift mediante. Sintaxis de variables Para obtener más información sobre las variables, consultePlantillas y variables.

Annotations

Annotationspermite superponer información detallada sobre los eventos sobre los gráficos. Puede añadir anotaciones seleccionando el panel o añadiendo consultas de anotación mediante la vista de anotaciones, que se abre en el menú del panel de control.

Ejemplo de consulta para añadir anotaciones automáticamente:

SELECT time as time, environment as tags, humidity as text FROM $__table WHERE $__timeFilter(time) and humidity > 95

La siguiente tabla representa los valores de las columnas que se tienen en cuenta para renderizar las anotaciones:

Name Descripción
Time El nombre del campo de fecha u hora. Puede ser una columna con un tipo de datos de fecha u hora nativo de SQL o un valor de época.
Timeend Nombre opcional del campo de fecha u hora de finalización. Puede ser una columna con un tipo de datos de fecha u hora de SQL nativo o un valor de época.
Text Campo de descripción del evento.
Tags Nombre de campo opcional para usar en las etiquetas de eventos como cadena separada por comas.