<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-AU" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi all, apologies for the cross post, I originally posted in the Cacti forums
<a href="https://forums.cacti.net/about15136.html">https://forums.cacti.net/about15136.html</a> but it’s probably more appropriate here.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-------------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi, I've been bashing my head against this issue for a while now... time to get some help.<br>
<br>
I'm reading data from a database into variables, and then dropping that into the rrd. Graphs aren't working in cacti, which is failing because the rra aggregations are all returning nan. I've worked my way through a whole bunch of stuff to no avail. So... here's
 where I'm currently at:<br>
<br>
cron runs a script every 5 minutes. This script basically does:<br>
rrdtool updatev /var/www/mrtg/applications/test.rrd N:$rttime >> /var/log/rttime.log 2>&1<br>
<br>
(I'm using updatev right now to try and get more information about what's going on).<br>
<br>
the RRD is defined:<br>
/usr/bin/rrdtool create \<br>
/var/www/mrtg/applications/test.rrd \<br>
--step 300 \<br>
DS:rttime:GAUGE:600:0:U \<br>
RRA:AVERAGE:0.5:1:500 \<br>
RRA:AVERAGE:0.5:1:600 \<br>
RRA:AVERAGE:0.5:6:700 \<br>
RRA:AVERAGE:0.5:24:775 \<br>
RRA:AVERAGE:0.5:288:797 \<br>
RRA:AVERAGE:0.5:1440:820 \<br>
RRA:MAX:0.5:1:500 \<br>
RRA:MAX:0.5:1:600 \<br>
RRA:MAX:0.5:6:700 \<br>
RRA:MAX:0.5:24:775 \<br>
RRA:MAX:0.5:288:797 \<br>
RRA:MAX:0.5:1440:820 \<br>
<br>
<br>
$rttime is populated by querying a sql server database and returning the floating value to the variable.<br>
I'm using mssql 0.6.2 from https://www.npmjs.com/package/sql-cli to talk to the sql server.<br>
<br>
So the command string ends up looking like<br>
<br>
$SQLBIN -s "$DBHOST" -d "$DBNAME" -u "$DBUSER" -p "$DBPASSWD" -q "$QUERY1" -f csv | sed 's/"//g' | cut -d , -f 1,3 > /tmp/output.txt<br>
<br>
which gets me useful fields. Populating the variable happens with:<br>
<br>
rttime=`sed -n "$i p" /tmp/output.txt | cut -d , -f 2`<br>
<br>
which will give something like:<br>
2.0166666666666666<br>
<br>
If I then update the rrd:<br>
rrdtool updatev /var/www/mrtg/applications/test.rrd N:$rttime >> /var/log/rttime.log 2>&1<br>
<br>
rrdtool updatev /var/www/mrtg/applications/test.rrd N:0<br>
return_value = 0<br>
[1502287200]RRA[AVERAGE][1]DS[rttime] = NaN<br>
...<br>
<br>
It puts the data into the rrd, but the rras don't get populated:<br>
filename = "/var/www/mrtg/applications/test.time.rrd"<br>
rrd_version = "0003"<br>
step = 300<br>
last_update = 1502250603<br>
header_size = 4120<br>
ds[rttime].index = 0<br>
ds[rttime]= "GAUGE"<br>
ds[rttime].minimal_heartbeat = 600<br>
ds[rttime].min = 0.0000000000e+00<br>
ds[rttime].max = 1.0000000000e+03<br>
ds[rttime].last_ds = "1.4166666666666667<br>
ds[rttime].value = NaN<br>
ds[rttime].unknown_sec = 3<br>
rra[0].cf = "AVERAGE"<br>
rra[0].rows = 500<br>
rra[0].cur_row = 301<br>
rra[0].pdp_per_row = 1<br>
rra[0].xff = 5.0000000000e-01<br>
rra[0].cdp_prep[0].value = NaN<br>
rra[0].cdp_prep[0].unknown_datapoints = 0<br>
...<br>
<br>
valid data in this case is likely to range from 0 - 10, and will be floating point. But the doco says GAUGE should be OK with float?<br>
<br>
Now... I have some rrds & accompanying graphs using almost exactly the same process, but where the data returned is always an integer - and they work fine. Maybe this is the problem? I've just modified the script to only return 2dp (in case it was a problem
 with too many decimal places…)<br>
<br>
Nope... still getting NaN for all the averages.<br>
<br>
Where do I look next?<br>
<br>
Thanks!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-AU">--<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-AU">Regards<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-AU"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-AU">Chris Herrmann<br>
Far Edge Technology<br>
<br>
p. 02 84251400<br>
m. 0403 393309<br>
<a href="http://www.faredge.com.au"><span style="color:#0563C1">http://www.faredge.com.au</span></a>  
<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>