Referencia de la plantilla - 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.

Referencia de la plantilla

Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana.

Para los espacios de trabajo de Grafana que admiten la versión 10.x de Grafana, consulte Uso de la versión 10 de Grafana.

Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte Uso de la versión 8 de Grafana.

En esta sección se proporciona información de referencia para crear plantillas.

Datos de plantilla

Los siguientes datos se transfieren a las plantillas de mensajes.

Nombre Tipo Notas

Receiver

cadena

Nombre del punto de contacto al que se envía la notificación.

Status

cadena

firing si se está activando al menos una alerta; de lo contrario, resolved.

Alerts

Alerta

Lista de los objetos de alerta que se incluyen en esta notificación (véase más abajo).

GroupLabels

KeyValue

Etiquetas por las que se agruparon estas alertas.

CommonLabels

KeyValue

Etiquetas comunes a todas las alertas incluidas en esta notificación.

CommonAnnotations

KeyValue

Anotaciones comunes a todas las alertas incluidas en esta notificación.

ExternalURL

cadena

Enlace para volver a la instancia de Grafana que envió la notificación. Si utiliza un Alertmanager externo, enlace para volver a este Alertmanager.

El tipo Alerts presenta dos funciones para filtrar las alertas devueltas.

  • Alerts.Firing: devuelve una lista de alertas en activación.

  • Alerts.Resolved: devuelve una lista de alertas resueltas.

Alerta (tipo)

El tipo de alerta contiene los datos siguientes.

Nombre Tipo Notas

Estado

cadena

firing o bien resolved.

Etiquetas

KeyValue

Un conjunto de etiquetas adjunto a la alerta.

Annotations

KeyValue

Un conjunto de anotaciones adjunto a la alerta.

Valores KeyValue Valores de todas las expresiones, incluidas las condiciones clásicas

StartsAt

time.Time

Hora en que la alerta empezó a activarse.

EndsAt

time.Time

Se establece solo si se conoce la hora de finalización de una alerta. De lo contrario, se establece en un periodo de tiempo de espera configurable a partir del momento en que se recibió la última alerta.

GeneratorURL

cadena

Enlace para volver a Grafana o a una instancia externa de Alertmanager.

SilenceURL

cadena

Un enlace para silenciar la alerta (con las etiquetas de esta alerta rellenadas previamente). Solo para alertas administradas por Grafana.

DashboardURL

cadena

Enlace al panel de control de Grafana, si la regla de alerta pertenece a uno. Solo para alertas administradas por Grafana.

PanelURL

cadena

Enlace al panel de paneles de control de Grafana, si la regla de alerta pertenece a uno. Solo para alertas administradas por Grafana.

Huella digital

cadena

Huella digital que se puede utilizar para identificar la alerta.

ValueString

cadena

Una cadena que contiene las etiquetas y el valor de cada expresión reducida de la alerta.

ExtendedData

El objeto ExtendedData contiene las siguientes propiedades.

Nombre Tipo Descripción Ejemplo

Receptor

string

El nombre del punto de contacto que envía la notificación.

{{ .Receiver }}

Estado

string

El estado es firing if at least one alert is firing, otherwise resolved..

{{ .Status }}

Alertas

[]Alert

Lista de todas las alertas en activación y resueltas de esta notificación.

There are {{ len .Alerts }} alerts

Alertas en activación

[]Alert

Lista de todas las alertas en activación de esta notificación.

There are {{ len .Alerts.Firing }} firing alerts

Alertas resueltas

[]Alert

Lista de todas las alertas resueltas de esta notificación.

There are {{ len .Alerts.Resolved }} resolved alerts

GroupLabels

KeyValue

Etiquetas que agrupan estas alertas en esta notificación.

{{ .GroupLabels }}

CommonLabels

KeyValue

Etiquetas comunes a todas las alertas incluidas en esta notificación.

{{ .CommonLabels }}

CommonAnnotations

KeyValue

Anotaciones comunes a todas las alertas de esta notificación.

{{ .CommonAnnotations }}

ExternalURL

string

Un enlace al espacio de trabajo de Grafana o al Alertmanager que envió esta notificación.

{{ .ExternalURL }}

Tipo KeyValue

El tipo KeyValue es un conjunto de pares de cadenas de clave-valor que representan etiquetas y anotaciones.

