Hallo Zusammen,
Bin gerade dabei von Filelog auf dblog umzustellen. Wenn ich die Arbeitsweise sowei verstanden habe, sollte man keine weiteren Dblog devices anlegen um mehr Tabellen zu verwenden. Beispielsweise analog zu den filelogs für jedes device eine extra Tabelle. Ergo werden ja alle devices in eine oder zwei Tabellen geloggt. Soweit so gut, bei mir wird auch fleissig die History Tabelle geschrieben.
Wofür ist denn eigentlich die Current Tabelle??
Gruss
Markus
die idee hinter der cuttend tabelle ist/war schnell auf den letzen wert zugreifen zu können.
ich schalte es aber über das DbLogType attribt ab da es eigentlich frisst es nur performance.
gruss
andre
Hallo Andre,
Danke für die Info. Ich habe jetzt mal das dblogtype atrrib auf History gesetzt. Denke das ist auch default, weil das attribut nicht gesetzt war. Ist es denn korrekt das man nur eine Tabelle verwenden sollte, sprich nur ein dblog device aus Performance gründen?
Gruss
Markus
mir fällt kein grund ein mehr als eine db zu verwenden.
es gibt irgendwo einen thread von jemandem der das macht. aber der vorteil von dblog ist ja gerade das man nur ein einziges log device hat. sonst kann man auch gleich bei filelog bleiben...
gruss
andre
ps: der default bei nicht gesetztem attribut ist Current/History. bei sqlite sieht man das der db aber nicht an weil die current tabelle nur in memory ist.
Achso deswegen keine Daten bei einem select in der Db auf die current tabelle...
Danke erstmal für die infos!!!
Gruss
Markus
so habe nun die Sysmon plots soweit auf DBlog umgestellt. Nut bei dem fs_root beiß ich mir die Zähne aus.
Wie bekommt man denn den Wert des Prozentanteils der Belegung aus der Db extrahiert?
den Wert "used" bekomm ich ja noch hin mit
sysmon:fs_root:::$val=~s/.*Used..([\d.]*).*/$1/eg
Irgendwie versteh ich nicht wie Daten ohne Bezeichner selektiert werden können :-(
Gruß
Markus
PS:
hier mal die Zeile aus der DB
2016-05-23 18:00:17|sysmon|SYSMON|fs_root: Total: 29077 MB, Used: 3571 MB, 13 %, Available: 24270 MB at /|fs_root|Total: 29077 MB, Used: 3571 MB, 13 %, Available: 24270 MB at /|
Kannst du bitte die plots für sysmon posten? An denen hab ich mir schon die Zähne ausgebissen...
Gruß Markus
Hallo Du....
welche genau meinst Du denn? Ich habs soweit hinbekomen und glaube, es laaaaaagsam zu begreifen..:-)
Also wenn der Datensatz in der Datenbank wie folgt aussieht (Beispiel Ram):
2016-05-24 11:05:54|sysmon|SYSMON|ram: Total: 984.42 MB, Used: 282.67 MB, 28.71 %, Free: 701.75 MB
Dort hatte ich das Problem, zum Beispiel die Prozent der Speicherausnutzung in den Plot zu bekommen. Diese ist ja in dem Standard gplot file nicht drin. Das habe ich dann so gelöst
#DbLog sysmon:ram:::$val=~s/[\d.]*.[\d.]*.([\d.]*).[\d.]*/$1/eg
Und zwar wird der Datensatz in vier Teile geteilt und durch die runde Klammer wird eben der Teil aus dem Datensatz extrahiert.
Hier der Prozentwert. Bei den anderen Werten kann man ja nach dem entsprechenden Bezeichner suchen.
Z.B. Total:
#DbLog sysmon:ram:::$val=~s/^Total..([\d.]*).*/$1/eg
Da dieser ja am Anfang des Strings steht muss vor den zu suchenden Bezeichner halt "^"
Wenn der Bezeichner mitten im String steht sucht man nach *Bezeichner.
In der Hoffnung hier nicht zuviel Blödsinn zu erzählen( bin ja noch totaler Anfänger) hier mal mein Beispiel für den Gplot des Ram's.
# Created by FHEM/98_SVG.pm, 2016-05-24 11:41:59
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid
set ylabel "Ram Total / Free (MB)"
set y2label "Ram Used (MB)"
#logdb sysmon:ram:::$val=~s/^Total..([\d.]*).*/$1/eg
#logdb sysmon:ram:::$val=~s/.*Used..([\d.]*).*/$1/eg
#logdb sysmon:ram:::$val=~s/.*Free..([\d.]*).*/$1/eg
#logdb sysmon:ram:::$val=~s/[\d.]*.[\d.]*.([\d.]*).[\d.]*/$1/eg
plot "<IN>" using 1:2 axes x1y1 title 'Total' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Used' ls l1 lw 1 with lines,\
"<IN>" using 1:2 axes x1y1 title 'Free' ls l2 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title '%' ls l8 lw 1 with lines
Als Label verwende ich folgendes Attribut
"Load Min: $data{min4}, Max: $data{max4}, Aktuell: $data{currval4}"
Gruß
Markus
naja so ganz hab ich es wohl doch nicht vestanden :-(
also ich versuche nun den plot für fs_root umzustellen. Komme auch an alle Werte ran nur nicht an den Prozentwert. Der Unteschied zum RAM plot ist wohl das die Werte im RAM Datensatz zwei Nachkommastellen haben. Die Werte für FS_root haben keine Nachkommastellen.
hie mal ein Auszug aus dem Datensatz.
2016-05-24 18:50:42|sysmon|SYSMON|fs_root: Total: 29077 MB, Used: 3577 MB, 13 %, Available: 24265 MB at /|fs_root|Total: 29077 MB, Used: 3577 MB, 13 %, Available: 24265 MB at /|
Die Auswertung habe ich so versucht. Für Wert 4 Wird Quatsch anzeigt :-(
# Created by FHEM/98_SVG.pm, 2016-05-24 19:17:27
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid y2tics
set ylabel "Nutzung %"
set y2label "Nutzung MB"
set yrange [0:90]
set y2range [0:7500]
#logdb sysmon:fs_root:::$val=~s/^Total..([\d.]*).*/$1/eg
#logdb sysmon:fs_root:::$val=~s/.*Available..([\d.]*).*/$1/eg
#logdb sysmon:fs_root:::$val=~s/.*Used..([\d.]*).*/$1/eg
#logdb sysmon:fs_root:::$val=~s/[\d.]*.[\d.]*.([\d.]*).[\d.]*/$1/eg
plot "<IN>" using 1:2 axes x1y2 title 'wert 1' ls l0 lw 0.5 with lines,\
"<IN>" using 1:2 axes x1y1 title 'wert 2' ls l3 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'wert 3' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'wert 4' ls l0 lw 1 with lines
Achso und was ich auch nicht ganz verstehe ist der Datensatz selber. Warum sind alle Werte immer zweimal vohanden nach dem "at /" ?
Kann mir da einer auf die Sprünge helfen?
Gruß
Markus
Zitat von: justme1968 am 22 Mai 2016, 19:03:45
die idee hinter der cuttend tabelle ist/war schnell auf den letzen wert zugreifen zu können.
ich schalte es aber über das DbLogType attribt ab da es eigentlich frisst es nur performance.
gruss
andre
Hi,
ich muss hier nochmal einhaken ... Wenn ich bei mir bei DbLogType den Wert "history" einstelle, bekomme ich bei den SVG's den Fehler
Example lines for input:
No sample data due to missing table 'Current'
Ausserdem sind die Dropdowns zum Auswählen der Devices verschwunden.
Funktioniert das bei dir?
Leider habe ich bisher keine Doku zu diesem Feature gefunden. Wenns irgendwo beschrieben ist, und ich es nur nicht gefunden habe, wäre ich für einen kurzen Hinweis dankbar :)
lg
stephan
Das ist kein Fehler. Das ist lediglich eine Information und es arbeitet alles, wie es soll. Wenn man nur history verwendet, ist die Tabelle in der Regel viel zu groß, als das man sie für diese Beispielliste durchforsten kann/sollte. Deshalb funktioniert das Feature nur mit aktivierter current Tabelle.
aaaaaaah ja ... okay. 8) Habe jetzt zurückgestellt auf current/history, dann die current-tabelle ausgekippt (Falls jemand das statement sucht: DELETE from current;
, Achtung, kein Undo :-)
Jetzt siehts schon viel besser aufgeräumter aus.
Was ich noch nicht verstanden habe: die Einträge werden sowohl in die current als auch in die history geschrieben? und aus der current nach einiger Zeit wieder entfernt? und SVG liest immer und ausschließlich aus history? oder ist das mit dem :CURRENT und :HISTORY beeinflussbar ?
Danke!
Stephan
Wie an vielen Ecken zu lesen ist, enthält current nur den letzten Wert der zu loggenden Devices/Readings, history alle Daten.
Hi,
an so vielen Ecken anscheinend nicht, sonst hätte ich ja was dazu gefunden.
Danke für die Auskunft, ich trags gleich mal im Wiki ein, dann stehts an zentraler Stelle.
Grüße
Stephan
Was muß ich umstellen um die "No sample data due to missing table 'Current'" weg zu bekommen?
Hi, bin auf das gleiche Problem gestoßen mit einer frischen Installation von DBlog ohne besondere Einstellungen.