[rrd-users] Please Help

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


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
>
>
>   



More information about the rrd-users mailing list