NEWS
ioBroker Prozess- & Gesundheitsmonitor + Grafana + HTML
-
ich habe das so gemacht, weil in meinem Fall
Der Server (Unraid), 64 GB Verfügbar
iobroker läuft im docker, neben unzähligen anderen dockern, da bei einer Abfrage des Speichers der gesamte Ram des Servers ausgegeben wird, ist es etwas blöd, wenn ich z.b. 5% angebe, und dann ne Warnmeldung erst bekomme, wenn noch rund 3GB vom ganzen Server frei sindEdit:
Außerdem hängt Prozent stark von der Gesamtgröße ab: 1 GB frei ist bei 4 GB RAM etwas anderes als bei 32 GB RAM
aber ich kann es mal zusätzlich mit einbauen -
ich habe das so gemacht, weil in meinem Fall
Der Server (Unraid), 64 GB Verfügbar
iobroker läuft im docker, neben unzähligen anderen dockern, da bei einer Abfrage des Speichers der gesamte Ram des Servers ausgegeben wird, ist es etwas blöd, wenn ich z.b. 5% angebe, und dann ne Warnmeldung erst bekomme, wenn noch rund 3GB vom ganzen Server frei sindEdit:
Außerdem hängt Prozent stark von der Gesamtgröße ab: 1 GB frei ist bei 4 GB RAM etwas anderes als bei 32 GB RAM
aber ich kann es mal zusätzlich mit einbauenAußerdem hängt Prozent stark von der Gesamtgröße ab: 1 GB frei ist bei 4 GB RAM etwas anderes als bei 32 GB RAM
aber ich kann es mal zusätzlich mit einbauenGenau deshalb habe ich ja nachgefragt, eine Auslastung von 90 % ist bei einer Gesamtgröße von 4 GB RAM, oder bei 32 GB RAM schlecht.
Einbauen brauchst du es nur wenn es sinnvoll erscheint
-
Außerdem hängt Prozent stark von der Gesamtgröße ab: 1 GB frei ist bei 4 GB RAM etwas anderes als bei 32 GB RAM
aber ich kann es mal zusätzlich mit einbauenGenau deshalb habe ich ja nachgefragt, eine Auslastung von 90 % ist bei einer Gesamtgröße von 4 GB RAM, oder bei 32 GB RAM schlecht.
Einbauen brauchst du es nur wenn es sinnvoll erscheint
-
-
@crunchip
Vielen Dank fürs einbauen, jetzt habe ich aber noch eine Frage.Werden solche Adapter auch aufgeführt und wenn ja wo?

