CSV naar InfluxDB lukt niet

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Kuusj
  • Registratie: April 2012
  • Laatst online: 21:10

Kuusj

Ofwel varken in 't Limburgs

Topicstarter
Ik probeer een dashboard met Grafana op InfluxDB te bouwen. Tot dusver gaat dat best prima als ik gebruik maak van mijn Domoticz omgeving om data naar de InfluxDB database te pushen. Nu wil ik net wat andere (logdata) in CSV naar InfluxDB duwen om daar wat mee te kunnen in Grafana. Dat werkt echter na heel wat uren proberen voor geen meter.. Ik loop constant tegen problemen aan, dan is de timestamp niet goed, dan mist er een tag value. Daarom dat ik hier eens probeer te vragen.

Laten we als voorbeeld stellen dat ik dit als CSV heb:
code:
1
2
"IPDST","RULE",Time
"192.168.2.2","Testwaarde",2021-06-25T19:52:10+00:00

Dat vind InfluxDB niet leuk, want het moet line protocol zijn (https://docs.influxdata.c...nce/syntax/line-protocol/), waarvan dit het voorbeeld is:
code:
1
2
3
4
5
// Syntax
<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]

// Example
myMeasurement,tag1=value1,tag2=value2 fieldKey="fieldValue" 1556813561098000000

Tag keys zijn optioneel volgens de documentatie, dus in mijn ogen (inclusief omzetten naar Unix timestamps) moet het dan zo uitzien:
code:
1
Logfile IPDST="192.168.2.2",COMMENT="Testwaarde" 1624653561098000000

Dat accepteert handmatig ingevoerd wel, maar als ik het exact hetzelfde in een .csv probeer te uploaden meldt hij dat de timestamp bad is. Bij handmatig invoeren accepteert hij de input, vervolgens veld IPDST of COMMENT selecteren resulteert in 0 resultaten.

Ik begrijp niet helemaal wat ik verkeerd doe.. In InfluxDB krijg ik als ik een veld selecteer (bijv. IPDST): "Your query is syntactically correct but returned no results". Timestamp zou in Unix in nanoseconden moeten. Dat is het vzviw ook gewoon.

De gegevens moeten gewoon in een tabel komen te staan in Grafana, dus bijvoorbeeld de waarde "XYZ" van veld COMMENT komt 32x voor.

Ziet iemand wat ik hier verkeerd doe? Kan het misschien niet wat ik wil? Heb ik een andere databasesoftware nodig voor deze toepassing? Ik ben niet zo ervaren op dit gebied helaas. Beetje vreemd ook hoe InfluxDB data aangeleverd wil krijgen. In plaats van elke normale software die standaard CSV met DateTime format accepteert.

9800X3D - RX 6900XT - Volvo S40 T5 '10 - Kever '74

Alle reacties


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Klaagt 'ie niet gewoon over de eerste regel met de veldnamen? Dat is natuurlijk geen geldige timestamp etc.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Kuusj
  • Registratie: April 2012
  • Laatst online: 21:10

Kuusj

Ofwel varken in 't Limburgs

Topicstarter
RobIII schreef op vrijdag 25 juni 2021 @ 23:21:
Klaagt 'ie niet gewoon over de eerste regel met de veldnamen? Dat is natuurlijk geen geldige timestamp etc.
Bij de aangepaste regel geef ik ook niet meer de headers mee, dus het is puur en alleen:
code:
1
Logfile IPDST="192.168.2.2",COMMENT="Testwaarde" 1624653561098000000

Zoals ook in de documentatie.

Ik heb nu heel toevallig een Youtube kanaal gevonden met iemand die een plug-in voor Grafana heeft gemaakt waarmee je JSON/CSV enz. kunt ingesten via een site of via inline tekst. Daar alles inplakken werkt gewoon. Maar het kan toch niet zo lastig zijn om een simpel CSV'tje in InfluxDB te krijgen denk ik dan :X

9800X3D - RX 6900XT - Volvo S40 T5 '10 - Kever '74


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
Kuusj schreef op vrijdag 25 juni 2021 @ 23:28:
[...]
*knip*

Ik heb nu heel toevallig een Youtube kanaal gevonden met iemand die een plug-in voor Grafana heeft gemaakt waarmee je JSON/CSV enz. kunt ingesten via een site of via inline tekst. Daar alles inplakken werkt gewoon. Maar het kan toch niet zo lastig zijn om een simpel CSV'tje in InfluxDB te krijgen denk ik dan :X
Heb je het via de command line tool geprobeerd?

Acties:
  • 0 Henk 'm!

  • Kuusj
  • Registratie: April 2012
  • Laatst online: 21:10

Kuusj

Ofwel varken in 't Limburgs

Topicstarter
Nee nog niet. Wat ik wel heb gedaan is het voorbeeld van InfluxDB, wat in de link staat die je hebt gestuurd, gebruiken om te uploaden naar InfluxDB. Dus dit:
code:
1
2
3
4
5
6
mem,host=host1 used_percent=64.23 1577836800000000000
mem,host=host2 used_percent=72.01 1577836800000000000
mem,host=host1 used_percent=62.61 1577836810000000000
mem,host=host2 used_percent=72.98 1577836810000000000
mem,host=host1 used_percent=63.40 1577836820000000000
mem,host=host2 used_percent=73.77 1577836820000000000

En ook hier krijg ik geen resultaten. Timeframe uiteraard aangepast (dus niet dat ik die er niet bij heb in mijn search). Als ik het voorbeeld waar bovenstaande op gebaseerd is in die plug-in in Grafana gooi krijg ik gewoon zoals verwacht een tabel met de data.

Pak ik voor de grap eens wat data van mijn gasmeter, en download dat vanaf mijn InfluxDB instance in CSV, krijg ik dit:
code:
1
2
3
4
5
6
7
8
9
time,"Gas-usage.mean_value"
2021-05-26T22:00:00.000Z,"7090.24"
2021-05-27T00:00:00.000Z,"7090.239999999999"
2021-05-27T02:00:00.000Z,"7090.239999999999"
2021-05-27T04:00:00.000Z,"7090.239999999999"
2021-05-27T06:00:00.000Z,"7090.62193548387"
2021-05-27T08:00:00.000Z,"7091.76"
2021-05-27T10:00:00.000Z,"7092.631538461539"
2021-05-27T12:00:00.000Z,"7093.01387096774"

Oftewel gewoon CSV zoals je dat verwacht :/
Probeer je dit weer letterlijk zoals hij het je geeft te uploaden miept hij over tag value's.
Dan vraag ik mij af: waarom in godsnaam zo lastig doen als het programma zelf blijkbaar normale CSV exporteert, en dan ook nog eens normale DateTime i.p.v. Unix waar je het om te kunnen ingesten naar moet omzetten...

Dit gaat om een proof of concept omgeving, maar ik ben onderhand wel redelijk genezen van InfluxDB :+ Denk dat ik voor een volgende test naar iets anders over zal gaan (MySQL oid).

9800X3D - RX 6900XT - Volvo S40 T5 '10 - Kever '74


Acties:
  • 0 Henk 'm!

  • icter-tje
  • Registratie: Juni 2013
  • Laatst online: 30-09 13:49
Misschien een idee om Telegraf te gebruiken? Weet dat je hiermee makkelijker data in InfluxDB kan krijgen dan via de CLI tool.

https://docs.influxdata.c...9/data_formats/input/csv/

Je moet connected zijn


Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:21
Kuusj schreef op vrijdag 25 juni 2021 @ 23:03:
Dat accepteert handmatig ingevoerd wel, maar als ik het exact hetzelfde in een .csv probeer te uploaden meldt hij dat de timestamp bad is. Bij handmatig invoeren accepteert hij de input, vervolgens veld IPDST of COMMENT selecteren resulteert in 0 resultaten.
Op welke manier upload je een CSV naar InfluxDB? Ik gebruik zelf de python library om data in InfluxDB te stoppen. Gebruik je een command line tool ofzo? Hoe ziet dat er uit?

Acties:
  • 0 Henk 'm!

  • Kuusj
  • Registratie: April 2012
  • Laatst online: 21:10

Kuusj

Ofwel varken in 't Limburgs

Topicstarter
icter-tje schreef op zaterdag 26 juni 2021 @ 01:01:
Misschien een idee om Telegraf te gebruiken? Weet dat je hiermee makkelijker data in InfluxDB kan krijgen dan via de CLI tool.

https://docs.influxdata.c...9/data_formats/input/csv/
Ik zal dit eens proberen, bedankt.
Kalentum schreef op zaterdag 26 juni 2021 @ 09:40:
[...]


Op welke manier upload je een CSV naar InfluxDB? Ik gebruik zelf de python library om data in InfluxDB te stoppen. Gebruik je een command line tool ofzo? Hoe ziet dat er uit?
Via de web GUI van InfluxDB. Chronograf heet dat.

9800X3D - RX 6900XT - Volvo S40 T5 '10 - Kever '74

Pagina: 1