-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invaps invalid Json Path #2
Comments
Hallo! Da Du explizit MySQL erwähnst, vermute ich dabei das Problem. Welche Version von MySQL wird genutzt? Laut Doku ist die betreffende Funktion JSON_VALUE() erst ab MySQL 8.0.21 verfügbar, wobei ich auch dazu die Kompatibilität nicht getestet habe, da sich die invafetch- und invaps-Tools bislang auf MariaDB stützen (wie auch in der Doku angegeben). Falls es das nicht sein sollte, wären ein paar Datensätze aus der solardata-Datenbank hilfreich, damit ich mir die Inhalte ansehen und prüfen kann. Du kannst mir diese auch gerne per Mail senden, falls Du die Daten hier nicht veröffentlichen willst: ralf (at) kuerbis (dot) org. Vielen Dank & Beste Grüße, |
HI, MySQL Server 8.0.32-1.el8 läuft. Problem ist ich würde ja gerne MariaDB nehmen, aber das läuft auf Teufel komm raus nicht. Da kommt nämlich folgender Fehler...
Solardaten hab ich dir trotzdem mal per eMail geschickt Gruß Martin |
So hab das Problem vorerst gelöst. Wäre natürlich schön, wenn man trotzdem die neuste MariaDB Version nutzen kann oder MySQL |
Hallo! Erstmal vielen Dank für all die Mühe des Testens! :-) Ich habe es hier nun mit MariaDB 10.10.2 (neueste nicht-rc-Variante), aber auch 10.8.6 (die Version aus Deiner Fehlermeldung) getestet - in beiden Fällen ließ sich MariaDB problemlos starten, inkl. innodb-Plugin:
Analog bei MariaDB 10.8.6:
Mir ist auch ein ziemliches Rätsel, warum MariaDB nicht laufen sollte, aber tatsächlich finden sich bei MariaDB dazu Hinweise, dass es wiederum an der Prozessor-Architektur liegt (siehe MariaDB/mariadb-docker#318 ). Die MariaDB-Leute werden sich sicherlich über einen Bug-Report freuen, wenn der Fehler bei neueren Versionen ebenfalls wieder auftritt. :-) Die Kompatibilität zu MySQL werde ich mir demnächst noch ansehen. Beste Grüße, |
Sehr komisch Welche OS läuft bei dir? Sollte zwar unabhängig sein aber der Teufel ist ja ein Eichhörnchen. Docker Compose als root gestartet oder anders? |
OS ist Ubuntu 20.04 LTS bzw. 22.04 LTS, je nach VM, aber eben auf einer amd64-Architektur, und nicht auf einem Raspberry Pi. Ich habe mir nun das MySQL-Problem vorgeknöpft, und die SQL-Requests so angepasst, dass sie jetzt sowohl mit MariaDB, als auch mit MySQL funktionieren (getestet mit dem offiziellen Docker-Image für MySQL in der latest-Fassung bzw. Version 8.0.32). Die Docker-Images sind jedoch wiederum ausschließlich für amd64 gebaut, somit nicht für den Raspberry geeignet (siehe #1, da muss einiges bzgl. des Builds hinzugefügt werden). Würde mich sehr über Feedback freuen, ob es bei Dir ebenfalls mit MySQL nun läuft. Zum Hintergrund: Tatsächlich ist MySQL ein wenig strenger, was den json_path anbetrifft, weshalb eine Anpassung der JSON-VALUE()-Abfragen notwendig wurde. Während MariaDB den Doppelpunkt (":") innerhalb der Abfrage als Bestandteil eines JSON-Keys zulässt, führt dies bei MySQL zu einem Fehler. Daher mussten die Namen der Keys mit doppelten Anführungszeichen umschlossen werden. Daraufhin gab es noch ein weiteres Problem angesichts der Einstellung ONLY_FULL_GROUP_BY, die standardmäßig enabled ist. MySQL erlaubte dabei nicht die Abfrage von id und dt_created als nicht-aggregierte Felder in Requests mit der avg()-Funktion und group-by. Da von invaps bzw. Prometheus beide Felder nicht genutzt werden und somit genaugenommen unnötig sind, sind die SQL-Queries ebenfalls angepasst worden. |
MySQL bzw Maria dB läuft auch auf Ubuntu aber 18.04 amd64. Schau ich mir gerne an und gebe dir Feedback vielen Dank! |
Bin leider noch nicht dazu gekommen, habe es aber noch auf dem Zettel |
Hallo,
Infos zur Konstellation:
Raspberry Pi -> Invafetch sendet an an einen externen Server die Daten in die MYSQL DB
Auf dem Ubuntu Server 18.04 läuft eine Docker Instanz mit Grafana,Prometheus,MYSQL,Adminer, Invaps
Invaps selber sendet komische Fehler Meldungen in den Logs
The text was updated successfully, but these errors were encountered: