[rrd-users] Returning nan values

Mersberger, Robert robert.mersberger at goldenliving.com
Thu Jun 19 22:45:12 CEST 2008


I don't think I can help on this because I am having the same type of
problem with my new install of MRTG.  I know the values are there and
rrdtool does an update to the rrd but for some reason it is all nulls.
If I run the same command the you did on one of my rrds I get pretty
much the same info.

I am running of a Fedora Fc9 install.


I will keep following your posting . 

-----Original Message-----
From: rrd-users-bounces at lists.oetiker.ch
[mailto:rrd-users-bounces at lists.oetiker.ch] On Behalf Of Emily Chouinard
Sent: Thursday, June 19, 2008 1:05 PM
To: Matthew M. Boedicker
Cc: rrd-users at lists.oetiker.ch
Subject: Re: [rrd-users] Returning nan values

Sorry, that didn't work for me,
here's what I get when I  rrdtool info cpu.rrd filename = "cpu.rrd"
rrd_version = "0003"
step = 300
last_update = 1213898459
ds[user].type = "DERIVE"
ds[user].minimal_heartbeat = 30
ds[user].min = 0.0000000000e+00
ds[user].max = NaN
ds[user].last_ds = "279440"
ds[user].value = NaN
ds[user].unknown_sec = 59
ds[nice].type = "DERIVE"
ds[nice].minimal_heartbeat = 30
ds[nice].min = 0.0000000000e+00
ds[nice].max = NaN
ds[nice].last_ds = "72951"
ds[nice].value = NaN
ds[nice].unknown_sec = 59
ds[sys].type = "DERIVE"
ds[sys].minimal_heartbeat = 30
ds[sys].min = 0.0000000000e+00
ds[sys].max = NaN
ds[sys].last_ds = "130885"
ds[sys].value = NaN
ds[sys].unknown_sec = 59
ds[idle].type = "DERIVE"
ds[idle].minimal_heartbeat = 30
ds[idle].min = 0.0000000000e+00
ds[idle].max = NaN
ds[idle].last_ds = "130602495"
ds[idle].value = NaN
ds[idle].unknown_sec = 59
rra[0].cf = "AVERAGE"
rra[0].rows = 576
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0 rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0 rra[0].cdp_prep[2].value = NaN
rra[0].cdp_prep[2].unknown_datapoints = 0 rra[0].cdp_prep[3].value = NaN
rra[0].cdp_prep[3].unknown_datapoints = 0 rra[1].cf = "AVERAGE"
rra[1].rows = 672
rra[1].pdp_per_row = 6
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0 rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 0 rra[1].cdp_prep[2].value = NaN
rra[1].cdp_prep[2].unknown_datapoints = 0 rra[1].cdp_prep[3].value = NaN
rra[1].cdp_prep[3].unknown_datapoints = 0 rra[2].cf = "AVERAGE"
rra[2].rows = 732
rra[2].pdp_per_row = 24
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 0 rra[2].cdp_prep[1].value = NaN
rra[2].cdp_prep[1].unknown_datapoints = 0 rra[2].cdp_prep[2].value = NaN
rra[2].cdp_prep[2].unknown_datapoints = 0 rra[2].cdp_prep[3].value = NaN
rra[2].cdp_prep[3].unknown_datapoints = 0 rra[3].cf = "AVERAGE"
rra[3].rows = 1460
rra[3].pdp_per_row = 144
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = NaN
rra[3].cdp_prep[0].unknown_datapoints = 72 rra[3].cdp_prep[1].value =
NaN rra[3].cdp_prep[1].unknown_datapoints = 72 rra[3].cdp_prep[2].value
= NaN rra[3].cdp_prep[2].unknown_datapoints = 72
rra[3].cdp_prep[3].value = NaN rra[3].cdp_prep[3].unknown_datapoints =
72


my rrdtool.update is within an if statement, I don't think it matters,
but does that have an affect on it? After the update command I
time.sleep(60) and I guess I can't figure out why I'm only getting nan
values

Matthew M. Boedicker wrote:
> If your update statement is:
>
> rrdtool.update('cpu.rrd','N:+user+:+nice+:+sys+:+idle+')
>
> it's trying to update with the string N:+user+:+nice+:+sys+:+idle+ 
> every time and not putting in the actual numbers.
>
> It should be something like:
>
> rrdtool.update('cpu.rrd',"N:%s:%s:%s:%s" % (user, nice, sys, idle))
>
> Are you checking for errors after update? I would think it would say 
> something if you are trying to update with values like "+user+".
>
> On Thu, Jun 19, 2008 at 01:36:55PM -0400, Emily Chouinard wrote:
>   
>> So I've got my code all done but my update function doesn't work. I 
>> want to take the values from the /proc/stat file and update my rrd 
>> with them but when I do an rrdtool fetch cpu.rrd AVERAGE and several 
>> interations I
>> get:
>>  fetch cpu.rrd AVERAGE
>>                            user                nice                 
>> sys               idle
>>
>> 1213810500: nan nan nan nan
>> 1213810800: nan nan nan nan
>> 1213811100: nan nan nan nan
>>
>> (but that is just a small glip of all the nan values I get) I was 
>> wondering if my update function was correct, my rrd is created 
>> properly using rrdtool.create('cpu.rrd',
>>      'DS:user:DERIVE:30:0:U',
>>      'DS:nice:DERIVE:30:0:U',
>>      'DS:sys:DERIVE:30:0:U',
>>      'DS:idle:DERIVE:30:0:U',
>>      'RRA:AVERAGE:0.5:1:576',
>>      'RRA:AVERAGE:0.5:6:672',
>>      'RRA:AVERAGE:0.5:24:732',
>>      'RRA:AVERAGE:0.5:144:1460')
>>
>> and then I run a loop to extract the data from a file  infile= 
>> open('/proc/stat', 'r')
>>     #for x in range(0,1):
>>     line = infile.readline()
>>     if line.startswith('cpu'):
>>     info = line.split()   
>>     user = info[1]
>>     nice = info[2]    
>>     sys = info[3]
>>     idle = info[4]
>> and then I try to update these values from user, nice sys and idle 
>> into my rrd with
>> rrdtool.update('cpu.rrd','N:+user+:+nice+:+sys+:+idle+')
>>
>> but it only gives my nan values, any suggestions on why this is?
>>
>> _______________________________________________
>> rrd-users mailing list
>> rrd-users at lists.oetiker.ch
>> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
>>     
>
>
>   

_______________________________________________
rrd-users mailing list
rrd-users at lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users


Please consider the environment before printing this e-mail.

CONFIDENTIAL NOTICE:
This e-mail message and any attachment(s) (collectively, this 'Email') are intended
only for the confidential use of the recipient(s) named above. If the reader of this
message is not the intended recipient named above or an agent responsible for
delivering it to the intended recipient named above, you have received this Email in error.
Please notify the sender immediately and permanently delete this Email and any copies thereof.



More information about the rrd-users mailing list