Uso del origen de datos de Prometheus - Amazon Managed Grafana

Uso del origen de datos de Prometheus

Configuración de Prometheus

Nombre Descripción
Name El nombre del origen de datos. Así es como se ve el origen de datos en los paneles y las consultas.
Default El origen de datos predeterminado significa que se preseleccionará para los nuevos paneles.
Url La URL del servidor de Prometheus; por ejemplo, https://prometheus.example.org:9090.
Access Servidor (predeterminado) = La URL debe ser accesible desde el backend o el servidor de Grafana.
Basic Auth Habilite la autenticación básica en el origen de datos de Prometheus.
User Nombre de usuario de autenticación básica.
Password Contraseña de autenticación básica.
Scrape interval Establézcalo en el intervalo típico de extracción y evaluación configurado en Prometheus. El valor predeterminado es 15 segundos.
Disable metrics lookup Al marcar esta opción, se deshabilitarán el selector de métricas y la compatibilidad con métricas o etiquetas en la función de autocompletar del campo de consultas. Esto es útil si hay problemas de rendimiento con instancias de Prometheus más grandes.
Custom Query Parameters Agregue parámetros personalizados a la URL de consultas de Prometheus. Por ejemplo, timeout, partial_response, dedup o max_source_resolution. Los parámetros múltiples se deben concatenar varios con “&”.

Editor de consultas de Prometheus

Las siguientes secciones proporcionan información y opciones para el editor de consultas de Prometheus en el panel y en Explore.

Editor de consultas en paneles

Para abrir un gráfico en el modo de edición, seleccione el título y, a continuación, seleccione Editar (o pulse la tecla e mientras hace una pausa en el panel).

Nombre Descripción
Query expression Para obtener más información sobre las expresiones de consultas de Prometheus, consulte la documentación de Prometheus.
Legend format Controla el nombre de la serie temporal mediante el nombre o el patrón. Por ejemplo, {{hostname}} se sustituye por el valor de la etiqueta hostname.
Min step Un límite inferior adicional para el parámetro step de las consultas de intervalo de Prometheus y para las variables $__interval y $__rate_interval. El límite es absoluto y no lo modifica la configuración de Resolución.
Resolution 1/1 establece tanto la variable $__interval como el parámetro step de las consultas de intervalo de Prometheus de manera que cada píxel corresponda a un punto de datos. Para obtener un mejor rendimiento, utilice resoluciones más bajas. 1/2 solo recupera un punto de datos por cada dos píxeles y 1/10 recupera un punto de datos por cada 10 píxeles. Tenga en cuenta que el Intervalo de tiempo mínimo y el Paso mínimo limitan el valor final de $__interval y step.
Metric lookup Busque los nombres de las métricas en este campo de entrada.
Format as Cambia entre Table, Time series o Heatmap. Table solo funciona en el panel de tablas. Heatmap es adecuado para mostrar métricas del tipo histograma en un panel de mapa de calor. Convierte los histogramas acumulados en histogramas normales y clasifica los buckets por grupos.
Instant Haga una consulta “instantánea” para devolver solo el último valor que haya extraído Prometheus para la serie temporal solicitada. Las consultas instantáneas devuelven resultados mucho más rápido que las consultas de intervalo normales. Utilícelas para buscar conjuntos de etiquetas.
Min time interval Este valor multiplicado por el denominador de la configuración de Resolución establece un límite inferior tanto para la variable $__interval como para el parámetro step de las consultas de intervalo de Prometheus. El valor predeterminado pasa a ser Intervalo de extracción según se establece en las opciones del origen de datos.
nota

Amazon Managed Grafana modifica las fechas de solicitud de las consultas para alinearlas con el paso calculado dinámicamente. Esto garantiza una visualización coherente de los datos de las métricas, pero puede provocar una pequeña discontinuidad de los datos en el borde derecho del gráfico.

Consultas instantáneas en los paneles

