NEWS
Frage : Migrate MySQL nach Influxdb
-
@edelweiss der Qert steht standardmäßig auf true, kann aber in der
database.json
mittelsstore_ack_boolean
geändert werden. -
Der Wert ist oben in meiner Anleitung im Python-Skript bereits auf true gesetzt. Du selbst musst den also nicht "irgendwo" setzen; dass passiert bereits in dem Python-Skript.
-
danke für eure Antworten.
Bin hier noch komplett neu (Docker und influxDBs)
Habe jetzt den Import in meinen Docker geladen und mit dem Befehl
influx -import -path=import.txt
gestartet.
Er bring mir aber dann die Meldung
2021/02/05 21:43:19 error: error parsing query: found StromzaehlerGesamt, expect ed SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Die Datenbank hat er allerdings angelegt, aber es sind keien Measurements darin
In meinem import.txt sieht es folgendermaßen aus
#DDL CREATE DATABASE Dummschul #DML #CONTEXT-DATABASE: Dummschul StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.902 1612560689242000000 StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.2 1612560689242000000 StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.249 1612560629226000000 StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.893 1612560629225000000
Könnte ihr mir Bitte noch einen Anstoß geben
Danke
-
@edelweiss
Hmm, ich glaube du bist dann beim Importieren nicht an der richtigen Stelle. Du musst (soweit ich mich erinnere) nur in die Komandokonsole von Influx und dort den import-Befehl ausführen und nicht direkt in der Konsole schon in die Datenbank reingehen... -
Hallo zusammen,
ich wollte nur ein kurzes Feedback geben woran es gelegen hat.Scheinbar stimmt etwas nicht mit der Txt Datei (sie hat aber die Kennung ) , welche aus dem py Script generiert wird.
Ich habe nämlich den Inhalt daraus 1:1 in die influx NOAA_ data.txt kopiert und danach funktionierte es, beim importieren
Desweiteren funktionierte es bei mir auch nur, wenn der haeder mit jeweils einer Zeile Versatz eingetragen wird.
#DDL CREATE DATABASE Dummschul #DML #CONTEXT-DATABASE: Dummschul
Danke für die Hilfe
Gruß -
Vielen Dank für das tolle Script. Das Script läuft bei mir erfolgreich durch, Grafana zeigt mir auch alle Datenpunkte an, sagt aber "No data". Die Daten werden vom sql Adapter in eine MariaDB auf der Synology gespeichert.
Muss ich im Script etwas anpassen?
Danke
-
@sputnik24
Hört sich eher danach an, dass etwas in der auswertung nicht stimmt.Einfach das influx Kommandozeilenwerkzeug per
influx
öffnen, dann die Datenbank auswählen
use <DATENBANK>
und perSELECT * FROM <MEASUREMENT_NAME> LIMIT 5
sich ein paar Datensätze anzeigen lassen um dies zu überprüfen. -
@jackgruber Ich lass iobroker mittlerweile Daten in influxdb speichern. Diese werden mir in Grafana auch angezeigt. Ich vermute ein Problem mit dem timestamp Format.
Ich hab die database nochmal gelöscht und neu angelegt, jetzt funktioniert es.
-
@jackgruber Hallo, ich wollte mich auch mal versuchen an deinem Script. Meine MYSQL DB umfasst mittlerweile 1,8 Mio Einträge. Ich bin allerdings ne absolute NULL in sachen Scripte und bekomme schon graue Haare.
Jetzt hab ich das Script mit meinen Daten, so das ich denke das es richtig ist, geändert. Nun bekomme ich folgende meldungC:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>migrate.py ALL File "C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master\migrate.py", line 156 print(f"Processing row {processed_rows + 1:,} to {processed_rows + len(selected_rows):,} from LIMIT {start_row:,} / {start_row + query_max_rows:,} " + ^ SyntaxError: invalid syntax C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>
wo kann hier der Fehler sein?
Meine geänderten Daten sehen so aus
{\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}} {\*\generator Riched20 10.0.14393}\viewkind4\uc1 \pard\f0\fs22\lang1033\par MYSQL_CONNECTION = pymysql.connect(host=db['MySQL']['192.168.178.8'],\par port=db['MySQL']['3306'],\par user=db['MySQL']['root'],\par password=db['MySQL']['XXXXXX'],\par db=db['MySQL']['database'])\par except pymysql.OperationalError as error:\par print(error)\par sys.exit(1)\par except Exception as ex:\par print("MySQL connection error")\par print(ex)\par sys.exit(1)\par \par \par INFLUXDB_CONNECTION = InfluxDBClient(host=db['InfluxDB']['192.168.178.102'],\par ssl=db['InfluxDB']['ssl'],\par verify_ssl=True,\par port=db['InfluxDB']['22'],\par username=db['InfluxDB']['iobroker'],\par password=db['InfluxDB']['XXXXXX'],\par database=db['InfluxDB']['iobroker_import'])\par }
Danke für die hilfe. Gruß Marco
-
@marco-mh bitte nur die
database.json.example
indatabase.json
umbenennen und die daten dort eintragen. -
@jackgruber Danke für die schnelle Antwort. Aber der Fehler bleibt leider.
ichnhab die Daten jetzt in der Json geändert. -
@marco-mh Welche python version ist im einsatz?
-
@jackgruber 3.9.5
-
@marco-mh OK, das ist ok. Aber die Fehlermeldung deutet auf ein altes python ...
Die Zeile ist nur für den Status, kann daher auch auskommentiert/gelöscht werden.
-
@jackgruber ok, die 157 und 181 musste ich auch # setzen
jetzt kommt folgendesC:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>migrate.py ALL Traceback (most recent call last): File "C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master\migrate.py", line 5, in <module> from influxdb import InfluxDBClient ImportError: No module named influxdb
-
wie in der anleitung beschrieben
pip install -r requirements.txt
ausgeführt? -
@jackgruber ja hab ich im extrahierten ordner gemacht
-
@jackgruber ach quatsch, hab den ja gelöscht und neu extrahiert
-
@jackgruber bei der installation kam folgendes, ist das ok?
WARNING: Ignoring invalid distribution -p (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution - (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution -p (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution - (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution -p (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages) WARNING: Ignoring invalid distribution - (c:\python39\lib\site-packages)
aber nach der installation kommt immer noch der selbe fehler
-
@marco-mh Morgen, also ich bin mir fast sicher, dass ne alte python version < 3.6 beim aufruf genutzt wird.
Ich hab das Script angepasst um dies zu überüfen. Bitte nochmals herunterladen und testen.Zum pip fehler. Da stimmt was nicht mit den installierten packeten.
Was passiert bei einempip freeze
und dannpip list
.