[rrd-users] Please Help

Emily Chouinard cousin17 at msu.edu
Wed Jun 18 15:28:16 CEST 2008


I get this error
 rrdtool fetch usr.rrd LAST
ERROR: the RRD does not contain an RRA matching the chosen CF
and my rrdtool info usr.rrd looks the same even though I let the program 
run for quite awhile, so my update function not be in the if statement, 
is there something wrong with its placement?


Emily Chouinard wrote:
> Well there is nothing in those files except crazy symbols so I think 
> there is something wrong with my update function, I wasn't sure how to 
> create it,
>
>  rrdtool.update('idle.rrd','N:112431249')
>  rrdtool.update('sys.rrd','N:108704')
> rrdtool.update('usr.rrd','N:259845')
>
> which not in python would look like rrdtool update usr.rrd N:112431249
>  and I'm not sure exactly what was suppose to go in this command so I'm sure its wrong but I don't know how to fix it.
>
>
> Ruttenberg, Tanya wrote:
>   
>> A couple of things look odd to me, but it could just be because you ran
>> your update only once. You need to do it a few times in order to see
>> data in your graph. RRDtool needs more than 1 datapoint to calculate a
>> rate.
>>
>> Try a few more rrdtool commands on the command line to see whether there
>> is something in your rrdfile.  Rrdtool fetch is nice and simple. Try
>> something like:
>>
>> rrdtool fetch rrdfile.rrd LAST
>>
>> If you see a lot of numbers in there -- as opposed to a lot of NaN's
>> then perhaps it is your graph.
>>
>> -----Original Message-----
>> From: Emily Chouinard [mailto:cousin17 at msu.edu] 
>> Sent: Wednesday, June 18, 2008 9:04 AM
>> To: Ruttenberg, Tanya
>> Cc: rrd-users at lists.oetiker.ch
>> Subject: Re: [rrd-users] Please Help
>>
>> Ruttenberg, Tanya wrote:
>>   
>>     
>>> What do you see when you do "rrdtool info filename"?  You should see 
>>> some indication that data has gone into it, under last_ds, min, max, 
>>> or value. Like this:
>>>
>>> ds[ifhcinoctets].type = "COUNTER"
>>> ds[ifhcinoctets].minimal_heartbeat = 1800 =>ds[ifhcinoctets].min = 
>>> 0.0000000000e+00 =>ds[ifhcinoctets].max = 1.2500000000e+08 
>>> =>ds[ifhcinoctets].last_ds = "3213871804"
>>> =>ds[ifhcinoctets].value = 8.3618110390e+02 
>>> ds[ifhcinoctets].unknown_sec = 0 ds[ifhcoutoctets].type = "COUNTER"
>>> ds[ifhcoutoctets].minimal_heartbeat = 1800 ds[ifhcoutoctets].min = 
>>> 0.0000000000e+00 ds[ifhcoutoctets].max = 1.2500000000e+08 
>>> ds[ifhcoutoctets].last_ds = "417872513"
>>> ds[ifhcoutoctets].value = 9.3979997545e+01 
>>> ds[ifhcoutoctets].unknown_sec = 0
>>>
>>> I suggest you download and use drraw to take a look at what is in that
>>>     
>>>       
>>   
>>     
>>> file. This eliminates possible user error in your graph creation AND 
>>> it will give you the exact rrdfile graph syntax you can use to create 
>>> the graph.
>>>
>>> Good luck.
>>>
>>> Tanya Ruttenberg
>>> SMC/OND Administrator for DNE
>>> 410-965-9605
>>>
>>>
>>> -----Original Message-----
>>> From: rrd-users-bounces at lists.oetiker.ch
>>> [mailto:rrd-users-bounces at lists.oetiker.ch] On Behalf Of Emily 
>>> Chouinard
>>> Sent: Wednesday, June 18, 2008 8:52 AM
>>> To: rrd-users at lists.oetiker.ch
>>> Subject: [rrd-users] Please Help
>>>
>>> I've spent a whole day looking at my code and trying to figure out why
>>>     
>>>       
>>   
>>     
>>> nothing is being graphed but I can't seem to figure out it, will 
>>> someone please help me? My code is below and it seems to work, but I 
>>> don't know if its the update or graph function thats not working, when
>>>     
>>>       
>>   
>>     
>>> I ls -l all my rrd files and my png seem updated but when I display my
>>>     
>>>       
>>   
>>     
>>> png it shows the legend and stuff but no values are actually graphed. 
>>> So any help would be really appreciated.
>>>    Thanks,
>>>             Emily
>>> import rrdtool
>>> import os
>>> import time
>>>
>>>
>>> interval = 10
>>> interval = str(interval)
>>> interval_mins = float(interval) / 60
>>> heartbeat = str(int(interval) * 2)
>>> cur_date = time.strftime('%m/%d/%Y %H\:%M\:%S', time.localtime())
>>>
>>> rrdtool.create('usr.rrd',
>>>          'DS:usr_info:COUNTER:%s:U:U' % heartbeat,
>>>       'RRA:AVERAGE:0.5:1:%s' % int(4000 / interval_mins),
>>>      'RRA:AVERAGE:0.5:%d:800' % int(30 / interval_mins),
>>>      'RRA:AVERAGE:0.5:%d:800' % int(120 / interval_mins),
>>>            'RRA:AVERAGE:0.5:%d:800' % int(1440 / interval_mins))
>>>
>>> rrdtool.create('sys.rrd',
>>>      'DS:sys_info:COUNTER:%s:U:U' % heartbeat,
>>>         'RRA:AVERAGE:0.5:1:%s' % int(4000 / interval_mins),
>>>       'RRA:AVERAGE:0.5:%d:800' % int(30 / interval_mins),
>>>     'RRA:AVERAGE:0.5:%d:800' % int(120 / interval_mins),
>>>         'RRA:AVERAGE:0.5:%d:800' % int(1440 / interval_mins))   
>>>
>>> rrdtool.create('idle.rrd',
>>>         'DS:idle_info:COUNTER:%s:U:U' % heartbeat,
>>>         'RRA:AVERAGE:0.5:1:%s' % int(4000 / interval_mins),
>>>         'RRA:AVERAGE:0.5:%d:800' % int(30 / interval_mins),
>>>         'RRA:AVERAGE:0.5:%d:800' % int(120 / interval_mins),
>>>         'RRA:AVERAGE:0.5:%d:800' % int(1440 / interval_mins))
>>>
>>> while True:
>>>     infile= open('/proc/stat', 'r')
>>>     #for x in range(0,1): #Reads first line only
>>>     line = infile.readline()
>>>     if line.startswith('cpu'): #Check to make sure in 1st line
>>>     info = line.split()    #Returns a list of the words in the string
>>>     usr_info = info[1]     #Index the three aspects of CPU Usuage
>>>     sys_info = info[3]
>>>     idle_info = info[4]
>>>      #str() because Python needs to have a string
>>>         print  usr_info, sys_info, idle_info #Print out so you can see
>>>     
>>>       
>>   
>>     
>>> what's happening
>>>     rrdtool.update('idle.rrd','N:112431249')
>>>     rrdtool.update('sys.rrd','N:108704')
>>>     rrdtool.update('usr.rrd','N:259845')
>>>     rrdtool.graph('example.png',
>>>         'DEF:usr_info=usr.rrd:usr_info:AVERAGE',        #Defines all 
>>> three aspects of the /proc/stat file
>>>         'AREA:usr_info#0000FF:"User CPU usuage"',
>>>         'DEF:sys_info=sys.rrd:sys_info:AVERAGE:step=800',
>>>         'AREA:sys_info#00FF00:"System CPU usuage":STACK',
>>>         'DEF:idle_info=idle.rrd:idle_info:AVERAGE:step=800', 
>>> #Different Labels for each of the three ascp
>>>             'AREA:idle_info#FF0000:"Idle CPU usuage":STACK',
>>>         '--start','now-%s'%(30*60),
>>>         '--end','now',
>>>         '--width','500',
>>>         '--height','250',
>>>         '--base', '1000',
>>>         '--vertical-label','CPU Usuage',
>>>         '--title', 'EXAMPLE',
>>>         'COMMENT:' + cur_date + '')   
>>>     infile.close()   
>>>     time.sleep(10)   
>>>
>>> _______________________________________________
>>> rrd-users mailing list
>>> rrd-users at lists.oetiker.ch
>>> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
>>>
>>>
>>>   
>>>     
>>>       
>> This is what I see, but I'm not sure what it all means, I am very new to
>> rrdtool
>>
>> filename = "usr.rrd"
>> rrd_version = "0003"
>> step = 300
>> last_update = 1213793679
>> ds[usr_info].type = "COUNTER"
>> ds[usr_info].minimal_heartbeat = 20
>> ds[usr_info].min = NaN
>> ds[usr_info].max = NaN
>> ds[usr_info].last_ds = "259845"
>> ds[usr_info].value = 0.0000000000e+00
>> ds[usr_info].unknown_sec = 0
>> rra[0].cf = "AVERAGE"
>> rra[0].rows = 24000
>> 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[1].cf = "AVERAGE"
>> rra[1].rows = 800
>> rra[1].pdp_per_row = 180
>> rra[1].xff = 5.0000000000e-01
>> rra[1].cdp_prep[0].value = 0.0000000000e+00
>> rra[1].cdp_prep[0].unknown_datapoints = 117 rra[2].cf = "AVERAGE"
>> rra[2].rows = 800
>> rra[2].pdp_per_row = 720
>> rra[2].xff = 5.0000000000e-01
>> rra[2].cdp_prep[0].value = 0.0000000000e+00
>> rra[2].cdp_prep[0].unknown_datapoints = 297 rra[3].cf = "AVERAGE"
>> rra[3].rows = 800
>> rra[3].pdp_per_row = 8640
>> rra[3].xff = 5.0000000000e-01
>> rra[3].cdp_prep[0].value = 0.0000000000e+00
>> rra[3].cdp_prep[0].unknown_datapoints = 2457
>>
>>
>>   
>>     
>
> _______________________________________________
> rrd-users mailing list
> rrd-users at lists.oetiker.ch
> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
>
>
>   



More information about the rrd-users mailing list