2016-05-30 6 views
0

Wenn ich eine RRD nach XML ablege, dann gibt es unter "PDP Status" drei Elemente: <last_ds>, <value> und <unknown_sec>. Zum Beispiel:Wie Primärdatenpunkt (PDP) in Rrdtool-Datenbank zu verstehen?

  <!-- PDP Status --> 
      <last_ds>90</last_ds> 
      <value>4.2177496500e+03</value> 
      <unknown_sec> 184 </unknown_sec> 

Nun, wie ich verstehe, dann jedes Mal, wenn ich "rrd update" ausführen, werde ich Primary Data Point (PDP) aktualisieren. Sieht aus wie auch immer ich als Wert für rrdtool update (zum Beispiel rrdtool update test.rrd "N:abc"), dann wird es als ein Wert für <last_ds> Element angezeigt. Wie wird jedoch die Nummer für <value> berechnet? Ich meine die Nummer 4217.7496500 im obigen Beispiel. Ist das eine Art Durchschnitt? Last but not least, während ich verstehe, dass <unknown_sec> zeigt die Anzahl der Sekunden, wenn der Wert des DS unbekannt war, dann scheint dieser Zähler um 280 - 295 Sekunden zu wickeln. Wie erklärt man das? I bedeuten beispielsweise, wenn I while true; do rrdtool update test.rrd "N:75"; rrdtool dump test.rrd | grep "<unknown_sec>"; sleep 1; done auszuführen, wo 75 niedriger als der niedrigste Wert für diese DS erlaubt ist, dann wird die Ausgabe folgenden:

/* data not shown for brevity */ 
    <unknown_sec> 280 </unknown_sec> 
    <unknown_sec> 281 </unknown_sec> 
    <unknown_sec> 282 </unknown_sec> 
    <unknown_sec> 0 </unknown_sec> 
    <unknown_sec> 1 </unknown_sec> 
    <unknown_sec> 2 </unknown_sec> 
    /* data not shown for brevity */ 

Antwort

0

das PDP-Gehalt von <value> ist die Summe aller Produkte des Eingangswertes durch Dauer multipliziert Dieser Wert war gültig für. Um den PDP zu erstellen, wird dieser Wert am Ende des Intervalls durch die Dauer des Intervalls minus der Anzahl der unbekannten Sekunden dividiert ... Die Anzahl der unbekannten Sekunden wird auf 0 zurückgesetzt, wenn ein neues Intervall gestartet wird ...