AvrLogger : Thermallogger und Visualisierung Tool

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Hmmm... Das bedeutet, dass man ab dem Umschalten der Zeitachse, bis das Diagramm einmal durchgelaufen ist, im Kopf haben muss, dass für alle Werte vor dem Umschaltzeitpunkt eine falsche Zeit zugeordnet ist.

Wer von den Nutzern behält das tatsächlich im Kopf? V.a. nach Monaten oder Jahren – eine DS ist ja eher ein Aufsetzen–Einrichten–NichtMehrDrankDenken-Gerät – wenn man man "mal eben" nachsehen möchte was in der Zeit vor der gerade angezeigten Periode war. Und unter Stress (wenn man nach zeitlicher Korrelation einer Überlastung/Überhitzung sucht, oder auch nicht-IT-begründeter Stress :eek: ) denkt man da erst recht nicht mehr dran. Für ein Umschalten auf höhere Zeitauflösung fehlen die retrospektiven Werte.

Man kann natürlich sicherheitshalber beim Umschalten alle aufgelaufenen Werte löschen. Aber dann verliert man die Rückschau, und man muss natürlich daran denken. Irgendwie nicht ideal.

Gibt es keinen Weg, die Messwerte mit Zeitstempel in der originalen Zeitauflösung abzulegen (ggf. erst in Shared Memory sammeln, und wenn's genug ist als dickeres Paket auf die Platte schieben), und erst beim Diagrammaufruf die Bildpunkte zu berechnen? Oder wird das für schwache CPUs zu aufwändig?
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89
"Sticky" geht auf einmal nicht; Einstellungsfenster schließt immer beim Klick außerhalb
  • Hmmm … Das Einstellungsfenster ist „hardcodet“ … das sollte sich nur schließen wenn das Fenster mit der Liniengrafik geschlossen wird. Ich beobachte das mal.

Was ist "Timebase Update"
  • Das ist der Aktualisierungsintervall der Liniengrafik. AvrLogger sammelt fleißig Werte, überführt diese jedoch nur z.B. alle 10 Minuten in die Liniengrafik.
Zum Problem der vielen Ajax.cgi
  • Habe ich mal umgesetzt. Im Ajax-Skript ist jetzt eine Verriegelung eingebaut.
RAM und MHz abfragt,
  • Was ich gemacht habe, bei einer Installation ermittele ich einen „cpuScore“ anhand dessen setzte ich global einen TimeOut. Die TimeOut-Meldung sollte nur noch kommen bei einem ernsthaften Problem oder Absturz des Deamon.
Updatefrequenz des Diagramms könnte noch viele längere Werte (bis 1-5 Minuten)
  • Meinen Beobachtungen nach, verändert sich die CPU-Last ab 5s nicht mehr.
  • Diese „zusätzliche“ CPU-Last wird nur generiert wenn das Fenster mit der Liniengrafik geöffnet ist und verschwindet umgehend wenn das Fenster geschlossen wird.
  • Das hätte zur Folge, dass geänderte Einstellungen ebenfalls mit dieser Verzögerung übernommen werden würde. D.h. du änderst eine Linienfarbe, das Ergebnis würdest du erst in 5 Minuten zu sehen bekommen.
bei Bedarf ein Update-Button im Diagramm
  • Dieses, bzw. ein ähnliches Verhalten, hatte AvrLogger „vor“ der Version 3.
  • Der übliche Anwendungsfall dürfte sein:
    • AvrLogger wird aufgerufen
    • Ich schaue mir an was bis jetzt so passiert ist (Kontrolle)
    • AvrLogger wird geschlossen
  • Oder :
    • AvrLogger wird geöffnet
    • Ich ändere Einstellungen
    • Ich möchte unmittelbar die Änderungen sehen
    • Bin ich mit den Änderungen zufrieden oder fertig, wird AvrLogger geschlossen.
  • Oder :
    • AvrLogger wird geöffnet
    • AvrLogger bleibt geöffnet um für einen gewissen Zeitraum zu verfolgen was passiert.
    • AvrLogger wird geschlossen
Allen Szenarien ist gemeinsam, dass die Liniengrafik "automatisch" aktualisiert wird. Ein „händisches“ aktualisieren der Liniengrafik widerspricht meinem Dafürhalten nach der Usability.

Ein Menü oder Slider für den gezeigten Zeitraum. von "Letzte Sekunde" bis "Letzte Woche, so dass man "mal eben" rein/rauszoomen kann
  • Der Wunsch danach ist nachvollziehbar und ist schon mal geäußert worden. Derzeit ohne echtem Zeitstemple der Werte leider nicht umsetzbar.
  • Ich spiele schon länger mit dem Gedanken den fehlenden Zeitstempel und die damit verbundenen Möglichkeiten, umzusetzen. Bedeutet für mich jedoch eine komplette Umstellung bzw. neu Programmierung aller involvierten Funktionen. Ich sage nicht dass es unmögliche ist, halt zurzeit und in naher Zukunft nicht.
Die Pfeile in der Legende sind unterschiedlich interpretierbar
  • Die Pfeile orientieren sich an der Anzeige im DSM-Widget. Betrachtet man die DiskStation als Endgerät, ist die Richtung der Pfeile eindeutig.
Die Legende wäre (zumindest bei "Unterstrichen") mit einem Abstand zwischen den Einträgen eleganter
  • Habe ich mal umgesetzt, die Länge ist einstellbar.
Kann man die Temperatur für jede HDD einzeln anzeigen?
  • Theoretisch ja … wie du selbst angemerkt hast, würde das entsprechend viele Linien / Werte generieren. Ich habe z.B. eine RS3617xs mit einer Erweiterungseinheit … in Summer habe ich derzeit 20 Festplatten. Einen Überblicke welche Temperatur die jeweilige Festplatte hat, kannst du aber auch in „HDD“ und „Übersicht“ prüfen.
  • Was du aber machen kannst, in „Konfig“ bei „Temperatursensor“ könntest du per OID bis zu 5 einzelne Festplatten abfragen und anzeigen lassen.
  • Du musst auch bedenken, jeder weitere Wert will ja auch verarbeitet werden und würde zwangsweise den Systemload des Deamons erhöhen.
AvrLogger als Widget für den schnellen Blick zwischendurch
  • Mir ist keine API für so etwas bekannt. Die Frage nach „neuen“ Widget’s auf / für den DSM habe ich im Forum schon mehrfach gesehen.
  • Leider ohne irgendeinem Hinweis auf eine entsprechend Schnittstelle.
  • Sollte so etwas irgendwann möglich sein, vielleicht mit DSM 7.0, werde ich ein Widget umsetzen.
Wenn die Achsen-Label mehrzeilig wären mit Ausrichtung "Unten" (und manuellen Zeilenumbrüche akzeptieren)
  • Hab ich ehrlich gesagt nicht so ganz verstanden.
  • Wenn es dir um die einfachere, visuelle, Zuordnung geht, du kannst jeder der Achsen eine andere Farbe zuweisen die sich in der Schriftfarbe der Legende wiederspiegelt.Z.B. für die Prozent-Achse „rot“, dann würden alle Label dieser Achse die Schriftfarbe „rot“ erhalten.
  • Oder, auch eine Möglichkeit, die Legendenanordnung „Split“ benutzen.
Umschalten der Zeitachse
  • Ich denke umschalten wird man eher nicht so oft.
  • Das Manko, sofern es wirklich eines ist, wird sie erst beheben lassen wenn ich die Werte mit einem echten „Zeitstempel“ versehe und entsprechen auswerte. Bis dahin leider nicht.
Zu guter Letzt … einige der Ideen / Anregungen habe ich umgesetzt und auf meinem Server liegt ein neues SPK gekennzeichnet als „BETA“.

Beta deswegen, weil ein paar der Funktionen an denen ich Hand angelegt habe, Potenzial für Fehler haben. Ob die alle auf allen DiskStation so funktionieren muss sich zeigen. Außerdem bin ich aktuell dabei die Aufbereitung der Liniengrafik umzuschreiben um diese noch flexibler für bestehende oder neue Funktionen zu gestallten. Ich weiß dass in dieser Beta gelegentlich die Skalierung nicht hinhaut.

Wie gesagt ist eine „BETA“, außerdem ist der Fehler von Perry2000 nach wie vor vorhanden. Sollte aber ein paar der gravierendsten Probleme mit kleineren (ganz kleinen) DiskStation beheben.
 
Zuletzt bearbeitet:

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89
Tja .. so schnell kann das gehen ... hab die BETA eben wegen eines gravierenden Fehlers zurück gezogen.

... Entwarnung ... Das "BETA"-SPK ist wieder verfügbar.
 
Zuletzt bearbeitet:

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
... Entwarnung ... Das "BETA"-SPK ist wieder verfügbar.

Hol ich mir gleich anschließend.

Hmmm … Das Einstellungsfenster ist „hardcodet“ … das sollte sich nur schließen wenn das Fenster mit der Liniengrafik geschlossen wird. Ich beobachte das mal.

ENTWARNUNG!! War meine Blödheit. Ich hab's in einem anderen Browser getestet und gemerkt: das ist ein separates *Browser*-Fenster, und nicht wie ich dachte innerhalb des Webinterfaces von DSM. Im ersten Browser war's immer da – nur eben vom großen Fenster verdeckt. Sorry für die Konfusion! :oops::oops::oops:

Das Problem von Perry2000 könnte dasselbe sein wie bei mir: eine Flut von Prozessen. Ich hatte ebenfalls das rechte Panel in den Einstellungen nicht gefüllt bekommen.
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Übrigens läßt Du das Einstellungsfenster anscheinend immer auf dem Hauptmonitor öffnen. Wäre auf dem mit dem DSM-Browserfenster besser aufgehoben, imo.
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89
... mach mal auf das Symbol von AvrLogger einen „rechts Klick“ und dann „öffnen in einem neuem Fenster“ ;)
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Schon wieder Entwarnung: das Eintstellungsfenster verhält sich wie gewünscht, das ist wohl ein Problem von Vivaldi.
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
... überkreuzte Posts...
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89
Vivaldi .... was ist das???
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Ein Browser.
Hab die Beta installiert (ohne RAMDisk), krieg aber trotz unausgelasteter CPU nur Screenshot.png, dh kein Diagramm.
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89
... Du musst das Browserfenster mir Strg-R neuladen ... das ein Bug im DSM
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
OK. Hatte einen Neustart versucht, läuft auf dasselbe hinaus.