Además del acceso directo a los datos almacenados como KeyValue, también hay métodos para ordenar, eliminar y transformar los datos.

Nombre Argumentos Devuelve Notas Ejemplo

SortedPairs

Lista ordenada de pares de cadenas de claves y valores

{{ .Annotations.SortedPairs }}

Remove

[]string

KeyValue

Devuelve una copia de la asignación de clave-valor sin las claves indicadas.

{{ .Annotations.Remove "summary" }}

Nombres

[]string

Lista de nombres de etiquetas

{{ .Names }}

Valores

[]string

Lista de valores de etiquetas

{{ .Values }}

Tiempo

El tiempo proviene del paquete time de Go. Puede imprimir una fecha y hora en varios formatos diferentes. Por ejemplo, para imprimir la fecha y hora a la que se activó una alerta en el formato Monday, 1st January 2022 at 10:00AM, escriba la siguiente plantilla:

{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}

Puede encontrar una referencia al formato de hora de Go aquí.

Funciones de plantilla

Con las funciones de plantilla, puede procesar etiquetas y anotaciones para generar notificaciones dinámicas. Están disponibles las siguientes funciones.

Nombre Tipo de argumento Tipo de retorno Descripción

humanize

número o cadena

cadena

Convierte un número a un formato más legible mediante prefijos métricos.

humanize1024

número o cadena

cadena

Como humanize, pero usa 1024 como base en lugar de 1000.

humanizeDuration

número o cadena

cadena

Convierte una duración en segundos a un formato más legible.

humanizePercentage

número o cadena

cadena

Convierte un valor de relación en una fracción de 100.

humanizeTimestamp

número o cadena

cadena

Convierte una marca de tiempo de Unix en segundos a un formato más legible.

title

cadena

cadena

strings.Title, pone en mayúscula el primer carácter de cada palabra.

toUpper

cadena

cadena

strings.ToUpper, convierte todos los caracteres en mayúscula.

toLower

cadena

cadena

strings.ToLower, convierte todos los caracteres en minúscula.

match

patrón, texto

Booleano

regexp.MatchString, comprueba si hay una coincidencia de expresiones regulares no anclada.

reReplaceAll

patrón, reemplazo, texto

cadena

Regexp.ReplaceAllString, sustitución de expresiones regulares, sin anclar.

graphLink

cadena: objeto JSON con campos expr y datasource

cadena

Devuelve la ruta a la vista gráfica en Explore para la expresión y el origen de datos determinados.

tableLink

cadena: objeto JSON con campos expr y datasource

cadena

Devuelve la ruta a la vista tabular en Explore para la expresión y el origen de datos determinados.

args

[]interface{}

map[string]interface{}

Convierte una lista de objetos en una asignación con claves, por ejemplo, arg0, arg1. Utilice esta función para pasar varios argumentos a las plantillas.

externalURL

ninguno

cadena

Devuelve una cadena que representa la URL externa.

pathPrefix

ninguno

cadena

Devuelve la ruta de la URL externa.

En la siguiente tabla se muestran ejemplos de uso de cada función.

Función TemplateString Entrada Expected

humanize

{ humanize $value }

1 234 567,0

1,235 M

humanize1024

{ humanize1024 $value }

1 048 576,0

1 Mi

humanizeDuration

{ humanizeDuration $value }

899,99

14 min 59 s

humanizePercentage

{ humanizePercentage $value }

0,1234567

12,35 %

humanizeTimestamp

{ humanizeTimestamp $value }

1435065584,128

2015-06-23 13:19:44.128 +0000 UTC

title

{ $value | title }

aa bB CC

Aa Bb Cc

toUpper

{ $value | toUpper }

aa bB CC

AA BB CC

toLower

{ $value | toLower }

aa bB CC

aa bb cc

match

{ match "a+" $labels.instance }

aa

true

reReplaceAll

{{ reReplaceAll "localhost:(.*)" "my.domain:$1" $labels.instance }}

localhost:3000

my.domain:3000

graphLink

{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}

/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]

tableLink

{{ tableLink "{\"expr\":\"up\", \"datasource\":\"gdev-prometheus\"}" }}

/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]

args

{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}

1 2

externalURL

{ externalURL }

http://localhost/path/prefix

pathPrefix

{ pathPrefix }

/path/prefix