@Oli nein, nicht direkt, weil das ja schon der js-controller erledigt
-
Nach dem Import des Dashboards bitte zuerst DSINFLUXDB, DSINFINITY und iobrokerurl prüfen bzw. auswählen.
Hallo ich benutze iobroker in einer dockerumgebung
ich sehe alle objekte nach dem skriptstart
ich bekomme aber keine daten in grafana- welcher rest-api adapter muss installiert werden und mit welchen parametern
- mein iobroker admin adapter läuft auf 192.168.1.40:8081 --> ist das meine iobroker_url?
- ich habe mehrere datasources, die für iobroker heißt iobroker --> muss ich diese auswählen? ich dachte der rest-api adapter macht das?
- was konfiguriere ich im infinity adapter? habe dort unter security ein * eingetragen aber bekomme in grafana z.b. bei Flaky die fehlermeldungen wegen security
habe jetzt nach 2 stunden aufgegeben
-
Nach dem Import des Dashboards bitte zuerst DSINFLUXDB, DSINFINITY und iobrokerurl prüfen bzw. auswählen.
Hallo ich benutze iobroker in einer dockerumgebung
ich sehe alle objekte nach dem skriptstart
ich bekomme aber keine daten in grafana- welcher rest-api adapter muss installiert werden und mit welchen parametern
- mein iobroker admin adapter läuft auf 192.168.1.40:8081 --> ist das meine iobroker_url?
- ich habe mehrere datasources, die für iobroker heißt iobroker --> muss ich diese auswählen? ich dachte der rest-api adapter macht das?
- was konfiguriere ich im infinity adapter? habe dort unter security ein * eingetragen aber bekomme in grafana z.b. bei Flaky die fehlermeldungen wegen security
habe jetzt nach 2 stunden aufgegeben
- gibt nur einen, der andere nennt sich simple API, und du musst auch nichts weiter einstellen, alles so lassen
- Ja, aber den passenden Port wählen
- Du musst die auswählen, wo du deine Daten hinschreibst, ja du brauchst beides, für Zeitreihen müssen sie in die Datenbank geschrieben werden
- Genau so wie in meinen Screenshot gezeigt
Letztendlich sollte alles gleich sein, bis auf den Datenbank Namen und die Ip
-
der obere Teil funktioniert super dank im unteren Bereich bekomme ich immer noch die Fehler obwohl ich ein * gesetzt habe. Liegt es an der Grafana version? Habe 10.4.10
Nehme ich den port 8093 für die iobroker_url oder den admin port 8081? -
@rallef da steht dein falscher Port drin
-
ioBroker Prozess-Monitor — Langzeit-Gesundheitsmonitoring
Ich stelle hier mein Script für ein erweitertes Prozess- und Gesundheitsmonitoring von ioBroker vor, inklusive passendem Grafana-Dashboard für InfluxDB v1. (InfluxQL )
InfluxDB v2 ist grundsätzlich vorgesehen, aktuell aber noch nicht als separates Dashboard-Paket enthalten.
Habe das Grafana json (flux) im Beitrag unten ergänzt, jedoch ungetestetDas Script nutzt Standard-States wie
system.adapter.*undsystem.host.*und benötigt keinen zusätzlichen eigenen Adapter.
Für Log-Tracking und die Erkennung degradierter Adapter wirdonLogdes JavaScript-Adapters benötigt.Enthalten sind unter anderem:
- CPU-/RAM-Monitoring aller laufenden Adapter
- Restart-Tracking für Flaky-Adapter und Cron-Restarts
- Memory-Leak- und Deadlock-Erkennung
- Log-Error-/Warn-Tracking und Degraded-Adapter-Bewertung
- Host-, Disk- und Health-Score-Monitoring
- Optionale Telegram-Alarme und REST-Auswertung
- Übersicht über deaktivierte Adapter
Getestet auf Raspberry Pi, VM, LXC, Docker und Unraid; produktiv läuft es aktuell auf Docker/Unraid.
Ziel ist die Früherkennung schleichender Probleme in produktiven ioBroker-Systemen.Wichtig:
Nach dem Import des Dashboards bitte zuerstDSINFLUXDB,DSINFINITYundiobrokerurlprüfen bzw. auswählen.
Erst danach liefern alle Panels und REST-basierten Tabellen zuverlässig Daten.Im Beitrag:
- Script
- Grafana-Dashboard InfluxDB v1 ( InfluxQL )
- Grafana-Dashboard InfluxDB v2 (flux)
- Die für InfluxDB benötigten Datenpunkte; weitere Tabellen und Zusatzdaten kommen per Infinity direkt über die REST-API