AvrLogger läuft, sieht gut aus.

Log zeigt allerdings:
Code:
---------------------------------------------------------------------------------
2020.07.19 18:39:21 PreUpgrade: from v3.0.1-003 ...
2020.07.19 18:39:21 PreUpgrade: Settings successfully saved for reuse
2020.07.19 18:39:21 PreUninst : UPGRADE is being prepared ...
2020.07.19 18:39:21 PreUninst : Symbolic link in 3rdparty deleted
---------------------------------------------------------------------------------
2020.07.19 18:39:23 PreInst   : Preparing UPGRADE v3.0.1-003
2020.07.19 18:39:25 PostInst  : UPGRADE v3.0.1-003
---------------------------------------------------------------------------------
2020.07.19 18:39:25 PostInst  : Renamed "/helptoc" to "/.helptoc"
2020.07.19 18:39:25 PostInst  : Reuse "/etc"
2020.07.19 18:39:25 PostInst  : Unsupported "scemd.xml" - Fan control is disabled.
2020.07.19 18:39:25 PostInst  : Config "log.conf" updated
2020.07.19 18:39:25 PostInst  : Use of "Shared Memory" is disabled
2020.07.19 18:39:25 PostInst  : Config "Default.cnf" created
2020.07.19 18:39:25 PostInst  : Config "schedule.conf" created
2020.07.19 18:39:25 PostInst  : Global TimeOut set to "20"
2020.07.19 18:39:25 PostInst  : Symbolic link in 3rdparty created
-- ERROR Log : ------------------------------------------------------------------
find: `/sys/devices/system/cpu/cpu*/cpufreq/': No such file or directory
---------------------------------------------------------------------------------
2020.07.19 18:40:47 PKG: AvrLogger was started by DSM ...
2020.07.19 19:05:27 PKG: AvrLogger was stopped by DSM ...
2020.07.19 19:11:19 PKG: AvrLogger was started by DSM ...
2020.07.19 19:22:03 BaseException in : "cgi_main.main"
    Called Page : [Chart-page+]

Traceback (most recent call last):
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/AvrLogger.cgi", line 204, in Main
    sNext = cgi_main.main ( mainpage, site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_main.py", line 140, in main
    objModule[ index ].main( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 221, in main
    sFunctions( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 246, in func_Page
    Switch  ( 'LogRealtimeOn', 'LogRealtimeOn',                   80 )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_html.py", line 609, in Switch
    Sign ( key, sHelp=sHelp )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_html.py", line 373, in Sign
    print ( '                     <div class="Sign">' )
BrokenPipeError: [Errno 32] Broken pipe
                 
Clear

Hab mich mal kurz durch die Einstellungen geklickt, alles scheint OK. :)

Die Broken Pipe von
Code:
Traceback (most recent call last):
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/AvrLogger.cgi", line 204, in Main
    sNext = cgi_main.main ( mainpage, site, more )
Hat sich beim Durcklicken noch dreimal wiederholt.

Nur ein (!) laufender Ajax.cgi. :) :)

Deine lange Antwort seh' mir morgen nochmal genauer an, heute bin ich einfach zu matschig.
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89
find: `/sys/devices/system/cpu/cpu*/cpufreq/': No such file or directory

