Grafana: Solicitud de función: aceptar variables en los niveles de umbrales de la red

Creado en 10 oct. 2014  ·  66Comentarios  ·  Fuente: grafana/grafana

Hola @torkelo , me faltan niveles de umbrales variables por plantilla de panel

Supongamos que estoy diseñando una plantilla de panel de producto (servidor web Apache por ejemplo) y necesito observar cuando el tiempo de respuesta es mayor que un umbral.

Si bien el tablero es el mismo, podemos cambiar a otras instancias con variables, pero el tiempo de respuesta (si es bueno o no) depende del backend qué proceso real (puede ser un servidor de aplicaciones, puede ser un html estático o quizás un Servidor LAMP), en cada caso los umbrales serán muy diferentes.

También sería una buena idea mapear estos umbrales (2 dígitos) con una de las variables en la plantilla (nombre de la instancia) por ejemplo.

aredashboartemplating arepanegraph typfeature-request

Comentario más útil

@kmoczydlowski @bogatuadrian @sofixa @golddiga @ cattt84
Deje de golpear con +1, está causando a cada suscriptor una notificación (y posiblemente un correo electrónico)

Utilice las reacciones a la derecha de cada comentario para expresar su voto.
Gracias 😄

Todos 66 comentarios

: +1:

También me encantaría ver esto: +1:

No estoy seguro de si esto funciona en absoluto, pero tal vez si pudiéramos crear una variable $ umbral vinculada que actualice el umbral en función de la configuración de la variable, y luego el umbral solo usa $ umbral

+1 que abrirá muchas nuevas posibilidades en términos de paneles dinámicos

Me encantaría tener la capacidad de asignar una métrica a un umbral. Utilizo Grafana para dibujar gráficos de uso de enlaces para hardware de red y es bueno tener un umbral asignado al tipo de interfaz. Por el momento, uso la fuente IfSpeed ​​SNMP para obtener la velocidad de la interfaz activa y dibujarla como una métrica no completa, pero de esta manera se rompe la función dinámica máxima / mínima de Grafana.

+1, sería genial tener esta función. Necesito establecer el umbral mediante etiquetas influxdb.

¿Hay alguna novedad sobre este tema?

También necesito urgentemente esto. Idealmente, el valor de la variable de plantilla podría ser el resultado de una consulta (no el nombre de la ruta sino el valor devuelto por esta consulta)

+1

Buscando establecer el valor de umbral de forma dinámica en función de la consulta de elasticsearch.

Para usar Grafana como reemplazo de PNP4Nagios, sería muy útil tener la posibilidad de establecer umbrales de advertencia / crítica y valores mínimos / máximos del eje y en función de los valores de campo.

Necesito esto también.
Por ejemplo, tengo un gráfico de memoria y no puedo cambiar la variable de servidor $. Los servidores tienen una cantidad diferente de memoria y quiero saber cuánto en GiB (no%) se usa, pero no recuerdo la cantidad total de memoria en ellos. Entonces necesito un umbral (o, tal vez, Y-Max) con la variable $ total_mem.

+1 aquí necesita aceptar $ variable

+1

También estoy ansioso por esta función, por lo que puedo usar una sola plantilla de gráfico para múltiples dispositivos que tienen diferentes umbrales.

Me gustaría tener esta función también. ¿Cuál es el estado actual de esto?

+1

+1

+1

+1

@kmoczydlowski @bogatuadrian @sofixa @golddiga @ cattt84
Deje de golpear con +1, está causando a cada suscriptor una notificación (y posiblemente un correo electrónico)

Utilice las reacciones a la derecha de cada comentario para expresar su voto.
Gracias 😄

¿Por qué no se pueden utilizar plantillas?

¿El umbral dinámico se puede implementar en la fuente de datos simpleJson?

+1

+1

+1

Así que ahora tenemos 2018. ¿Qué pasa con esta función?

+1

+1 en esto.

¿Cómo ha estado abierto esto durante 4 años? Uno de nuestros casos de uso es la supervisión de las cuotas de almacenamiento de archivos. El umbral se define como un límite flexible y un límite estricto, ambos definidos por recurso compartido de archivos, por lo que establecerlo manualmente es imposible, ya que los gráficos se crean dinámicamente. Parece trivial dejarnos elegir un valor métrico para pasar como valor al umbral. Estos umbrales también deberían poder utilizarse para las alertas.

También estaba detrás de esto (para el panel de estado único), y he implementado una versión que, con suerte, se fusionará con el complemento matemático de estado único de terceros (primer intento de hacer un complemento, por lo que puede tener problemas).
El RP está aquí: https://github.com/black-mirror-1/singlestat-math/pull/14
Puede extraer de mi rama si desea usarlo ahora.
Todo lo que necesita hacer es agregar una fuente de datos adicional, darle un nombre y usar ese nombre en los umbrales. Este complemento también admite umbrales de n , que pueden ser útiles para algunos.

Necesito esto para comprobar si algún trabajo se está retrasando. Como solución temporal, por ahora uso una consulta de variable de plantilla max(my_prometheus_metric) y la configuro en una variable oculta, y luego tengo una consulta adicional para mi vista de tabla que hace abs(my_prometheus_metric - $variable) , y agrego umbral en eso columna. Desafortunadamente, no es posible ocultar una columna que se usa para configurar el color de la fila, por lo que yo también estaría feliz con esta función.

¿Alguna actualización sobre esta función?

@ debmalyapan53 Lo siento, dejé caer la pelota en esto, pero acabo de poner otro PR contra el último lanzamiento. Con suerte, se fusionará en poco tiempo. El RP actual está en: https://github.com/black-mirror-1/singlestat-math/pull/30
Salud.

En realidad, quiero implementar un cuadro de texto donde el usuario pueda establecer el valor de umbral, para que el mismo se refleje en el gráfico.

+1

usando la plantilla, podemos solucionar esto, esta es mi configuración:

image

image

Tenga en cuenta que desactivé un servidor en los últimos minutos y el umbral cambió

Lamentablemente, esto no resuelve todo, no podemos "llenar arriba" y no podemos tener alertas basadas en esto. Entonces, si bien la solución funciona en muchos casos, no resuelve todos los problemas, grafana aún necesitaba poder usar variables / consultas para configurar los umbrales / alertas.

5 años y no hay noticias sobre esta hazaña. ¿solicitud?

Me gustaría alertar sobre los resultados de Elastic ML con Grafana. Panel de control de ejemplo sobre el que me gustaría alertar. Tengo el umbral inferior / superior en el gráfico, que es el diagrama del modelo.

image

+1
esta es una característica muy importante. Curiosidades por qué se está quedando atrás.

Esta es realmente una de las principales características necesarias. ¿Podemos tener una actualización sobre esto, por favor?

Esta es realmente una de las principales características necesarias. ¿Podemos tener una actualización sobre esto, por favor?

Secundo esto. Por favor por favor por favor....

Básicamente, esto nunca va a suceder a pesar de que mucha gente lo está pidiendo aquí, y en una multitud de otras solicitudes, informes de errores y en la web en general en el transcurso de 5 años. Manera de tomar la entrada de sus usuarios y mejorar su aplicación.

Yo también necesito esto.

Verifique https://github.com/grafana/grafana/pull/19102 : si puede usar su variable para generar un valor a partir de una consulta, esto podría funcionar. "SELECCIONAR $ {var} DE xyz"

Como solución alternativa, hago lo siguiente. Se asume que el segundo eje Y no se utiliza (o tiene un valor mínimo y máximo fijo).

Ejemplo:
image

Así es como se crea:

  • Agregue una métrica llamada "abajo" (o lo que sea)

    • Utilice una consulta de Prometheus como esta (¡varias líneas!). vea las notas a continuación.

      1 - (day_of_week(vector(time())) > bool 0)
      * (day_of_week(vector(time())) < bool 6)
      * (((hour(vector(time()))  >= bool 7 - 2)))
      * (hour(vector(time())) < bool 19 - 2)
  • Agregue una anulación de visualización para esta métrica denominada "abajo":

    • Relleno de línea: 1

    • Ancho de línea: 0

    • Línea de escalera: verdadero

    • Color: _a gris claro, como_ "rgb (167, 167, 167)"

    • Eje Y: 2

    • Índice Z: 1 _ (frente a otras métricas) _

    • Leyenda: falso

    • Ocultar en información sobre herramientas: falso

  • Configure la visualización del segundo eje Y:

    • min: 0

    • max: 1 (o lo que quieras ... multiplica la métrica anterior en consecuencia)

Nota sobre la consulta:

  • En el ejemplo de consulta anterior, "7-2" son las 7h00 de la mañana, el "-2" es mi zona horaria y el horario de verano.
  • La consulta de ejemplo también maneja fines de semana
  • Puede responder a este comentario si adapta la consulta para otras fuentes de datos

Ugh ... realmente necesito esto y es 2019 ... este es un hilo antiguo

lo mismo aquí ... probablemente nunca sucederá?

¿Es difícil de implementar o simplemente nadie quiere hacerlo? Si es así, me gustaría intentarlo

@EggTronic Eché un vistazo a lo que implicaría, creo que se reduce al objeto Threshold:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/packages/grafana-data/src/types/threshold.ts#L1 -L4

Estaba buscando implementar esto para el manómetro específicamente. Los umbrales se utilizan aquí:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L37

Y más abajo en el mismo archivo, se usa una función replaceVariables , creo que se usa para evaluar variables de grafana:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L53 -L61

La forma en que puedo ver que se está haciendo es

  1. Modifique el tipo Threshold para que value pueda ser un nombre de variable (cadena) en su lugar.
  2. Agregue lógica a cada tipo de panel para llamar a replaceVariables en cualquier Threshold.value que sean cadenas.
  3. Hacer que el cuadro de configuración de umbral acepte cadenas (nombres de variables).