El origen de datos de Prometheus le permite ejecutar consultas instantáneas del valor más reciente. Puede visualizar los resultados en un panel de tablas para ver todas las etiquetas disponibles de una serie temporal.

Los resultados de las consultas instantáneas se componen de un solo punto de datos por serie. Se pueden mostrar en el panel de gráficos con la ayuda de anulaciones de serie. Para mostrarlos en el gráfico como el último punto de valor, agregue una modificación de la serie y seleccione Points > true. Para mostrar una línea horizontal en todo el gráfico, agregue una modificación de serie y seleccione Transform > constant. Para obtener más información sobre las anulaciones de serie, consulte Anulaciones de series.

Editor de consultas en Explore

Nombre Descripción
Query expression Para más información sobre la expresión de consultas de Prometheus, consulte la documentación de Prometheus.
Step Parámetro Step de las consultas de intervalo de Prometheus. Aquí se pueden usar unidades de tiempo, por ejemplo, 5s, 1m, 3h, 1d y 1y. La unidad predeterminada, si no se ha especificado ninguna unidad, es s (segundos).
Query type Range, Instant, o Both. Al ejecutar una Consulta de intervalo, el resultado de la consulta se muestra en un gráfico y una tabla. La consulta instantánea devuelve solo el último valor que haya extraído Prometheus para la serie temporal solicitada y se muestra en la tabla. Cuando se selecciona Ambas, se ejecutan tanto la consulta instantánea como la consulta de intervalo. El resultado de la consulta de intervalo se muestra en el gráfico y el resultado de la consulta instantánea se muestra en la tabla.

Navegador de métricas

El navegador de métricas le permite encontrar métricas rápidamente y seleccionar las etiquetas correspondientes para crear consultas básicas. Cuando abra el navegador, verá todas las métricas y etiquetas disponibles. Si la instancia de Prometheus lo admite, cada métrica mostrará su AYUDA y TIPO como información sobre herramientas.

Al seleccionar una métrica, el navegador reduce las etiquetas disponibles para mostrar solo las que se aplican a la métrica. A continuación, puede seleccionar una etiqueta o varias y se mostrarán los valores de etiqueta disponibles en las listas de la sección inferior. Seleccione un valor o varios para cada etiqueta para restringir el alcance de la consulta.

nota

Si no recuerda el nombre de una métrica con el que empezar, también puede seleccionar antes algunas etiquetas para reducir la lista y, luego, buscar los valores de etiqueta correspondientes.

Todas las listas del navegador de métricas tienen un campo de búsqueda encima para filtrar rápidamente las métricas o etiquetas que coinciden con una cadena determinada. La sección de valores solo tiene un campo de búsqueda. Su filtrado se aplica a todas las etiquetas para encontrar valores en todas las etiquetas una vez que las haya seleccionado, por ejemplo, entre las etiquetas app, job o job_name, solo una podría tener el valor que busca.

Cuando la consulta sea satisfactoria, haga clic en “Usar consulta” para ejecutarla. El botón Utilizar como consulta de tasa agrega una función rate(...)[$__interval] en torno a la consulta para escribir consultas para las métricas de contadores. El botón “Validar selector” comprobará con Prometheus cuántas series temporales están disponibles para ese selector.

Limitaciones

El navegador de métricas tiene un límite estricto de 10 000 etiquetas (claves) y 50 000 valores de etiquetas (lo que incluye los nombres de las métricas). Si la instancia de Prometheus devuelve más resultados, el navegador seguirá funcionando. Sin embargo, los conjuntos de resultados se reducirán por encima de esos límites máximos.

Plantillas

En lugar de codificar elementos como el nombre del servidor, la aplicación y el sensor en las consultas de métricas, puede utilizar variables en su lugar. Las variables se muestran como cuadros de selección desplegables en la parte superior del panel de control. Puede usar estos cuadros desplegables para cambiar los datos que se muestran en su panel de control.

Para obtener más información acerca de las plantillas y sus variables, consulte Plantillas y variables.

Variable de consulta

La variable del tipo Consulta le permite consultar Prometheus para obtener una lista de métricas, etiquetas o valores de etiquetas. El complemento de origen de datos de Prometheus proporciona las siguientes funciones que puede utilizar en el campo de entrada Consulta.

Nombre Descripción
label_names() Devuelve una lista de nombres de etiquetas.
label_values(label) Devuelve una lista de valores de etiquetas para el parámetro label de cada métrica.
label_values(metric, label) Devuelve una lista de valores de etiquetas para el parámetro label de la métrica especificada.
metrics(metric) Devuelve una lista de métricas que coinciden con la expresión regular especificada metric.
query_result(query) Devuelve una lista de los resultados de la consulta de Prometheus para query.

Para obtener información sobre qué son los nombres de las métricas, los nombres de las etiquetas y los valores de las etiquetas, consulte la documentación de Prometheus.

Uso de variables de intervalo y rango

nota

La compatibilidad con $__range, $__range_s y $__range_ms está disponible solo a partir de Grafana v5.3.

Puede utilizar algunas variables globales en las variables de consulta: $__interval, $__interval_ms, $__range, $__range_s y $__range_ms. Para obtener más información, consulte Variables globales. Puede resultar práctico utilizarlas con la función query_result cuando se deben filtrar consultas de variables, ya que la función label_values no admite consultas.

Para obtener las instancias correctas al cambiar el intervalo de tiempo en el panel, asegúrese de configurar el desencadenador refresh de la variable para que sea On Time Range Change.

El siguiente ejemplo de código muestra cómo rellenar una variable con las cinco instancias de solicitud de mayor actividad en función del QPS promedio en el intervalo de tiempo que se muestra en el panel.

Query: query_result(topk(5, sum(rate(http_requests_total[$__range])) by (instance))) Regex: /"([^"]+)"/

El siguiente ejemplo de código muestra cómo rellenar una variable con las instancias que tienen un estado determinado en el intervalo de tiempo que se muestra en el panel mediante $__range_s.

Query: query_result(max_over_time(<metric>[${__range_s}s]) != <state>) Regex:

Uso de la variable $__rate_interval

La variable $__rate_interval está destinada a usarse en la función de tasa. Se define como máx.($__interval + intervalo de extracción, 4 * intervalo de extracción). Intervalo de extracción es la configuración del paso mínimo (también denominado query_interval, una configuración por consulta de PromQL), si se establece alguno, y de lo contrario, el intervalo de extracción como se establece en el origen de datos de Prometheus (pero se ignora cualquier configuración de intervalo mínimo del panel, porque esta última se modifica con la configuración de resolución).

Uso de variables en consultas

Existen dos sintaxis:

  • Ejemplo de $<varname>: rate(http_requests_total{job=~"$job"}[5m])

  • Ejemplo de [[varname]]: rate(http_requests_total{job=~"[[job]]"}[5m])

¿Por qué de dos maneras? La primera sintaxis es más fácil de leer y escribir, pero no permite utilizar una variable en medio de una palabra. Cuando las opciones Varios valores o Valor Incluir todo están habilitadas, Grafana convierte las etiquetas de texto sin formato a una cadena compatible con expresiones regulares. Lo que significa que tiene que utilizar =~ en lugar de =.

Anotaciones

Puede utilizar las anotaciones para superponer información detallada de los eventos sobre los gráficos. Las consultas de anotación se agregan mediante el menú Panel o la vista Anotaciones. Para obtener más información, consulte Annotations.

Prometheus admite dos formas de consultar anotaciones.

  • Una consulta de métricas normal.

  • Una consulta de Prometheus para alertas pendientes y de activación. Para más información, consulte Inspecting alerts during runtime.

La opción del paso es útil para limitar el número de eventos que se devuelven de la consulta.