Cacti rrdtool graph with no values, NaN in .rrd file

cactirrdtool

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.9.9.13.1.3.1.3.1 = 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

Best Answer

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.

Related Topic