- Variablen anlegen siehe https://forum.iobroker.net/post/1330170
- Für dein Dashboard und die Ressourcen ist entscheidend, wie du die Datenpunkt‑spezifischen Influx‑Einstellungen je Typ setzt – nicht global alles gleich.
Grundprinzip je Datenpunkttyp
- Langsam ändernde Zustände (Booleans, Modus, Error‑Flags, Health‑Scores, Event‑Pulse):
- Nur Änderungen aufzeichnen: an
- Entprellzeit: 300–1000 ms
- Blockzeit: 0
- „Trotzdem gleiche Werte aufzeichnen“: 600–3600 s (je nach gewünschter History‑Auflösung)
- Minimale Differenz: 0 (bei Booleans/Zahlen mit kleinem Bereich)
- Ergebnis: sehr wenige Punkte, aber alle Zustandswechsel sauber im Grafana‑Dashboard.
Kontinuierliche Messwerte mit Trend (CPU‑Last, RAM‑MB, Host‑Disk‑FreeMB, Health‑Score):
- Nur Änderungen aufzeichnen: an
- Entprellzeit: 500 ms wie im Screenshot ist ok
- „Trotzdem gleiche Werte“: auf deinen Script‑Zyklus bzw. Host‑Intervalle ausrichten, z. B. 180–300 s, damit Influx wenigstens alle paar Minuten einen Punkt bekommt, selbst wenn sich nichts ändert.
- Minimale Differenz: z. B. 1 % bei CPU‑Werten, 5–10 MB bei RAM, 1 Punkt beim Health‑Score.
- Ignoriere 0/Nullwerte: an, falls der DP beim Start kurz 0/NULL ist und das im Dashboard nicht stören soll.
Pulse‑Werte für Events (RestartEventPulse, FlakyEventPulse, Deadlock‑Alarm‑Pulse etc.):
- Nur Änderungen: an
- Trotzdem gleiche Werte: 0 s (nicht nötig, der Pulse ist ein kurzer Wechsel 0→1→0)
- Entprellzeit: klein (100–200 ms), damit jeder Pulse als eigener Punkt landet.
- 0/Null ignorieren: aus, sonst siehst du nur die 1, aber keinen „Rückfall“ im Graphen.
Feedback, Tests in anderen Umgebungen und Verbesserungsvorschläge willkommen! 🚀
🔥 NEU: Prozess-Monitor
CHANGELOG v4.6.6 (20.04.2026) RAM-Prozent mit Docker-tauglicher Bezugsgröße (Cgroup / manuell).
✅ RAMPERCENTBASIS / RAMPERCENTMANUALMB: gemeinsamer Nenner für alle RAM-%-Werte (ioBroker-Gesamt + Host „frei“) → Prozent im Container bezieht sich auf Cgroup-Limit oder festen Wert, nicht blind auf Host-totalmem
✅ readCgroupMemoryLimitBytes(): liest memory.max (v2) bzw. memory.limit_in_bytes (v1) → passendes Limit unter Linux/Docker, wenn gesetzt
✅ Modi cgroup_or_host / host / cgroup / manual: steuerbar, wann Cgroup, Hardware oder manuelle MB greifen → klare Experten- vs. Standard-Logik
✅ formatRAMAlertMessage(): wenn Prozent aktiv, aber keine Bezugsgröße ermittelbar → Text nennt MB-Fallback und Hinweis zu RAMPERCENT* → Telegram passt zur echten Alarmlogik
CHANGELOG v4.6.5 (20.04.2026) RAM-Schwellen wahlweise in Prozent oder MB (Einsteiger / Experte).✅ IOBROKERRAMTHRESHOLDMODE percent | mb: ioBroker-Gesamt-RAM → entweder RAMWARNINGPCT / RAMCRITICALPCT oder RAMWARNING / RAMCRITICAL (MB)
✅ HOSTRAMTHRESHOLDMODE percent | mb: freier Host-RAM → entweder HOSTRAMFREEPCT oder HOSTRAMFREEMB → beide Bereiche unabhängig umschaltbar
✅ resolveIoBrokerRamAlarmLevels() + Dashboard-Kachel: Farbe/Limit-Text folgen dem Modus → konsistent zu checkAlarm und HTML-DashboardHTML
✅ Host-RAM-Alarm & Host-Kachel: Prozent nutzt dieselbe Bezugsgröße wie ioBroker-% (ab v4.6.6 inkl. Cgroup/Manual) → einheitliche Semantik
Hinweis: Script neu starten. Grafana ändert sich nicht von selbst (keine Dashboard-Datei im Skript); nur Schwellzeitpunkte können sich bei Umstellung auf Prozent verschieben — fest eingetragene MB-Linien in Panels ggf. anpassen. Wer nur klassisch MB will: IOBROKERRAMTHRESHOLDMODE: 'mb' und HOSTRAMTHRESHOLDMODE: 'mb' setzen.CHANGELOG v4.6.4 (17.04.2026) HTML-Dashboard für VIS / Jarvis / iQontrol (ohne Grafana).
CHANGELOG v4.6.3 (17.04.2026) Performance, Bugfixes, Stabilität.
CHANGELOG v4.6.2 (14.04.2026) Pushover als zweiter Benachrichtigungskanal neben Telegram.
Hinweis: PUSHOVERENABLE: true setzen, PUSHOVERINSTANCE anpassen, Script neu starten. ioBroker Pushover-Adapter muss installiert und konfiguriert sein.
CHANGELOG v4.6.1 (13.04.2026) Minütliche Controller-Warnungen nach Adapter-Deinstallation behoben.
Hinweis: Aktueller ioBroker.javascript-Adapter mit existsObject() empfohlen. Script neu starten.
CHANGELOG v4.6.0 (20.03.2026) Konfigurationsbereich vollständig neu strukturiert.
Script
script_v4.6.6Das Dashboard (InfluxQL )
dashboard-4.6.0-FinalNEU 30.03.2026
Das Dashboard (Flux)
dashboard-4.6.0_flux



Offene Tuning-Punkte
- Flaky: aktuell 3 Restarts in 24h — sinnvoller Grenzwert, wenn geplante Cron-Restarts toleriert werden?
- Errors: aktuell 3/h Warnung und 20/h kritisch — passen diese Werte in anderen Umgebungen?
- Worst/Best Performer: Gewichtung des Health Scores noch offen für Feintuning.
- Degraded Adapter: aktuell kritische Error-Rate ab 10/h plus CPU > 12 und/oder Event Loop Lag > 100 ms — praxistauglich?
- Event Loop Lag: aktuell 500 ms kritisch als allgemeiner Schwellwert — vermutlich hardwareabhängig?
- Memory Leak: aktuell ab (R^2 > 0.65) und Wachstum > 15 MB/h — Erfahrungswerte willkommen.
- Deadlock: aktuell
alive=trueundconnected=false— eventuell noch erweiterbar.
Hallo,
kannst du noch eine E-Mail Benarichtigung einbauen?
Wo kann ich den Hintergrund für das HTML Widget einstellen? (transparent)
Wegen Anpassung für AURA.Erledigt, passt sich im Frontend eh an.

LG
Sigi
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden





