Update file csv in mysql with query of grafana

Hello,

From a query of mysql I can update my database with data from a .csv file, but I cannot update data with the same query from Grafana using “Annotations”.
The error message is seen in the image.
The query is seen in the image.

Any solution’? please.

Fail

Hola Cristian,

Por que quieres hacer esto ?? Nunca he visto nada parecido y no entiendo tu intencion.

Hola Daniel,

Gracias por responder. Te explico:

Tengo un archivo en formato .CSV que adquiere nuevos datos cada 1 minuto aproximadamente, este archivo .CSV lo subo a una BD (MySQL) con la misma consulta de la imagen anterior, para finalmente visualizar los datos en Grafana, pero debido a que este archivo .CSV adquiere nuevos datos cada 1 minuto, necesito recargar el .CSV a la BD para actualizar los datos, La idea es que la recarga o actualización de datos sea automática o manual desde la interfaz de Grafana y no tener que ingresar a la BD para ejecutar una consulta.
Si estoy haciendo un proceso redundante o hay otra manera sería de gran ayuda.

Hola Cristian,

La parte que describes que me queda masomenos clara, pero sigo sin entender por qué quieres hacerlo en annotations, si lo hicieras en un panel normal podrías tener datos actualizados con mayor frecuencia.
En cualquier caso tu problema está relacionado con algo en la base de datos, y no sabría decirte exactamente, pero creo que te estas refiriendo a un archivo en tu maquina local, pero el archivo .CSV debe estar en el servidor.

Tienes toda la razón Daniel, es mejor realizarlo en el panel, así se ejecutaría automáticamente en intervalos de tiempos, pero de todas maneras me sigue enviando el mismo error cuando quiero cargar el archivo desde grafana. (Para aclarar, está todo instalado y ejecutándose en un localhost, ya sea grafana, base de datos y archivo en formato .CSV).

La solución que encontré a este tema después de investigar y siguiendo tu consejo, fue indagar en la base de datos, para ellos realicé lo siguiente:

  • 1er intento, crear un evento en mysql (con la consulta LOAD DATA LOCAL INFILE), el cual cada ciertos intervalos de tiempo importe los datos el archivo en formato .CSV a la tabla de la base de datos, pero MYSQL no permite tal acción por temas de seguridad.
  • 2do intento, crear un archivo .bat que importe los datos del archivo en formato .CSV a la tabla de la base de datos, esto si funcionó y lo explico por si a alguien le sirve en el futuro.

1.- Crear un archivo .bat y en su interior:
cd…
cd…
cd Program Files\MariaDB 10.4\bin
mysqlimport.exe --host=localhost --user=root --password=sa --low-priority -i --fields-terminated-by="," --fields-enclosed-by=";" --fields-escaped-by=";" --lines-terminated-by="\r\n" --local robot test.csv

Con “cd…” se posiciona en carpeta C:\ y posterior a ellos se accede a carpeta “bin” que contiene a “mysqlimport.exe”. Luego, se inicia mysqlimport.exe, se accede con credenciales y lo siguiente son las diferentes opciones que tienes para importar tu archivo a la base de datos (El archivo .CSV tiene que tener el mismo nombre que tu tabla donde deseas importar los datos).
Robot: base de datos
test: tabla
Al tener el archivo .bat completo, lo agregas como una tarea programad de windows para que se ejecute a tu gusto.

PD:
No pude conseguir que se realice tal acción desde Grafana.
Es el mismo procedimiento para base de datos mariaDB.

Saludos.

1 Like