NEWS
Influxdb 2 Konfiguration mit ioBroker/Grafana/Pi4 4GB SSD
-
Hallo zusammen,
ich nutze seit einigen Jahren ioBroker und das sehr exzessiv. Ein Punkt dabei bringt mich aber wöchentlich zur Verzweiflung und ich brauche dazu eure Hilfe:
Ich habe denke ich ein recht "normales" Hardware Setup mit einem Raspberry Pi4 4GB + SSD sowie ioBroker auf einem Debian Buster mit neusten Paketen. Als Historydatenbank benutze ich InfluxDB (erst 1.8, jetzt 2.5) und Grafana zur Chart-Darstellung.
Die meisten States die historisiert wurde sind Sensordaten von Tado, welche zwar regelmäßig einlaufen, aber jetzt auch NICHT im 100er Bereich pro Sekunde liegen. Hier traten die Probleme auch schon auf.
Verschärft hat sich das ganze nachdem ich den Controller der PV/Batterie-Anlagen per MQTT angeschlossen habe und historisieren lasse. Hier logge ich ca 20 Werte, die sich auch mal öfters die Sekunde ändern.Soweit läuft auch alles prima. Allerdings habe ich totale Probleme mit der InfluxDB:
- Zunächst hatte ich Probleme mit dem Wegschreiben der History Werte. Irgendetwas war da wohl zu langsam. ICh weiß bis heute nicht was, aber das WAL-sync Delay zu erhöhen scheint hier Abhilfe zu schaffen.
- Als zweites habe ich ab und an das Problem, dass aus immernoch unbekannten Gründen InfluxDB mein System total überlastet und einfriert. Nur ein Restart des Dienstes bringt hier Abhilfe
Warum eine so auf diesen Use-Case spezialisierte Datenbank nicht aus dem Stand hier performt (gefühlt ist jede SQL-Datenbank hier schneller), kann ich nicht verstehen. Ich denke es muss irgendwie an meiner Konfiguration liegen. Oder ich möchte halt zuviel auf nem Pi4
Dennoch würde mich mal interessieren, welche Konfigurationen ihr - wenn ihr ein ähnliches Setup habt - für Influx eingestellt habt. Anbei findet ihr meine TOML-Konfiguration:bolt-path = "/var/lib/influxdb2/influxd.bolt" engine-path = "/var/lib/influxdb2/engine" http-bind-address = ":8086" storage-cache-snapshot-memory-size = "100m" storage-max-concurrent-compactions = 1 storage-series-id-set-cache-size = 100 storage-wal-fsync-delay = "10s" http-write-timeout = "120s" http-read-timeout = "60s" http-read-header-timeout = "60s" storage-retention-check-interval = "24h" log-level = "debug" tls-cert = "/etc/ssl/influxdb.pem"
Die Timeouts sind eben wegen den langen Schreiboperationen für die States nötig.
Auch wenn ich jetzt schon befürchte, dass die Diskussion eher in Richtung "das sind einfach zu viele Daten" gehen wird, würde ich euch bitten, einmal die "optimale" Konfiguration für ein Pi4 SSD Setup für InfluxDB hier zu pasten oder hervorzuheben, welche Einstellungen hier kritisch sind. DAmit kann ich dann das Setup tunen und sehen, ob es auch damit wirklich noch zuviele Daten sind. Ehrlich gesagt kann ich das nicht wirklich glauben, so viele sind es für eine Datenbank in 2022 nun auch nicht.
Grafana ist auch nicht die ganze Zeit irgendwo geöffnet. Kann es irgendwie dennoch auch an einer Grafana Konfiguration liegen?Ich bin auf eure Ideen gespannt!
SEB
-
Und wie sieht der Rest vom System aus?
Schau mal vielleicht mit
iob diag
nach.
BTW: Buster ist tot, installier da das Bullseye-Release.
-
Skript v.2022.12.13 *** BASE SYSTEM *** Model : Raspberry Pi 4 Model B Rev 1.2 Architecture: aarch64 Docker: false Virtualization: none Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" Systemuptime and Load: 10:38:13 up 1 day, 17:46, 2 users, load average: 6.89, 14.24, 11.69 CPU threads: 4 *** Time and Time Zones *** Wed Dec 28 09:38:13 UTC 2022 Wed Dec 28 10:38:13 CET 2022 CET +0100 Europe/Berlin *** User and Groups *** pi /home/pi pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi iobroker *** X-Server-Setup *** X-Server: false Desktop: Terminal: *** MEMORY *** total used free shared buff/cache available Mem: 3.8G 3.3G 78M 183M 462M 322M Swap: 99M 99M 0B Total: 3.9G 3.4G 78M 3794 M total memory 3252 M used memory 1301 M active memory 2264 M inactive memory 78 M free memory 6 M buffer memory 456 M swap cache 99 M total swap 99 M used swap 0 M free swap *** FILESYSTEM *** Filesystem Type Size Used Avail Use% Mounted on /dev/root ext4 57G 22G 33G 40% / devtmpfs devtmpfs 1.7G 0 1.7G 0% /dev tmpfs tmpfs 1.9G 16K 1.9G 1% /dev/shm tmpfs tmpfs 1.9G 192M 1.7G 11% /run tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 vfat 253M 49M 204M 20% /boot //fritz.nas/fritz.nas cifs 118G 40G 78G 34% /media/NAS tmpfs tmpfs 380M 0 380M 0% /run/user/1000 Show mounted filesystems (real ones only): TARGET SOURCE FSTYPE OPTIONS / /dev/sda2 ext4 rw,noatime |-/sys/fs/bpf none bpf rw,nosuid,nodev,noexec,relatime,mode=700 |-/boot /dev/sda1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro `-/media/NAS //fritz.nas/fritz.nas cifs rw,nosuid,nodev,noexec,relatime,vers=3.1.1,cache=strict,username=nas,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.178.1,file_mode=0755,dir_mode=0755,soft,no Files in neuralgic directories: /var: 6.4G /var/ 5.7G /var/lib 2.8G /var/lib/influxdb/data/iobroker/autogen 2.8G /var/lib/influxdb/data/iobroker 2.8G /var/lib/influxdb/data /opt/iobroker/backups: 4.7G /opt/iobroker/backups/ /opt/iobroker/iobroker-data: 670M /opt/iobroker/iobroker-data/ 545M /opt/iobroker/iobroker-data/files 136M /opt/iobroker/iobroker-data/files/vis-2-beta 119M /opt/iobroker/iobroker-data/files/vis.0 118M /opt/iobroker/iobroker-data/files/vis.0/main The five largest files in iobroker-data are: 19M /opt/iobroker/iobroker-data/files/web.admin/static/js/main.806bf48a.js.map 19M /opt/iobroker/iobroker-data/files/vis.0/main/2.mp3 19M /opt/iobroker/iobroker-data/files/vis-2-beta.0/main/2.mp3 13M /opt/iobroker/iobroker-data/objects.jsonl 13M /opt/iobroker/iobroker-data/files/vis.0/main/1.mp3 *** NodeJS-Installation *** /usr/bin/nodejs v16.18.1 /usr/bin/node v16.18.1 /usr/bin/npm 8.19.2 nodejs: Installed: 16.18.1-deb-1nodesource1 Candidate: 16.19.0-deb-1nodesource1 Version table: 16.19.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x buster/main armhf Packages *** 16.18.1-deb-1nodesource1 100 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u2 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages Temp directories causing npm8 problem: 0 *** ioBroker-Installation *** ioBroker Status iobroker is running on this host. Objects type: jsonl States type: redis Core adapters versions js-controller: 4.0.24 admin: 6.3.5 Adapters from github: 0 Adapter State + system.adapter.admin.0 : admin : ioBroker-pi4 - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.backitup.0 : backitup : ioBroker-pi4 - enabled + system.adapter.discovery.0 : discovery : ioBroker-pi4 - enabled + system.adapter.easee.0 : easee : ioBroker-pi4 - enabled + system.adapter.eusec.0 : eusec : ioBroker-pi4 - enabled + system.adapter.fullybrowser.0 : fullybrowser : ioBroker-pi4 - enabled + system.adapter.hue-extended.0 : hue-extended : ioBroker-pi4 - enabled system.adapter.ical.0 : ical : ioBroker-pi4 - enabled + system.adapter.influxdb.0 : influxdb : ioBroker-pi4 - enabled, port: 8086 + system.adapter.javascript.0 : javascript : ioBroker-pi4 - enabled + system.adapter.mihome-vacuum.0 : mihome-vacuum : ioBroker-pi4 - enabled, port: 54321 + system.adapter.mihome-vacuum.1 : mihome-vacuum : ioBroker-pi4 - enabled, port: 54321 + system.adapter.mqtt.0 : mqtt : ioBroker-pi4 - enabled, port: 18888, bind: 192.168.178.46 + system.adapter.mqtt.1 : mqtt : ioBroker-pi4 - enabled, port: 1883, bind: 0.0.0.0 + system.adapter.net-tools.0 : net-tools : ioBroker-pi4 - enabled + system.adapter.nuki-extended.0 : nuki-extended : ioBroker-pi4 - enabled system.adapter.proxy.0 : proxy : ioBroker-pi4 - enabled + system.adapter.radar2.0 : radar2 : ioBroker-pi4 - enabled system.adapter.robonect.0 : robonect : ioBroker-pi4 - disabled + system.adapter.rpi2.0 : rpi2 : ioBroker-pi4 - enabled + system.adapter.sayit.0 : sayit : ioBroker-pi4 - enabled, port: 0 + system.adapter.spotify-premium.0 : spotify-premium : ioBroker-pi4 - enabled + system.adapter.tado.0 : tado : ioBroker-pi4 - enabled system.adapter.vis-2-beta.0 : vis-2-beta : ioBroker-pi4 - disabled system.adapter.vis-2-widgets-material.0 : vis-2-widgets-material: ioBroker-pi4 - enabled system.adapter.vis-colorpicker.0 : vis-colorpicker : ioBroker-pi4 - enabled system.adapter.vis-fancyswitch.0 : vis-fancyswitch : ioBroker-pi4 - enabled system.adapter.vis-google-fonts.0 : vis-google-fonts : ioBroker-pi4 - enabled system.adapter.vis-history.0 : vis-history : ioBroker-pi4 - enabled system.adapter.vis-hqwidgets.0 : vis-hqwidgets : ioBroker-pi4 - enabled system.adapter.vis-jqui-mfd.0 : vis-jqui-mfd : ioBroker-pi4 - enabled system.adapter.vis-materialdesign.0 : vis-materialdesign : ioBroker-pi4 - enabled system.adapter.vis-timeandweather.0 : vis-timeandweather : ioBroker-pi4 - enabled system.adapter.vis.0 : vis : ioBroker-pi4 - enabled + system.adapter.web.0 : web : ioBroker-pi4 - enabled, port: 8082, bind: 0.0.0.0, run as: admin + system.adapter.zigbee.0 : zigbee : ioBroker-pi4 - enabled, port: /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1964729-if00 + instance is alive Enabled adapters with bindings + system.adapter.admin.0 : admin : ioBroker-pi4 - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.influxdb.0 : influxdb : ioBroker-pi4 - enabled, port: 8086 + system.adapter.mihome-vacuum.0 : mihome-vacuum : ioBroker-pi4 - enabled, port: 54321 + system.adapter.mihome-vacuum.1 : mihome-vacuum : ioBroker-pi4 - enabled, port: 54321 + system.adapter.mqtt.0 : mqtt : ioBroker-pi4 - enabled, port: 18888, bind: 192.168.178.46 + system.adapter.mqtt.1 : mqtt : ioBroker-pi4 - enabled, port: 1883, bind: 0.0.0.0 + system.adapter.sayit.0 : sayit : ioBroker-pi4 - enabled, port: 0 + system.adapter.web.0 : web : ioBroker-pi4 - enabled, port: 8082, bind: 0.0.0.0, run as: admin + system.adapter.zigbee.0 : zigbee : ioBroker-pi4 - enabled, port: /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1964729-if00 ioBroker-Repositories stable : http://download.iobroker.net/sources-dist.json beta : http://download.iobroker.net/sources-dist-latest.json Active repo(s): beta Installed ioBroker-Instances Used repository: beta Adapter "admin" : 6.3.5 , installed 6.3.5 Adapter "backitup" : 2.5.9 , installed 2.5.9 Adapter "chromecast" : 3.0.3 , installed 3.0.3 Adapter "discovery" : 3.1.0 , installed 3.1.0 Adapter "easee" : 1.0.7 , installed 1.0.7 Adapter "eusec" : 0.9.9 , installed 0.9.9 Adapter "fullybrowser" : 2.1.2 , installed 2.1.2 Adapter "hue-extended" : 2.0.0 , installed 2.0.0 Adapter "ical" : 1.13.2 , installed 1.13.2 Adapter "influxdb" : 3.2.0 , installed 3.2.0 Adapter "javascript" : 6.1.4 , installed 6.1.4 Controller "js-controller": 4.0.24 , installed 4.0.24 Adapter "mihome-vacuum": 3.8.8 , installed 3.8.8 Adapter "mqtt" : 4.0.7 , installed 4.0.7 Adapter "net-tools" : 0.2.0 , installed 0.2.0 Adapter "nuki-extended": 2.6.5 , installed 2.6.5 Adapter "proxy" : 1.3.2 , installed 1.3.2 Adapter "radar2" : 2.0.4 , installed 2.0.4 Adapter "robonect" : 0.1.4 , installed 0.1.4 Adapter "rpi2" : 1.3.2 , installed 1.3.2 Adapter "sayit" : 1.12.6 , installed 1.12.6 Adapter "simple-api" : 2.7.2 , installed 2.7.2 Adapter "socketio" : 6.3.3 , installed 6.3.3 Adapter "spotify-premium": 1.2.2 , installed 1.2.2 Adapter "tado" : 0.4.3 , installed 0.4.3 Adapter "vis" : 1.4.15 , installed 1.4.15 Adapter "vis-colorpicker": 1.2.0 , installed 1.2.0 Adapter "vis-fancyswitch": 1.1.0 , installed 1.1.0 Adapter "vis-google-fonts": 1.0.4 , installed 1.0.4 Adapter "vis-history" : 1.0.0 , installed 1.0.0 Adapter "vis-hqwidgets": 1.3.0 , installed 1.3.0 Adapter "vis-jqui-mfd" : 1.0.12 , installed 1.0.12 Adapter "vis-materialdesign": 0.5.9, installed 0.5.9 Adapter "vis-timeandweather": 1.2.2, installed 1.2.2 Adapter "web" : 5.4.1 , installed 5.4.1 Adapter "ws" : 2.3.4 , installed 2.3.3 [Updatable] Adapter "zigbee" : 1.8.9 , installed 1.8.9 Objects and States Please stand by - This may take a while Objects: 10491 States: 9293 *** OS-Repositories and Updates *** Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease Hit:2 http://phoscon.de/apt/deconz buster InRelease Hit:3 http://archive.raspberrypi.org/debian buster InRelease Hit:4 https://deb.nodesource.com/node_16.x buster InRelease Hit:5 https://repos.influxdata.com/debian buster InRelease Hit:6 https://packages.grafana.com/enterprise/deb stable InRelease Reading package lists... Done Pending Updates: 31 *** Listening Ports *** Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 0.0.0.0:8765 0.0.0.0:* LISTEN 0 5255501 8908/python tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 21569 656/smbd tcp 0 0 0.0.0.0:7999 0.0.0.0:* LISTEN 0 8422799 32683/motion tcp 0 0 192.168.178.46:18888 0.0.0.0:* LISTEN 1001 6404499 6452/io.mqtt.0 tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 0 18732 690/python3 tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 1001 20940 770/iobroker.js-con tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 21570 656/smbd tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 109 19568 626/redis-server 12 tcp 0 0 127.0.0.1:8084 0.0.0.0:* LISTEN 0 8422797 32683/motion tcp 0 0 127.0.0.1:8085 0.0.0.0:* LISTEN 0 8422798 32683/motion tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 17372 623/sshd tcp6 0 0 :::3000 :::* LISTEN 112 18738 577/grafana-server tcp6 0 0 :::445 :::* LISTEN 0 21567 656/smbd tcp6 0 0 ::1:6379 :::* LISTEN 109 19569 626/redis-server 12 tcp6 0 0 :::139 :::* LISTEN 0 21568 656/smbd tcp6 0 0 :::8081 :::* LISTEN 1001 21923 792/io.admin.0 tcp6 0 0 :::8082 :::* LISTEN 1001 30890 1281/io.web.0 tcp6 0 0 :::51989 :::* LISTEN 1001 24073 933/io.nuki-extende tcp6 0 0 :::22 :::* LISTEN 0 17374 623/sshd udp 0 0 0.0.0.0:36577 0.0.0.0:* 1001 5915241 1167/io.eusec.0 udp 0 0 0.0.0.0:55059 0.0.0.0:* 1001 82280 1167/io.eusec.0 udp 0 0 0.0.0.0:55082 0.0.0.0:* 1001 7398241 1167/io.eusec.0 udp 0 0 0.0.0.0:40749 0.0.0.0:* 1001 103585 1167/io.eusec.0 udp 0 0 0.0.0.0:46904 0.0.0.0:* 1001 1041624 1167/io.eusec.0 udp 0 0 0.0.0.0:51006 0.0.0.0:* 1001 8173748 1167/io.eusec.0 udp 0 0 0.0.0.0:1901 0.0.0.0:* 1001 3143146 23784/io.javascript udp 0 0 0.0.0.0:38792 0.0.0.0:* 1001 1152548 1167/io.eusec.0 udp 0 0 0.0.0.0:55207 0.0.0.0:* 1001 1805179 1167/io.eusec.0 udp 0 0 0.0.0.0:40891 0.0.0.0:* 1001 69518 1167/io.eusec.0 udp 0 0 0.0.0.0:36802 0.0.0.0:* 1001 106562 1167/io.eusec.0 udp 0 0 0.0.0.0:36816 0.0.0.0:* 1001 905371 1167/io.eusec.0 udp 0 0 0.0.0.0:55252 0.0.0.0:* 1001 66395 1167/io.eusec.0 udp 0 0 0.0.0.0:40918 0.0.0.0:* 1001 8425179 1167/io.eusec.0 udp 0 0 0.0.0.0:57321 0.0.0.0:* 1001 1815954 1167/io.eusec.0 udp 0 0 0.0.0.0:47125 0.0.0.0:* 1001 4919725 1167/io.eusec.0 udp 0 0 0.0.0.0:38935 0.0.0.0:* 1001 961949 1167/io.eusec.0 udp 0 0 0.0.0.0:67 0.0.0.0:* 1001 23085 941/io.radar2.0 udp 0 0 0.0.0.0:68 0.0.0.0:* 0 17786 569/dhcpcd udp 0 0 0.0.0.0:53332 0.0.0.0:* 1001 1702790 1167/io.eusec.0 udp 0 0 0.0.0.0:57435 0.0.0.0:* 1001 88079 1167/io.eusec.0 udp 0 0 0.0.0.0:53345 0.0.0.0:* 108 14778 350/avahi-daemon: r udp 0 0 0.0.0.0:53370 0.0.0.0:* 1001 91505 1167/io.eusec.0 udp 0 0 0.0.0.0:49282 0.0.0.0:* 1001 1851335 1167/io.eusec.0 udp 0 0 0.0.0.0:32901 0.0.0.0:* 1001 1793619 1167/io.eusec.0 udp 0 0 192.168.178.255:137 0.0.0.0:* 0 18608 579/nmbd udp 0 0 192.168.178.46:137 0.0.0.0:* 0 18607 579/nmbd udp 0 0 0.0.0.0:137 0.0.0.0:* 0 18597 579/nmbd udp 0 0 192.168.178.255:138 0.0.0.0:* 0 18610 579/nmbd udp 0 0 192.168.178.46:138 0.0.0.0:* 0 18609 579/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 0 18598 579/nmbd udp 0 0 0.0.0.0:47249 0.0.0.0:* 1001 88903 1167/io.eusec.0 udp 0 0 0.0.0.0:53421 0.0.0.0:* 1001 20230 883/io.mihome-vacuu udp 0 0 0.0.0.0:59566 0.0.0.0:* 1001 1798423 1167/io.eusec.0 udp 0 0 0.0.0.0:53422 0.0.0.0:* 1001 22832 889/io.mihome-vacuu udp 0 0 0.0.0.0:57526 0.0.0.0:* 1001 30898 1167/io.eusec.0 udp 0 0 0.0.0.0:53486 0.0.0.0:* 1001 88838 1167/io.eusec.0 udp 0 0 0.0.0.0:51507 0.0.0.0:* 1001 97293 1167/io.eusec.0 udp 0 0 0.0.0.0:55622 0.0.0.0:* 1001 666907 1167/io.eusec.0 udp 0 0 0.0.0.0:43403 0.0.0.0:* 1001 905375 1167/io.eusec.0 udp 0 0 0.0.0.0:33179 0.0.0.0:* 1001 1155447 1167/io.eusec.0 udp 0 0 0.0.0.0:47527 0.0.0.0:* 1001 1535907 1167/io.eusec.0 udp 0 0 0.0.0.0:59865 0.0.0.0:* 1001 4916715 1167/io.eusec.0 udp 0 0 0.0.0.0:43499 0.0.0.0:* 1001 72801 1167/io.eusec.0 udp 0 0 0.0.0.0:35319 0.0.0.0:* 1001 30903 1167/io.eusec.0 udp 0 0 0.0.0.0:39435 0.0.0.0:* 1001 961945 1167/io.eusec.0 udp 0 0 0.0.0.0:45625 0.0.0.0:* 1001 75574 1167/io.eusec.0 udp 0 0 0.0.0.0:55922 0.0.0.0:* 1001 1805191 1167/io.eusec.0 udp 0 0 0.0.0.0:47789 0.0.0.0:* 1001 666912 1167/io.eusec.0 udp 0 0 0.0.0.0:47800 0.0.0.0:* 1001 1809678 1167/io.eusec.0 udp 0 0 0.0.0.0:35530 0.0.0.0:* 1001 7411636 1167/io.eusec.0 udp 0 0 0.0.0.0:45870 0.0.0.0:* 1001 1737111 1167/io.eusec.0 udp 0 0 0.0.0.0:37694 0.0.0.0:* 1001 1702786 1167/io.eusec.0 udp 0 0 0.0.0.0:52059 0.0.0.0:* 1001 94774 1167/io.eusec.0 udp 0 0 0.0.0.0:58230 0.0.0.0:* 1001 91509 1167/io.eusec.0 udp 0 0 0.0.0.0:33661 0.0.0.0:* 1001 1851339 1167/io.eusec.0 udp 0 0 0.0.0.0:60291 0.0.0.0:* 1001 265400 1167/io.eusec.0 udp 0 0 0.0.0.0:35718 0.0.0.0:* 1001 692211 1167/io.eusec.0 udp 0 0 0.0.0.0:50070 0.0.0.0:* 1001 77254 1167/io.eusec.0 udp 0 0 0.0.0.0:50076 0.0.0.0:* 1001 692215 1167/io.eusec.0 udp 0 0 0.0.0.0:35740 0.0.0.0:* 1001 63417 1167/io.eusec.0 udp 0 0 0.0.0.0:35774 0.0.0.0:* 1001 1808621 1167/io.eusec.0 udp 0 0 0.0.0.0:33732 0.0.0.0:* 1001 99876 1167/io.eusec.0 udp 0 0 0.0.0.0:48071 0.0.0.0:* 1001 5815948 1167/io.eusec.0 udp 0 0 0.0.0.0:52170 0.0.0.0:* 1001 92615 1167/io.eusec.0 udp 0 0 0.0.0.0:58330 0.0.0.0:* 1001 733058 1167/io.eusec.0 udp 0 0 0.0.0.0:41997 0.0.0.0:* 1001 7409740 1167/io.eusec.0 udp 0 0 0.0.0.0:56344 0.0.0.0:* 1001 85888 1167/io.eusec.0 udp 0 0 0.0.0.0:52307 0.0.0.0:* 1001 5915047 1167/io.eusec.0 udp 0 0 0.0.0.0:48216 0.0.0.0:* 1001 1535900 1167/io.eusec.0 udp 0 0 0.0.0.0:50290 0.0.0.0:* 1001 7409760 1167/io.eusec.0 udp 0 0 0.0.0.0:40051 0.0.0.0:* 1001 107795 1167/io.eusec.0 udp 0 0 0.0.0.0:54410 0.0.0.0:* 1001 8173752 1167/io.eusec.0 udp 0 0 0.0.0.0:44183 0.0.0.0:* 1001 78528 1167/io.eusec.0 udp 0 0 0.0.0.0:60632 0.0.0.0:* 1001 7411640 1167/io.eusec.0 udp 0 0 0.0.0.0:5353 0.0.0.0:* 108 14776 350/avahi-daemon: r udp 0 0 0.0.0.0:50414 0.0.0.0:* 1001 733043 1167/io.eusec.0 udp 0 0 0.0.0.0:42256 0.0.0.0:* 1001 1735660 1167/io.eusec.0 udp 0 0 0.0.0.0:60701 0.0.0.0:* 1001 1815958 1167/io.eusec.0 udp 0 0 0.0.0.0:52510 0.0.0.0:* 1001 74890 1167/io.eusec.0 udp 0 0 0.0.0.0:54571 0.0.0.0:* 1001 5931290 1167/io.eusec.0 udp 0 0 0.0.0.0:42317 0.0.0.0:* 1001 7398237 1167/io.eusec.0 udp 0 0 0.0.0.0:44392 0.0.0.0:* 1001 69824 1167/io.eusec.0 udp 0 0 0.0.0.0:60781 0.0.0.0:* 1001 1037793 1167/io.eusec.0 udp 0 0 0.0.0.0:56700 0.0.0.0:* 1001 67244 1167/io.eusec.0 udp 0 0 0.0.0.0:52618 0.0.0.0:* 1001 150654 1167/io.eusec.0 udp 0 0 0.0.0.0:50601 0.0.0.0:* 1001 1157237 1167/io.eusec.0 udp 0 0 0.0.0.0:56784 0.0.0.0:* 1001 106189 1167/io.eusec.0 udp 0 0 0.0.0.0:48629 0.0.0.0:* 1001 79856 1167/io.eusec.0 udp 0 0 0.0.0.0:42494 0.0.0.0:* 1001 145079 1167/io.eusec.0 udp 0 0 0.0.0.0:50817 0.0.0.0:* 1001 5931286 1167/io.eusec.0 udp 0 0 0.0.0.0:34435 0.0.0.0:* 1001 88075 1167/io.eusec.0 udp 0 0 0.0.0.0:34435 0.0.0.0:* 1001 88075 1167/io.eusec.0 udp 0 0 0.0.0.0:40582 0.0.0.0:* 1001 68824 1167/io.eusec.0 udp 0 0 0.0.0.0:48785 0.0.0.0:* 1001 8425183 1167/io.eusec.0 udp 0 0 0.0.0.0:46796 0.0.0.0:* 1001 5915337 1167/io.eusec.0 udp6 0 0 :::57082 :::* 108 14779 350/avahi-daemon: r udp6 0 0 :::5353 :::* 108 14777 350/avahi-daemon: r
-
@seb2010 sagte in Influxdb 2 Konfiguration mit ioBroker/Grafana/Pi4 4GB SSD:
load average: 6.89, 14.24, 11.69
Das Ding ist komplett überlastet.
"das sind einfach zu viele Daten"
Richtig, das sind einfach zu viele Daten.
Und da turnt auch noch motioneye oder sonstwas mit Kamera herum. Ultra-HD-8K-Auflösung? -
Ist jetzt keine Lösung für Dich, aber vielleicht ein Denkanstoß.
Ich bin nicht auf einem RasPi unterwegs, nutze einen alten PC mit Proxmox und SSD an SATA und keine Optimierung bei der InfluxDb Konfiguration.
Du hast ein System, mit 4GB Speicher, wo
ioBroker
sicherlich den Löwenanteil frisst. Dann nochInfluxDB
das auch besser läuft, wenn Hauptspeicher zur Verfügung steht.
Eine SSD am ResPI ist ja gut, heißt aber auch nicht, dass sie so schnell ist wie an einem SATA, ist die SSD auch am richtigen USB angeschlossen, also USB3?
Was sagtiotop
ist wietop
nur halt für dasio
. dann wieso hast Du das Logging aufDebug
stehen, auch das verursacht Last auf dem System, würde ich aufInfo
lassen.Dann kommt es auch noch darauf an wie du den
InfluxDB-Adapter
konfiguriert hast!**Schreibaktionen sammeln** Der hier eingegeben Wert bestimmt wie viele neue Daten vorliegen sollen, bevor wieder in die Datenbank geschrieben werden soll. Je höher der Wert, desto seltener wird in die DB geschrieben, desto höher ist aber der Datenverlust bei Ausfall des Adapters. Eine 0 sorgt für sofortigen Eintrag in die DB. Dementsprechend bedeutet die Eingabe "0": Sofortiges Schreiben in die Datenbank. Dies erhöht die Last auf der Datenbank und im Adapter.
**Schreibintervall** Wird hier ein Wert eingegeben werden die Daten bereits nach der vorgegebenen Zeit in Sekunden in die Datenbank geschrieben, auch wenn die im letzten Punkt eingestellte Anzahl von Daten noch nicht erreicht ist.
**Nur Änderungen aufzeichnen** Ist diese Checkbox angehakt müssen aufeinander folgende Daten unterschiedliche Werte haben damit sie aufgezeichnet werden. Sendet ein Sensor, z.B. mehrfach die gleiche Temperatur wird dies nicht aufgezeichnet, erst bei einer Änderung wird wieder eine Datensatz angelegt.
**gleiche Werte aufzeichnen** sollen bei gleichem Wert von Zeit zu Zeit trotzdem diese (unveränderten) Werte gespeichert werden, kann hier eine Zeitspanne in Sekunden festgelegt werden, wie häufig dieses geschehen soll. Dementsprechend bedeutet die Eingabe 0, dass kein doppelter Wert gespeichert werden soll.
**Minimale Abweichung vom letzten Wert** sollen bei ständig wechselnden Werten trotzdem diese (geänderten) Werte nicht gespeichert werden, kann hier ein Mindestwert festgelegt werden, den sich der Wert ändern muss, damit wieder ein neuer Wert gespeichert wird. Dies ist beispielsweise bei Strommesssteckdosen sinnvoll, bei dem nicht jede leichte Veränderung geloggt werden soll. Dementsprechend bedeutet die Eingabe 0, dass jeder Wert gespeichert werden soll.
VG
Bernd -
@dp20eic @Thomas-Braun
danke euch beiden. Das das System langsam an seine Grenzen stößt merke ich auch. Motioneye mit zwei 2k Kameras läuft auch, richtig. Einen potenteren Server habe ich auch schon ins Auge gefasst.Bevor ich das allerdings zeitlich durchführen kann, würde ich vorher noch gerne die DB Einstellungen tunen. Daher die Frage. Aber vermutlich ist der Pi einfach zu klein für das was ich ihm abverlange.
Viele Grüße
SEB -
@seb2010 sagte in Influxdb 2 Konfiguration mit ioBroker/Grafana/Pi4 4GB SSD:
Aber vermutlich ist der Pi einfach zu klein für das was ich ihm abverlange.
Richtig erkannt.
-
@thomas-braun
Habe gerade noch etwas debugged und optimiert.- Die konstante CPU-Last kommt wohl eher von einem aus dem Ruder gelaufenen Iobroker Javascript. Da sind Dinge durch Asynchronität nicht so gelaufen wie sie sollten und der javascript process bliebt auf 100%. Der Prozess bliebt sogar bei deaktivierter Instanz in htop sichtbar. BTW: hier besser ein Ressourcen-fressendes, spezifisches Script in IOB aus der Masse aller Scripts isolieren zu können wäre schon gut. Wenn da jemand Erfahrungen mit hat, immer her damit.
- Um zukünftig ein bisschen Luft zu haben habe ich
- ZRAM aktiviert
- das Swap-File vergrößert
Mal sehen wie es jetzt im Dauerbetrieb läuft.
Load average: 2.39 2.42 2.56
Bin daher immer noch an eine guten InfluxDB Config interessiert. Wenn die Aussage ist "wenn du am Standard was ändern musst ist dein System zu langsam oder durch etwas anderes überlastet" ist das auch ok. Wäre nur gut da über Pauschalaussagen hinaus zu kommen.
Die Belastungsfrage haben wir ja nun geklärt.VG
SEB -
Ich würde einmal im
javascript
Adapter alle Scripte stoppen, dann denjavascript
Adapter stoppen, dann einenreboot
desrespPI
machen, anschließend schauen, das das frisch gestartete System ohne hohe last läuft, dann denjavascript
Adapter starten und jedes script einzeln starten und schauen wie es sich verhält.
Wenn ein Script Amok läuft solltest Du das so finden, denke ich?VG
Bernd -
@dp20eic Danke dir Bernd. Genauso habe ich es auch gemacht und konnte es auch so identifizieren. Allerdings hatte ich gehofft - ohne weiter Kenntnis von node.js und der inneren Funktionsweise zu haben - dass es intern doch pro Skript einen "Prozess" geben müsste, den man (zusammen mit dem Ressourcenverbrauch) vielleicht mit cleveren Kommandos oder Tools sichtbar machen kann?!
Es gibt ja auch gerne mal Skripte, die erst nach einiger Zeit ein Problem entwickeln oder wo man das Problem nicht genau reproduzieren kann. Dann ist die Methode des nach-und-nach-Zuschaltens sehr zeitaufwändig. Wenn man Skripte besser mit der Lupe zum Zeitpunkt des Problems anschauen könnte, wäre das super hilfreich. -
Naja, das ginge schon, dazu müsste man aber in die Sourcen von
iobroker
zusätzliche Klassen einbinden, die dann die Laufzeiteigenschaften an geeignete Systeme weiter geben. So auf die schnelle fallen mir da Tempo (Grafana Labs), Opentelemetry und etwas von Apache SkyWalking ein.Ist aber nicht wirklich für die breite Masse gedacht und bring zusätzliche Last auf das heimische System und wer viel Misst, Misst Mist
Ich denke, es ist einfacher, wenn Du das von Dir erstellte Skript hier im Forum zeigst, es gibt hier so viele gute Programmierer, die Dir sicher helfen werden den Pferdefuß im Skript zu finden.
VG
Bernd