Das habe ich befürchtet ... Was bei mir auf einer Realtec & Intel CPU funktioniert ... auf einer Marvell Armada CPU aber nicht. In diesem Fall nicht besonders kritisch da:

2020.07.19 18:39:25 PostInst : Global TimeOut set to "20"

dennoch korrekt gesetzt wurde.

BrokenPipeError: [Errno 32] Broken pipe

Das ist scheinbar eine never ending Story ? und war hier schon seitenweise Thema, jedoch seit dem nicht mehr.
In 99% der Fälle, wenn der Fehler auftritt, passiert nichts weiter ... ist einfach nur nervig und taucht lediglich, ohne weitere Effekte, im LOG auf.

Naja ... ich versuche irgendwie den Fehler zu reproduzieren und möglichst zu beseitigen.
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Naja, wenn Du eh' in Richtung refactoring unterwegs bist und es keine ungünstigen Folgen hat, kannst Du es auch erstmal liegen lassen, oder?
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Allen Szenarien ist gemeinsam, dass die Liniengrafik "automatisch" aktualisiert wird. Ein „händisches“ aktualisieren der Liniengrafik widerspricht meinem Dafürhalten nach der Usability.
Wieso? Das automatische Aktualisieren soll ja nicht wegfallen. Aber wenn die Updatefrequenz eh' nicht so einen Einfluss auf die CPU-Last hat kann man sie höher lassen und dann erübrigt sich das.

