es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dibuje más de una serie en la misma serie temporal utilizando Grafana y MySQL.

Tengo varios servidores que informan un valor (temperatura o puntaje de confiabilidad). Quiero representarlos en la misma serie de tiempo, mostrando el valor a lo largo del tiempo para cada métrica.

La tabla se ve así:

Hora valor métrica
2021-12-07 08:24:20 0.994 2787
2021-12-07 08:25:18 0.996 3129
2021-12-07 08:25:34 0.994 2787
2021-12-07 08:26:31 0.996 3129
2021-12-07 08:26:48 0.994 2787
2021-12-07 08:27:44 0.996 3129

Leí algunas preguntas similares, pero su solución no funciona por alguna razón.

Si elimino la agrupación para representar las dos columnas.

Imagen de ejemplo

Utilizando Grafana v8.2.5 (b57a137acd) y MySQL Server 8.0.27.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para representar varios servidores informando un valor (temperatura o puntuación de confiabilidad) en la misma serie temporal, puedes modificar la consulta original de MySQL para incluir todas las métricas requeridas en la declaración SELECT sin agrupar por el identificador de máquina. Esto proporcionará una tabla con columnas de tiempo, valor y métrica para todos los servidores.

    La consulta modificada podría verse así:

    SELECT
      time AS "time",
      reliability AS value,
      'machine1' AS metric
    FROM machine
    WHERE $__unixEpochFilter(time)
    UNION ALL
    SELECT
      time AS "time",
      reliability AS value,
      'machine2' AS metric
    FROM machine2
    WHERE $__unixEpochFilter(time)
    ORDER BY time ASC
    

    Esta consulta selecciona el tiempo y la confiabilidad de dos fuentes diferentes (machine y machine2 en este ejemplo) e incluye una columna de métrica constante (‘machine1’ y ‘machine2’) para distinguir entre las fuentes. La instrucción UNION ALL combina los resultados de ambas fuentes en una sola tabla.

    En Grafana, puedes crear un nuevo panel de gráfico de serie temporal y configurar la fuente de datos para utilizar esta consulta de MySQL. Luego, puedes utilizar la columna de métrica para separar las series por fuente (machine1 o machine2) y la columna de valor para mostrar la temperatura o puntuación de confiabilidad a lo largo del tiempo.

    Ten en cuenta que la macro $__unixEpochFilter se utiliza para asegurarse de que el rango de tiempo se transmita correctamente desde Grafana a MySQL como marcas de tiempo Unix.

Comments are closed.