Archived community.zenoss.org | full text search
Skip navigation
17401 Views 11 Replies Latest reply: Aug 5, 2010 2:54 PM by massimo RSS
massimo ZenossMaster 158 posts since
Nov 27, 2007
Currently Being Moderated

Jun 11, 2010 3:05 AM

question regarding: Products/ZenRRD/RRDUtil.py

Hello,

 

I'm trying to get rrdcached working with Zenoss (2.5.2). Until now I focused on editing the files in Products/{ZenRRD,ZenModel,ZenUtils} which contain anything related to rrd commands. Somehow my changes were working but rddcached seems not to buffer the updates at all. Then I noticed that in RDDUtil.py at the end of the save() function rrdtool.fetch() is called which triggers a FLUSH (in rrdcached) and writes the updates to the file immediately.

 

Now my question: what' the purpose of this last rrdtool.fetch and is it necessary because I commented the lines around this rrdfetch and its seems to be working anyhow?

 

 

 

PS: I'd like to try this with the latest beta too but there are no tarballs - will there be tarballs for the beta releases?

  • Matt Ray Rank: Zen Master 2,484 posts since
    Apr 5, 2008
    Currently Being Moderated
    2. Jun 17, 2010 11:35 AM (in response to massimo)
    Re: question regarding: Products/ZenRRD/RRDUtil.py

    Because of all the other changes going into the 3.0 release and that the rrdcached being brand-new when we started our release cycle, we decided to hold off on this upgrade for the 3.0 release.  We will most definitely investigate it for the next release, since it should greatly improve RRD performance.

     

    What have you found with using it?  Do you have patches for this you'd like to submit?  Like I said, it's definitely something we'll investigate for the next release.

     

    Thanks,

    Matt Ray

    Zenoss Community Manager

  • Matt Ray Rank: Zen Master 2,484 posts since
    Apr 5, 2008
    Currently Being Moderated
    4. Jun 18, 2010 2:25 PM (in response to massimo)
    Re: question regarding: Products/ZenRRD/RRDUtil.py

    I share an office with the Product Manager, so I've been bugging him about it.  I could have sworn there was an enhancement around it somewhere, but it's definitely on our radar.

     

    -Matt

  • dragonf Rank: White Belt 13 posts since
    May 6, 2009
    Currently Being Moderated
    5. Jul 21, 2010 7:15 PM (in response to massimo)
    Re: question regarding: Products/ZenRRD/RRDUtil.py

    Dear Massimo,

     

    Could you please instruct us what to do in order to modify Zenoss to correctly use the rrdcached daemon?

     

    I'm using Zenoss 3.0 and I'd like to upgrade the rrdtool to the 1.4.4 version and use rrdcached.

     

    1 - Basically, I need to install rrdtool-1.4.4 and delete zenoss/common/bin/rrdtool and rrdupdate;

    2 - Afterwards, it's needed to point rrdcached, but what files/ lines should I modify in Products/{ZenRRD,ZenModel,ZenUtils}?

     

    Thank you very much,

     

    gfranco

  • dragonf Rank: White Belt 13 posts since
    May 6, 2009
    Currently Being Moderated
    7. Aug 4, 2010 8:52 AM (in response to massimo)
    Re: question regarding: Products/ZenRRD/RRDUtil.py

    Dear Massimo,

     

    Thank you very much for sharing this info and your time on this!

     

    I'll try it on a test machine.

     

    Regards,

     

    gfranco

  • Chet Luther ZenossEmployee 1,302 posts since
    May 22, 2007
    Currently Being Moderated
    8. Aug 4, 2010 5:04 PM (in response to massimo)
    Re: question regarding: Products/ZenRRD/RRDUtil.py

    Unfortunately that call to fetch isn't entirely spurious. For COUNTER and DERIVE data points it is required to properly evaluate any thresholds that may be applied to them. We're relying on RRDtool to calculate the rate for us so that we're thresholding on the rate instead of the raw value.

     

    To properly use rrdcached we'll need to have Zenoss itself remember the last value retrieved for each COUNTER and DERIVE data point so that can can calculate the rate internally without fetching it from the RRD file.

  • Ian McCracken ZenossEmployee 257 posts since
    Feb 26, 2007
    Currently Being Moderated
    9. Aug 4, 2010 5:15 PM (in response to massimo)
    Re: question regarding: Products/ZenRRD/RRDUtil.py

    Work (almost all of it) has been done on upgrading to rrdtool 1.4.4 and using rrdcached. Barring something very odd, it'll be in 3.1 (heck, it'll probably be in trunk by next week).

  • Ian McCracken ZenossEmployee 257 posts since
    Feb 26, 2007

    Next week was an overestimate; it's in trunk now.

     

    http://dev.zenoss.com/trac/changeset/21852

     

    Pretty similar to Massimo's patches, except:

     

    1. There's a wrapper script (zenrrdcached) that'll bring rrdcached up and down with zenoss
    2. If the daemon isn't up it'll fall back to writing directly to the rrd files
    3. Journaling is used by default
    4. Socket lives under $ZENHOME/var instead of /var

     

    You can pass more options to zenrrdcached and they'll be sent along to rrdcached, so if you want to change the flushing or the timeout or whatever you can.

More Like This

  • Retrieving data ...

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points