NEWS
history macht Probleme, wie InfluxDB installieren?
-
Hallo zusammen,
Voraussetzungen:
Intel NUC mit 4GB RAM und 120GB SSD sowie Debian 9.0 und ioBroker - installiert nach alter Methode, aber mit Install-Fixer gelaufen.
NodeJS v8.16.0
NPM 6.4.1
alle Adapter über latest aktuellProblem:
vor ein paar Tagen habe ich festgestellt, dass mein history-Adapter nicht mehr richtig läuft. Es werden etwa 120 DP geloggt. Bemerkt habe ich das erstmalig dadurch, dass der Zugriff auf den Rechner bis zu 2 Minuten dauert, und vorher etwa 10 Sekunden. Zudem gab es in den letzten Tagen Phasen, in denen keine Daten geloggt wurden. Der Adapter wurde neu installiert und der NUC zwischendurch neu gebootet und stromlos gemacht. Wenn ich history pausiere läuft der Rechner normal.
In der Zwischenzeit habe ich mir überlegt auf influx DB umzusteigen. Aber ich scheitere schon bei der Installation auf dem NUC...Folgendes habe ich über putty gemacht (Anmeldung als root):
root@debianioBroker:~# apt-get update root@debianioBroker:~# apt-get upgrade
Dann influxDB installiert über:
root@debianioBroker:~# wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.6_amd64.deb root@debianioBroker:~# sudo dpkg -i influxdb_1.7.6_amd64.deb root@debianioBroker:~# systemctl enable influxdb
Dann soll influx schon starten können:
root@debianioBroker:~# influx Failed to connect to http://localhost:8088: Get http://localhost:8088/ping: dial tcp [::1]:8088: connect: connection refused Please check your connection settings and ensure 'influxd' is running.
Daraufhin die conf editiert:
sudo nano /etc/influxdb/influxdb.conf
und folgende Werte im Abschnitt [http] geändert:
- enabled = true
- bind-address = „:8086“
- auth-enabled = true
Die Datei gespeichert und neu getartet mit:
sudo systemctl restart influxdb
Dann erneut:
root@debianioBroker:~# influx Failed to connect to http://localhost:8086: Get http://localhost:8086/ping: dial tcp [::1]:8086: connect: connection refused Please check your connection settings and ensure 'influxd' is running.
Nach der Eingabe von:
root@debianioBroker:~# influx
sollte man ja User und Passwort ändern. Aber die Datenbank startet nicht.
Versuche ich über den Browser den Rechner mit ":8083" aufzurufen, dann kommt "nicht erreichbar". Mit ":8086" ebenfalls.Wenn ich folgendes mache
root@debianioBroker:~# influxd 8888888 .d888 888 8888888b. 888888b. 888 d88P" 888 888 "Y88b 888 "88b 888 888 888 888 888 888 .88P 888 88888b. 888888 888 888 888 888 888 888 888 8888888K. 888 888 "88b 888 888 888 888 Y8bd8P' 888 888 888 "Y88b 888 888 888 888 888 888 888 X88K 888 888 888 888 888 888 888 888 888 Y88b 888 .d8""8b. 888 .d88P 888 d88P 8888888 888 888 888 888 "Y88888 888 888 8888888P" 8888888P" 2019-06-28T14:27:11.435798Z info InfluxDB starting {"log_id": "0GJc_7nl000", "version": "1.7.6", "branch": "1.7", "commit": "01c8dd416270f424ab0c40f9291e269ac6921964"} 2019-06-28T14:27:11.435908Z info Go runtime {"log_id": "0GJc_7nl000", "version": "go1.11", "maxprocs": 4} run: open server: listen: listen tcp 127.0.0.1:8088: bind: address already in use
In der letzten Zeile steht dann der Hinweis, dass der Port 8088 already in use sei, obwohl ich auf 8086 umgestellt habe.
Jetzt die Fragen:
Wo liegt mein Installationsfehler?
Wie reagiert das Ganze, wenn ich es als root installiert habe und eigentlich dem user ioBroker zur Verfügung stellen will, der also eigentlich keine Rechte hat?Leider fehlen mir viele Linux-Kenntnisse. Kann mir jemand helfen?
Vielen Dank!
-
InfluxDB habe ich nicht. Aber 120 Datenpunkte ist nahezu nichts. Da darf der history nicht stehen bleiben. Und bei einem NUC mit 4GB und SSD schon mal gar nicht. Da muß noch was ganz anderes im Argen liegen. Bei mir werden ca. 6000 Zustände geloggt.
Was sagt denn das Logfile?
Man sollte vermeiden, die Objekte, die im Expertenmodus sichtbar sind und mit "system.adapter." anfangen zu loggen. Die erzeugen zu viel Traffic. Das hat mein Orange Pi dann nicht mehr richtig verarbeitet und öfters zu einem "reconnect DB" zusammen mit einem History restart geführt. Mein Windows Rechner hat das dann problemlos verarbeitet. Diese "system.adapter" history-Abonnements gehören dennoch weg. -
Hallo, danke für den Hinweis. Nach Durchstöbern des Forums auf Hinweise zu dem Problem mit dem history Adapter habe ich auch schon gesehen, dass 120 DP nichts ist. Das Problem ist, dass der Adapter auf debug jeden geloggten Zustand ausspuckt und man die entscheidenden Hinweise kaum finden kann. System-Adapter DPs habe ich nur den vom history geloggt, nachdem er angefangen hat zu zicken. Die geloggten DPs des history-Adapters scheinen mir aber eher unauffällig zu sein. Z.B. loggt er, dass er in Spitzenzeiten mal 10% einer von zwei CPUs benötigt. Auch das benötigte RAM hält sich in Grenzen.
Beim Versuch der Installation der influxDB habe ich mich genau an die Anleitung auf der Website von influxDB gehalten. Aber immer die gleichen Fehler bekommen.
-
Bei der Datenbank kann ich leider nicht helfen, hatte ein ähnliches Problem. auf meinem OPi Mehr noch, bei jedem upgrade update gab es (unschädliche) Fehlermeldungen wegen der beim Installationsversuch zurückgebliebenen Trümmer. Die Übersetzung für den H5 des OPi ist da anscheinend schief gegangen.
Ich habe mittlerweile auf einen Win 10 Rechner gewechselt, den ich auch noch aus anderen Gründen brauche. Der i5 hat das alles problemlos geschluckt. Aber aufgrund der mir vertrauteren Tools konnte ich das Thema als Beifang einer anderen Aktion sehen. Durch das automatische Abonnieren der o.g. System-DPs hatte sich mein täglicher history Speicherbedarf von wenigen MByte auf ca. 50 bis 60MByte erhöht. Der damit verbundene Traffic hat meinen OPi hin und wieder zum Stolpern gebracht. So alle ein bis drei Tage wurde history dann neu gestartet.
Hätte ich früher danach gesucht, könnte der OPi noch heute meinen ioBroker problemlos hosten. Wenn auch die jetzige Lösung letztendlich besser und zukunftssicherer ist.
Etwa ein Jahr zuvor hatte ich noch massivere Probleme mit history auf meinem OPi, weil ein neuer Kernel FAT32 nicht mehr zuverlässig und schnell bedienen konnte. Ein Umformatieren der Datenplatte auf ext4 hatte seinerzeit das Problem gelöst.
Deshalb meine ich, daß es sich wahrscheinlich lohnen könnte die eigentliche Ursache zu suchen. Auf Deinem NUC arbeitet wahrscheinlich ein größeres OS, welches mit graphischer Oberfläche und entsprechenden Tools die Sucher erleichtern könnte. -
Ich hatte auch schon daran gedacht, auf Windows 10 umzusteigen. Allerdings möchte ich keinen Rechner für iot, der zu viel Strom frisst. Der ioBroker läuft auf einem Atom525 mit 4 GB RAM und 120GB SSD ohne GUI. Damit ist er schlank und frisst nicht so viel Strom. Aber ich hatte glaube sogar in einem Beitrag von Dir gelesen, dass die Rechteverwaltung von Linux wirklich nervt - wenn man nicht mit Linux groß geworden ist und nachvollziehen kann, was da genau passiert. Man installiert eine Software nach Anleitung und kann schon nicht sagen ob sie deshalb nicht läuft, weil die Rechte vielleicht nicht stimmen.
Aber wie gesagt ist der Atom525 zu schwach für Windows 10, aber vollkommen ausreichend für Linux ohne GUI und einen größeren Rechner 24/7 laufen zu lassen frisst mir zuviel Strom.Und da andere das auch hinbekommen haben möchte ich wissen, warum es bei mir nicht läuft...
-
@XxJooO schau mal hier, da hab ich was gefunden, zwecks Rechteproblem
vllt hilft dir das
https://github.com/influxdata/influxdb/issues/8912 -
vielen Dank für den Hinweis, leider bringt das keine Besserung oder Änderung. Er meldet immer, dass Port 8086 nicht erreichbar ist.
root@debianioBroker:~# systemctl status influxdb ● influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-06-29 13:19:17 CEST; 1s ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 20220 (influxd) Tasks: 10 (limit: 4915) CGroup: /system.slice/influxdb.service └─20220 /usr/bin/influxd -config /etc/influxdb/influxdb.conf Jun 29 13:19:17 debianioBroker systemd[1]: Started InfluxDB is an open-source, distributed, time series database. root@debianioBroker:~# influx Failed to connect to http://localhost:8086: Get http://localhost:8086/ping: dial tcp [::1]:8086: connect: connection refused Please check your connection settings and ensure 'influxd' is running.
Man erkennt, dass influxDB läuft. Um nun aber einen User und eine Datenbank anzulegen muss mann mit "influx" starten, dann kommt aber der Zugriffsfehler auf Port 8086.
Mit "netstat" kann man prüfen, welche Anwendung welchen port verwendet. Bei 8081 (Webzugriff ioBroker) und bei 8082 (vis) bekommt man entsprechende Ausgaben. Bei 8086 aber nichts.
-
@XxJooO probier mal deine IP adresse einzutragen, anstelle von localhost:8086
und guck mal mit
netstat -tulpen
was da angezeigt wird
-
Das hatte ich schon sehr früh erfolglos versucht...
-
@XxJooO jetzt seh ichs erst, du hast Influx direkt auf deiner IoBroker Installation.
Ich hab Influx in nem Container separate.Iobroker hatte ich damals auch als root und jetzt mit Fixer laufen.
Influx im Container als root installiert und hab in der config auch nichts geändert, ausser den UDP Zugang um Proxmox Daten abzurufen -
hallo, folgendes wird angezeigt, wenn ich influx aufrufen möchte:
root@debianioBroker:~# influx Failed to connect to http://localhost:8086: Get http://localhost:8086/ping: dial tcp [::1]:8086: connect: connection refused Please check your connection settings and ensure 'influxd' is running. root@debianioBroker:~# netstat -tulpen Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1001 16482 500/iobroker.js-con tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 1001 16483 500/iobroker.js-con tcp 0 0 192.168.178.205:12010 0.0.0.0:* LISTEN 1001 16124 1407/io.hm-rpc.2 tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 13306 253/rpcbind tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 15623 507/sshd tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 1001 16576 610/io.sonoff.0 tcp6 0 0 :::61991 :::* LISTEN 1001 18476 1887/io.harmony.0 tcp6 0 0 :::111 :::* LISTEN 0 13309 253/rpcbind tcp6 0 0 :::8081 :::* LISTEN 1001 15732 527/io.admin.0 tcp6 0 0 :::8082 :::* LISTEN 1001 17579 543/io.web.0 tcp6 0 0 :::22 :::* LISTEN 0 15625 507/sshd tcp6 0 0 :::8088 :::* LISTEN 1001 16882 1565/io.terminal.0 udp 0 0 0.0.0.0:55664 0.0.0.0:* 107 10050 309/avahi-daemon: r udp 0 0 0.0.0.0:61991 0.0.0.0:* 1001 18477 1887/io.harmony.0 udp 0 0 0.0.0.0:853 0.0.0.0:* 0 13305 253/rpcbind udp 0 0 0.0.0.0:5353 0.0.0.0:* 107 10048 309/avahi-daemon: r udp 0 0 0.0.0.0:5683 0.0.0.0:* 1001 17053 2208/io.shelly.0 udp 0 0 0.0.0.0:9898 0.0.0.0:* 1001 1404387 2722/io.mihome.0 udp 0 0 0.0.0.0:68 0.0.0.0:* 0 17419 459/dhclient udp 0 0 0.0.0.0:111 0.0.0.0:* 0 13301 253/rpcbind udp6 0 0 :::853 :::* 0 13308 253/rpcbind udp6 0 0 :::5353 :::* 107 10049 309/avahi-daemon: r udp6 0 0 :::111 :::* 0 13307 253/rpcbind udp6 0 0 :::36979 :::* 107 10051 309/avahi-daemon: r root@debianioBroker:~# systemctl status influxdb ● influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2019-06-30 12:03:58 CEST; 3s ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 20292 (influxd) Tasks: 11 (limit: 4915) CGroup: /system.slice/influxdb.service └─20292 /usr/bin/influxd -config /etc/influxdb/influxdb.conf Jun 30 12:03:58 debianioBroker systemd[1]: Started InfluxDB is an open-source, distributed, time series database. root@debianioBroker:~#
Ich werde doch nochmal in allgemein posten. Irgendjemand mit genügend Linux-Kenntnissen hat sicher eine Idee dazu.
-
@XxJooO ja mach das mal, kenn mich mit dem Zeug auch nicht aus
aber irgendwie lese ich da nichts von influxd -
das ist richtig, man soll ja auch influx aufrufen, um einen user mit passwort und eine Datenbank anzulegen. Und eben das funktioniert nicht.
Beim Aufruf von influxd:
root@debianioBroker:~# influxd 8888888 .d888 888 8888888b. 888888b. 888 d88P" 888 888 "Y88b 888 "88b 888 888 888 888 888 888 .88P 888 88888b. 888888 888 888 888 888 888 888 888 8888888K. 888 888 "88b 888 888 888 888 Y8bd8P' 888 888 888 "Y88b 888 888 888 888 888 888 888 X88K 888 888 888 888 888 888 888 888 888 Y88b 888 .d8""8b. 888 .d88P 888 d88P 8888888 888 888 888 888 "Y88888 888 888 8888888P" 8888888P" 2019-06-30T10:29:07.285747Z info InfluxDB starting {"log_id": "0GLzkALG000", "version": "1.7.6", "branch": "1.7", "commit": "01c8dd416270f424ab0c40f9291e269ac6921964"} 2019-06-30T10:29:07.285846Z info Go runtime {"log_id": "0GLzkALG000", "version": "go1.11", "maxprocs": 4} run: open server: listen: listen tcp 127.0.0.1:8088: bind: address already in use root@debianioBroker:~#
-
@XxJooO dein port 8088 wird von 1565/io.terminal.0 belegt
-
kennst Du das Gefühl, sich heftig zu schämen und man sich fragt: "bist du dumm?"
Ich war mir 150% sicher, dass es nicht am belegten Port liegt
Ich habe terminal auf 8090 umgebogen, influxdb restartet und jetzt:
root@debianioBroker:~# netstat -tulpen Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1001 16482 500/iobroker.js-con tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 1001 16483 500/iobroker.js-con tcp 0 0 192.168.178.205:12010 0.0.0.0:* LISTEN 1001 16124 1407/io.hm-rpc.2 tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 13306 253/rpcbind tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 15623 507/sshd tcp 0 0 127.0.0.1:8088 0.0.0.0:* LISTEN 999 1471257 27403/influxd tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 1001 16576 610/io.sonoff.0 tcp6 0 0 :::61991 :::* LISTEN 1001 18476 1887/io.harmony.0 tcp6 0 0 :::111 :::* LISTEN 0 13309 253/rpcbind tcp6 0 0 :::8081 :::* LISTEN 1001 15732 527/io.admin.0 tcp6 0 0 :::8082 :::* LISTEN 1001 17579 543/io.web.0 tcp6 0 0 :::8086 :::* LISTEN 999 1471261 27403/influxd tcp6 0 0 :::22 :::* LISTEN 0 15625 507/sshd tcp6 0 0 :::8090 :::* LISTEN 1001 1471294 27420/io.terminal.0 udp 0 0 0.0.0.0:55664 0.0.0.0:* 107 10050 309/avahi-daemon: r udp 0 0 0.0.0.0:61991 0.0.0.0:* 1001 18477 1887/io.harmony.0 udp 0 0 0.0.0.0:853 0.0.0.0:* 0 13305 253/rpcbind udp 0 0 0.0.0.0:5353 0.0.0.0:* 107 10048 309/avahi-daemon: r udp 0 0 0.0.0.0:5683 0.0.0.0:* 1001 17053 2208/io.shelly.0 udp 0 0 0.0.0.0:68 0.0.0.0:* 0 17419 459/dhclient udp 0 0 0.0.0.0:111 0.0.0.0:* 0 13301 253/rpcbind udp6 0 0 :::853 :::* 0 13308 253/rpcbind udp6 0 0 :::5353 :::* 107 10049 309/avahi-daemon: r udp6 0 0 :::111 :::* 0 13307 253/rpcbind udp6 0 0 :::36979 :::* 107 10051 309/avahi-daemon: r root@debianioBroker:~# sudo systemctl restart influxdb root@debianioBroker:~# influx Connected to http://localhost:8086 version 1.7.6 InfluxDB shell version: 1.7.6 Enter an InfluxQL query >
Zu meiner Entlastung muss ich aber sagen, dass ich mit einer anderen Variante des Befehls nestat keine Verbindung zu 8088 angezeigt bekommen hatte. Deine Variante von netstat hat das jetzt erst gezeigt und ich habe es übersehen.
Jetzt kann ich meinen anderen Post löschen und mich weiter mit influx beschäftigen.
Somit 1000 Dank und Prost zum Bier!!!
Erlaube mir aber noch eine Frage zu influxDB: da es bei Dir läuft würde mich interessieren, ob Du damit zufrieden bist. Wenn man nach influxDB sucht findet man ziemlich viele Leute, bei denen die Datenbank ausgestiegen ist, die Daten verloren haben und bei denen Probleme sind. Wie ist das bei Dir?
-
Der Adapter influxdb ist grün!!!!
-
-
@XxJooO Ausfälle habe ich bis dato noch keine.
hab mir mehrere Datenbanken angelegt, unter anderem auch extra für Proxmox (dafür muss proxmox udp eingerichtet und datenbank proxmox) eingerichtet werden
und Prometheus hab ich mir noch mit angelegt -
Dann beschreib mir doch noch bitte, wie Du ein Backup der Datenbank machst. Kopierst Du den Ordner /var/lib/influxdb einfach z.B. auf ein NAS?
-
@XxJooO hab ich bis jetzt noch nicht gemacht