2016-04-11 16 views
1

Ich benutzte rrdtool Python-Erweiterung für Daten in rrd sparen:rrdtool des doesnt Show holen einzigen Punkt

## Creating db. 
rrdtool.create(rrd_file, 
       '--step', '2', 
        'DS:%s:GAUGE:4:U:U' % DSNAME, 
        'RRA:AVERAGE:0,5:1:288', 
        ) 
value = 23 
for i in range(4): 

    rrdtool.update('/home/way/workspace/RrdDaemon/test', "%s:%s" % (datetime_2_sec(str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))), str(value))) 
    sleep(2) 

Zyklus 4 mal gearbeitet, und ich möchte, 4 Punkte bekommen. Aber ich bekomme nur 3:

1460382646: -nan 
1460382648: 2,3000000000e+01 
1460382650: 2,3000000000e+01 
1460382652: 2,3000000000e+01 
1460382654: -nan 

Ich habe versucht, Herzschlag zu ändern, Schritt, xff - nichts hilft mir. Jetzt versuche ich, mit 1 Iteration:

for i in range(1): 

    rrdtool.update('/home/way/workspace/RrdDaemon/test', "%s:%s" % (datetime_2_sec(str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))), str(value))) 

Zeitstempel: 1460385371

Ergebnis:

1460385368: -nan 
1460385370: -nan 
1460385372: -nan 

sudo rrdtool Info-Test:

filename = "test" 
rrd_version = "0003" 
step = 2 
last_update = 1460385371 
header_size = 584 
ds[ds0].index = 0 
ds[ds0].type = "GAUGE" 
ds[ds0].minimal_heartbeat = 3 
ds[ds0].min = NaN 
ds[ds0].max = NaN 
ds[ds0].last_ds = "23" 
ds[ds0].value = NaN 
ds[ds0].unknown_sec = 1 
rra[0].cf = "AVERAGE" 
rra[0].rows = 288 
rra[0].cur_row = 65 
rra[0].pdp_per_row = 1 
rra[0].xff = 0,0000000000e+00 
rra[0].cdp_prep[0].value = NaN 
rra[0].cdp_prep[0].unknown_datapoints = 0 

Muss ich etwas falsch oder dessen machen die für welche rrd arbeiten? Danke.

Antwort

0

Das Problem, dem Sie begegnen, besteht darin, dass Sie aus einem unbekannten Zustand in einen bekannten Zustand übergehen. Der minimale_Herzschlag definiert das maximale Intervall, das zwischen zwei Aktualisierungen zulässig ist, damit rrdtool die Zeit berücksichtigt, in der die Aktualisierungen gültige Daten enthalten.

Dies bedeutet auch, dass die erste Aktualisierung nach einer Periode unbekannter Daten nur dazu dient, den Zeitpunkt anzugeben, zu dem die Daten wieder bekannt werden ... die nächste Aktualisierung (innerhalb des durch den minimal_heartbeat definierten Intervalls).

+0

Ich habe es. Vielen Dank. – MyHardWay