Sin embargo, no estoy seguro de si el diseño es apropiado para el código base. Es un truco.

+1 para la solicitud de función

+1

Realmente podría usar esto para el panel Gauge. Quiero mostrar un indicador para cada etiquetador que escriba en mi base de datos. Cada registrador informa su tasa de ingesta y la tasa de ingesta óptima teórica. Pero cada registrador necesita diferentes umbrales para sus respectivas tasas de ingesta.

+1

¿Existe una solución alternativa para este tipo de funcionalidad (para el panel SingleStat)? ¿O se pueden actualizar los umbrales con una consulta MySQL?

¿Cuál es el estado de estos problemas? ¿Se va a implementar esto? ¿O es demasiado difícil de implementar?

Ya he preguntado esto pero sin respuesta: # 25313

+1

Sin embargo, no estoy seguro de si el diseño es apropiado para el código base. Es un truco.

@liamdiprose En mi
Una razón teórica para evitar las leyendas dinámicas es que una plantilla de panel debe referirse a un conjunto de datos uniforme. Tener una leyenda dinámica abierta para tener una plantilla genérica que pueda administrar diferentes flujos de datos y esto podría no ser correcto. En mi humilde opinión, estoy enfrentando un caso de uso en el que varios índices comparten un diseño de panel similar con diferentes escalas y mapeo de colores.
Tener umbrales dinámicos me permite administrar un solo panel en lugar de replicarlo para diferentes índices.

¿Algún comentario @torkelo o cualquier otro en grafana lab o colaboradores principales? algunas de las funciones se gestionan en https://github.com/grafana/grafana/pull/24763 ?

@luipir Todavía no, necesitamos urgentemente esta función en el trabajo, pero todavía está en mi lista de trabajos pendientes. :llorar:

Grafana 7 parece moverse en la dirección impulsada por los datos, por lo que creo que esta función se agregará eventualmente. @ryantxu de GrafanaLabs mencionó que el uso de variables de esta manera estaba próximo en un hilo de problemas similar: https://github.com/grafana/grafana/issues/4929#issuecomment -601958742

Me encantaría ver que cada cuadro de configuración acepta variables. Quizás todos los valores proporcionados por el usuario deberían ser "evaluados": los nombres de las variables se evalúan según su valor, los valores se evalúan a sí mismos. La evaluación de variables necesitará la función replaceVariables correcta (suministrada al panel como accesorio) para funcionar.

Sería bueno si replaceVariables fuera reemplazado por eval(varname) -> value , y luego replaceVariables puede convertirse en una función de utilidad que toma eval como parámetro.

+1

+1

+1

+1

Esta sería una característica extremadamente útil al trazar acciones. Por ejemplo, puedo tener umbrales basados ​​en el precio de apertura de un símbolo de acciones sin representarlo como una métrica. El problema con el que me he encontrado al trazarlo como una métrica es que aplanará / normalizará el gráfico.

Sin graficar el precio de apertura:
image

Después de graficar el precio de apertura:
image

Establecer el precio de apertura como umbral (línea azul):
image

+1

+1, esta ha sido una característica solicitada desde hace mucho tiempo y parece bastante "estándar". ¡Esperamos una futura actualización con esta funcionalidad!

+1

En lugar del aburrido +1, estoy poniendo un (gigante) 🍺 como recompensa por el que trae esta característica a la realidad.

Ejemplo de caso de uso: al intentar crear un panel de SLO genérico para todos los puntos finales de una API, me gustaría que el panel recibiera las condiciones de SLO a través de la URL del panel.

Tuve un problema similar, tengo una consulta de mysql y un tablero con variables para min y max. No poder utilizar las variables mín. / Máx. En los umbrales fue decepcionante. Pero logré trazar algo similar, lo que al menos me permitió visualizar los valores atípicos.

  1. En la consulta, haga referencia a sus variables como columnas adicionales.
    select time, data, ${minimum} as data_min, ${maximum} as data_max from table
  2. Agregue una anulación de serie, con coincidencia de expresiones regulares en el mínimo y el máximo (por ejemplo, /data_(min|max)/ )
  3. Establezca la anulación en:

    1. Habilitar líneas (suponiendo que el gráfico sea de otra manera puntos)

    2. Deshabilitar puntos

    3. Use un color diferente (o use anulaciones individuales para min / max)

    4. Desactivar leyenda

    5. Deshabilitar la información sobre herramientas

Si tiene una columna métrica, probablemente querrá nombrar su valor de datos como '' ( data as '' ), lo que deja la leyenda / información sobre herramientas sin adornos.

Por supuesto, esto es solo una solución visual, no obtiene los otros beneficios de los umbrales, por lo que esta solicitud de función aún es muy necesaria.

¿Fue útil esta página
0 / 5 - 0 calificaciones