Ich spiele schon länger mit dem Gedanken den fehlenden Zeitstempel und die damit verbundenen Möglichkeiten, umzusetzen. Bedeutet für mich jedoch eine komplette Umstellung bzw. neu Programmierung aller involvierten Funktionen. Ich sage nicht dass es unmögliche ist, halt zurzeit und in naher Zukunft nicht.

Die zweite Generation (also nicht nur Update, sondern echte Neukonstruktion) ist oft die beste. AvrLogger Mark II. :)


... Achsen-Label mehrzeilig mit Ausrichtung "Unten" und manuellen Zeilenumbrüche ...
Da sollte so etwas ermöglichen:
Label.png Das wären jetzt zwei Zeilen ("LAN\nMiB/s" sozusagen). Vielleich wären sogar drei Zeilen gut -- wer weiss schon was im Kopf eines Users vorgeht? :) Die nichtleeren Zeilen sollten unten angezeigt werden, damit alle Labels an der Unterkante fluchten.
 

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Polling gecrasht?
Screenshot.png

Log seit letztem Start:
Code:
2020.07.20 11:39:04 PKG: AvrLogger was started by DSM ...
2020.07.20 12:14:24 BaseException in : "cgi_main.main"
    Called Page : [Chart-legend+OnChange]

Traceback (most recent call last):
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/AvrLogger.cgi", line 204, in Main
    sNext = cgi_main.main ( mainpage, site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_main.py", line 140, in main
    objModule[ index ].main( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 221, in main
    sFunctions( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 550, in func_Legend
    Switch  ( 'LegColorOn',         'LegColorOn',          Column_1 )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_html.py", line 606, in Switch
    print ( "                     </label>" )
BrokenPipeError: [Errno 32] Broken pipe

2020.07.20 12:16:42 BaseException in : "cgi_main.main"
    Called Page : [Chart-legend+OnChange]

Traceback (most recent call last):
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/AvrLogger.cgi", line 204, in Main
    sNext = cgi_main.main ( mainpage, site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_main.py", line 140, in main
    objModule[ index ].main( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 221, in main
    sFunctions( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 544, in func_Legend
    Switch  ( 'LegBreakOn',      'LegBreakOn',          Column_1, True )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_html.py", line 606, in Switch
    print ( "                     </label>" )
BrokenPipeError: [Errno 32] Broken pipe

2020.07.20 12:17:40 BaseException in : "cgi_main.main"
    Called Page : [Chart-legend+OnChange]

Traceback (most recent call last):
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/AvrLogger.cgi", line 204, in Main
    sNext = cgi_main.main ( mainpage, site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_main.py", line 140, in main
    objModule[ index ].main( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 221, in main
    sFunctions( site, more )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/mod_Chart.py", line 544, in func_Legend
    Switch  ( 'LegBreakOn',      'LegBreakOn',          Column_1, True )
  File "/usr/syno/synoman/webman/3rdparty/AvrLogger/gui/cgi_html.py", line 606, in Switch
    print ( "                     </label>" )
BrokenPipeError: [Errno 32] Broken pipe

Die Zeile 204 scheint doch vonnöten zu sein...
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89

gaspard

Benutzer
Mitglied seit
11. Jul 2020
Beiträge
100
Punkte für Reaktionen
27
Punkte
78
Cool.

Übrigens: War nicht das Polling das gecrasht war; nach Neustart waren alle Linien wieder zackig.
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
131
Punkte
89
ch will Dir ja nicht den Spass verderben....
Habe gerade das File von Deinem Server geladen. Keine HD Anzeigen mehr bei mir

Tja ... dazu gibt es was neues. Dank der Hilfe von Adama bin ich etwas weiter, hilft nur gerade nicht sehr viel:

NVMe SSDs werden gänzlich anders angesprochen / abgefrag als SATA Festplatten (siehe Hetzner - DokuWiki)

Weder ist bei mir auf einer der DiskStations der Befehl "nvme" vorhanden ... noch sehe ich mich aktuell in der Lage etwas gescheites zu programmieren ohne das "life" testen zu können.
Momentan läuft es darauf hinaus dass ich "NVMe (Cache) SSDs" ausklammern werde ... vorerst :cry:
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat