@msiemers
Hi, ich muss gestehen...
ich habe abgebrochen. Irgendwie habe ich das auch nicht hinbekommen. Die Zählerstände sind immer auseinander gelaufen... und dann habe ich plötzlich entdeckt, dass ich aus dem Viessmann Adapter die Zählerstände bzw. verbräuche recht gut rausbekomme.
Ich denke mit ein bisschen Hilfe asu dem Forum ist das sicher machbar.
Sorry.
NEWS
[Vorlage]-Script Prozess- und Swap-HTML Tabelle für VIS (nur Linux)
-
durch eigene erfahrungen mit der suche nach memory und swap problemen habe ich ein script mit blockly entwickelt, welches u.a. tabellen ausgibt, um folgendes sichtbar zu machen
- benutzt mein system den swap speicher
- wieviel freien speicher habe ich
- welche prozesse erzeugen den swap (tabelle)
- wieviel speicher verbrauchen die einzelnen prozesse in meinem linuxsystem (tabelle)
- wieviel festplattenplatz habe ich noch
einige der werte bekommt man auch über andere adapter
beispiel für vis:
wird mit dem html widget angezeigt und html-binding.
- gelbe pfeile tabellen
- oranger pfeil: filter eingabe für prozess-anzeige
- blauer pfeil: schalter für sofortige ausführung
die datenpunkte werden unter javascript.0.GETPROCESS automatisch angelegt.
WICHTIG:
man muss mit dem terminal das programm smem installieren
sudo apt-get install smem
datenpunkte:
- Swap Size -> wieviel wird geswappt - zahl (in MB)
- SwapAlarm -> es wird geswappt - boolean
- SwapTable -> tabelle mit "swappenden prozessen - text als html (Total anzeige in kB)
- MemoryFree -> wieviel freier speicher ist noch da - zahl (in MB)
- MemoryAlarm -> kein freier speicher - boolean
- ProcessTable -> tabelle mit allen laufenden prozessen (swap,memory,pid,user,prozess) - text als html
- GetProcessFilter -> simple möglichkeit, die anzuzeigenden prozesse zu filter
- GetProcessJetzt -> Schalter für sofortige Ausführung
- DiskTable -> Anzeige der Diskbelegung/Platenplatz/mountpoints (tmpfs ist gefiltert!)
DiskSpaceAlarm -> alarm bei über 90% - boolean
DiskSpace -> der belegte DiskSpace der root-platte (in prozent)
standardmäßig wird alle 5 minuten abgefragt - kann natürlich individuell angeglichen werden (cron im script).
blockly-Script: GETPROCESS
Version 1.3
swap-process-tabelle-script.txtwidgets:
widget-swap-tabelle.txt
widget-mem-tabelle.txt
diskspace-widget
widget-disk-tabelle.txtfür farblich orientierte kann man auch folgendes unter css eingeben;
.getprocessswap { color: yellow; } .getprocessmem { color: orange; } .getprocesstime { color: #00BFFF; } .getprocessswap1 { color: green; }
-
update 1.1 - bessere tabellen übersicht
kann man gut zum beobachten nach js-controller update gebrauchen
-
neues update 1.2:
- jetzt können die farben eingestellt werden für die tabellen (css in der vis)
- es gibt einen schalter für das sofortige ausführen um die tabellen neu zu erstellen
- man kann einen filter eingeben, um nur bestimmte processe anzuzeigen
-
das sieht doch mal vielversprechend aus, bei gelegenheit werd ich das mal testen, nachdem ich festgestellt habe, das mein swap mehr oder weniger zu sehr beansprucht wird.
Gruss -
hi @crunchip
testen wäre gut - kann feedback gebrauchen- falls dir noch eine tabelle einfallen würde, lass hören
weisst du zufällig, warum der speicher verbrauch vom javascript adapter immer höher wird - heute morgen 60MB und jetzt ist er bei 215
-
@liv-in-sky habs noch nicht installiert, meiner liegt generell bei rund 240MB
-
@crunchip sorry- war gestern zu spät - meiner liegt auch bei ca. 250 - hab da was verwechselt
-
neues update 1.3: mit diskspace
-
probleme mit fixer.sh script:
wurde das fixer.sh script angewendet funktioniert dieses script nicht - nach dem fixer-script-durchlauf, wird der benutzte exec() befehl mit dem user "iobroker" ausgeführt. dieser user hat aber nicht genügend rechte . damit dieses script hier funktioniert, müssen folgende einstellungen vorgenommen werden.
- a) es muss unter /etc/sudoers.h eine datei angelegt werden
- b) es muss ein bash-script angelegt werden
- c) es muss eine andere version des scripts verwendet werden
**zu a **
terminal: unter dem ordner /etc/sudoers.d eine dateianlegen z.b. getswap - damit bekommt der user iobroker genügend rechteiobroker ALL=(iobroker) NOPASSWD: /usr/bin/smem iobroker ALL=(iobroker) NOPASSWD: /usr/local/bin/swapfind
zu b
terminal: ein script anlegen unter /usr/local/bin mit dem namen "swapfind" - sichern und ausführbar machen (chmod +x swapfind)#!/bin/bash for proc in /proc/*; do cat $proc/smaps 2>/dev/null | awk '/Swap/{swap+=$2}END{print swap"\t'`readl$ exit
**zu c **
swap-process-tabelle-script-fixer.txt
sorry - ist etwas kompliziert
-
habe noch zusätzlich zwei blockly's für interessierte - bei mir gab es probleme mit zu großen system-logs - platte war plötzlich voll. im script wird der mail-adapter für den alarm genutzt - kann man auch ändern (z.b. telegram, alexa).
nummer eins:
- ermittelt die größe des iobroker log files - der datenpunkt wird javascript.0.GETPROCESS.LOGSizeIOBroker angelegt
nummer zwei:
- ermittelt die größe des /var/log ordners - der datenpunkt wird javascript.0.GETPROCESS.LOGSizeVAR
auch hier muss mit sudo -u root gearbeitet werden, da der iobroker user (fixer script) nicht genügend rechte besitzt - daher folgendes in das iobroker-user-sudoers.d - file schreiben bzw hinzufügen
iobroker ALL=(ALL) NOPASSWD: /usr/bin/du
zum import:
log-groesse-blockly.txtdiese befehle können auch im terminal aufgerufen werden - zur überprüfung - falls man kein script möchte
die größe - wann alarm ausgelöst wird- sollte angeglichen werden
es wird nur ein mail-alarm gesendet
findet aktuelles logfile vom iobroker und gibt die größe aus (kB): ls -l $(find /opt/iobroker/log -type f -cmin -5 ) | awk '{ print $5 }' findet aktuelle größe des /var/log ordners und gibt die größe aus (MB): du -h /var/log | tac | awk 'NR==1 {print $1}' | sed 's/.$//'
Suggested Topics
-
UNSOLVED Admin Adapter Speicher
Error/Bug • • UweRLP