>Please have a look at this patch, perhaps it'll help with your
endeavor:
>
>http://bugzilla.ganglia.info/cgi-bin/bugzilla/show_bug.cgi?id=176

I really like that patch too.  :-)

>On Wed, Apr 16, 2008 at 2:01 PM, Rich Paul <[EMAIL PROTECTED]>
wrote:
>> I've been hacking on ganglia, to add the ability to access highly
>>  granular historical data.  This consists of a new php page, which
shows
>>  a graph for 1 attribute on 1 host at the time of your choice, a
script
>>  which runs as a cronjob in order to copy data from
>>  /var/lib/ganglia/rrds/**/*.rrd to /var/lib/ganglia/hist/**/*.rrd, (I
>>  found that when saving a month of data at 4 samples per minute, my
>>  system was spending much time waiting for IO), and some hacks to
>>  graph.php.  Has anybody else played with the ability to look at
>>  arbitrary hours rather than just the most recent hour?

I don't have space for it since my grids are too huge, but it would be
easier to just keep more detail in the RRDs which is decided at create
time.  I haven't yet tried it, but gmetad/conf.c implies that the data
retention policy could be changed in the config file (I don't see this
option in the man page though; is that a bug?):

   config->RRAs[0] = "RRA:AVERAGE:0.5:1:244";
   config->RRAs[1] = "RRA:AVERAGE:0.5:24:244";
   config->RRAs[2] = "RRA:AVERAGE:0.5:168:244";
   config->RRAs[3] = "RRA:AVERAGE:0.5:672:244";
   config->RRAs[4] = "RRA:AVERAGE:0.5:5760:374";

Basically, you would just want to crank up that 244 number for the first
line or two.  See rrdcreate(1) for details.  This would then store the
detail you want at the cost of increased RRD file size.  I have been
thinking of doing the opposite: adding another line for less detailed
averages beyond a year.

But maybe your parenthetical comment means you did that already but had
too much waitIO?  And that's why you went to a cron job?  If so, you are
storing the RRDs in tmpfs, right?

>>  Also, I am curious as to how the performance of rrdtool would be
>>  affected if we were to store related metrics in a single rrd file:
>>  e.g., we could group cpu_(user,system,idle,wio,nice) in a single
file,
>>  which I think would reduce the resource usage of gmetad
significantly.

I have wondered that too.  Since RRD is random access, it seems like it
should be at least as efficient and probably more efficient since there
would be less files open.  But it would be difficult to change.  Now
each RRD is simple with DS:sum and DS:num for summaries; the metric is
in the filename itself.  To change, you would need to put the metric
names in the RRDs: DS:cpu_user_sum, etc. and I think you would have to
update all metrics with one rrd_update call.  Of course this would work
only for the standard metrics and extra metrics would still need to be
in their own files.  Or, perhaps with the new metric groupings, each
group could be an RRD file of related metrics.  And then you'd have to
change the PHP to understand all this...

I would guess it was designed with 1 metric in each RRD file to make it
more flexible in adding/removing metrics, and to make the code simpler.

-twitham


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers

Reply via email to