Cacti 0.8.7h, with latest RRDTool. I successfully graphed CPU/Interface traffic, but got blank graphs like this one:

...when it comes to Memory/Temperature monitoring.

The problem/bug is actually archived here, however this post didn't help.

I can snmpget the value, e.g SNMPv2-SMI::enterprises. = Gauge32: 26. However, the problem seems to exist in storing these values to the .rrd file.

Output of rrdtool info powerbseipv6testrouter_cisco_memfree_40.rrd AVERAGE cisco_memfree as below:

filename = "powerbseipv6testrouter_cisco_memfree_40.rrd" 
rrd_version = "0003"
step = 300
last_update = 1321867894
ds[cisco_memfree].type = "GAUGE"
ds[cisco_memfree].minimal_heartbeat = 600
ds[cisco_memfree].min = 0.0000000000e+00
ds[cisco_memfree].max = 1.0000000000e+12
ds[cisco_memfree].last_ds = "UNKN"
ds[cisco_memfree].value = 0.0000000000e+00
ds[cisco_memfree].unknown_sec = 94
rra[0].cf = "AVERAGE"
rra[0].rows = 600
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 = 700
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[2].cf = "AVERAGE"
rra[2].rows = 775
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 = 18
rra[3].cf = "AVERAGE"
rra[3].rows = 797
rra[3].pdp_per_row = 288
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = NaN
rra[3].cdp_prep[0].unknown_datapoints = 114
rra[4].cf = "MAX"
rra[4].rows = 600
rra[4].pdp_per_row = 1
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = NaN
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[5].cf = "MAX"
rra[5].rows = 700
rra[5].pdp_per_row = 6
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = NaN
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[6].cf = "MAX"
rra[6].rows = 775
rra[6].pdp_per_row = 24
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = NaN
rra[6].cdp_prep[0].unknown_datapoints = 18
rra[7].cf = "MAX"
rra[7].rows = 797
rra[7].pdp_per_row = 288
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = NaN
rra[7].cdp_prep[0].unknown_datapoints = 114

Aside from upgrading to the latest 0.8.8, have you confirmed that you (or whatever is attempting to store the rrd information in the .rrd file) can? Are permissions for the file/directory set properly to allow for this?

In reply to your comment that file/directory ownership/permissions may be the issue, I will share what I have found to be useful for my Cacti installations that run on OpenBSD (aka, your placement and syntax may vary with other systems):

chown -R www:www /var/www/htdocs/*
echo 'web directories reset to www:www ownership'
chmod -R 777 /var/www/htdocs/cacti/plugins/*
chmod -R 777 /var/www/htdocs/cacti/log/*
chmod -R 777 /var/www/htdocs/cacti/rra/*
echo 'cacti plugin, log, and rra directories set to full r,w,x'

I use weathermaps heavily in cacti and often find myself having to reset permissions over and over throughout and this has save me the headache of thinking about it constantly.

777 may be too open for these sections security-wise, and if so, I would gladly appreciate a better setting to be mentioned that still provides usability of the application.

  • I'm not sure but it's likely that chmod 777 rra/* solved the problem. – Andrew Apr 26 '12 at 9:49
  • chmod 777 is ugly – Bruno9779 Dec 23 '14 at 14:56
  • Bruno9779, you're right... but you have different sections of cacti where files need execution (plugins, etc.) where others need only read and write features (.rra's, etc.) – danno Jan 8 '15 at 18:49

set permission in rra directory

chown cacti:apache rra -R (Directory)
chmod 755 rra -R

That should fix your prob.

No Graph values even if your rra directory are updated, this means apache can not read the folder/files due to permissions.

Hope this helps you.


set the cacti logging to DEBUG and check all Poller Statistics, Poller Errors, Poller Warning options, check cacti.log files, usually it will showing the output, you can start investigate from the log

  • From the Poller Cache Items, I can find the script/snmpwalk runs successfully (can get values from linux cmd line), followed by "RRD: <cacti path>/rra/xxx.rrd". No warnings/errors showed. But when verify with "rrdtool info xxx.rrd", "rra[7].cdp_prep[0].value = NaN" displays. I think the problem exists in the step: write values to rrd files. Any methods to verify/debug this? PS: The problem even exists in Localhost - Load Average, after a clean cacti installation. – Andrew Nov 28 '11 at 9:09
  • can try to delete all rrd on ./rra/ folder ?, is it generated again after next polling ?. are you try using all patches on cacti website for your cacti version. your rrd "ds[cisco_memfree].max = 1.0000000000e+12", is the snmp results that you saw on debug log exceeded the limit "ds[cisco_memfree].max = 1.0000000000e+12" ? – chocripple Nov 28 '11 at 14:50

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.