NEWS


  • 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.
    Image 5.png

    • gelbe pfeile tabellen
    • oranger pfeil: filter eingabe für prozess-anzeige
    • blauer pfeil: schalter für sofortige ausführung
      Image 2.png

    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.txt

    widgets:
    widget-swap-tabelle.txt
    widget-mem-tabelle.txt
    diskspace-widget
    widget-disk-tabelle.txt

    fü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

    Image 5.png

  • Forum Testing Most Active

    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

  • Forum Testing Most Active

    @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

    Image 2.png


  • 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 rechte

    iobroker 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.txt

    diese 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/.$//'
    
    

    Image 1.png

Suggested Topics

945
Online

36.9k
Users

42.7k
Topics

591.8k
Posts