<br><tt><font size=2>I'm not an expert at all but I think I can help you</font></tt>
<br><tt><font size=2><br>
&gt; - Are these values really bytes? </font></tt>
<br><tt><font size=2>Yes, it is the average number of bytes *per second*
seen during the considered time interval</font></tt>
<br><tt><font size=2>&gt;How do I know what the values are? </font></tt>
<br><tt><font size=2>Because you always know what you measure. Don't you?
;-)<br>
&gt; Is it contained in the RRD database file somewhere so I can have the
script auto-adapt? </font></tt>
<br><tt><font size=2>Yes it is contained in the file &quot;/var/www/html/cacti/rra/326/28889.rrd&quot;.
You can use the &quot;rrdtool dump &lt;filename&gt;&quot; command to &quot;see&quot;
them by yourself.</font></tt>
<br><tt><font size=2>&gt; - Am I 100% sure that $value[0] is always &quot;IN&quot;
and $value[1] is always &quot;OUT&quot;? </font></tt>
<br><tt><font size=2>For that particular file yes. But I'm pretty sure
it can be different from file to file depending on how you created them
(I guess $value[0] corresponds to the rrd file's first data source, $value[1]
to the rrd file's second data source, etc...)<br>
&gt; - Does this look sane or is there a better way to do this? </font></tt>
<br><tt><font size=2>The script looks sane but I don't understand why you're
trying to do this. So I can't judge the sanity of your idea and can't tell
if there's a better way to achieve your goals.</font></tt>
<br><tt><font size=2>&gt; - What's up with my time selection? Why does
3600 seconds only produce 4 samples even though the resolution is set to
300 seconds(3600/300=12)? </font></tt>
<br><tt><font size=2>Probably because your rrd database doesn't have data
at the time requested and $rrd-&gt;fetch_next() returns the nearest &quot;consolidated
data points&quot;.</font></tt>
<br><tt><font size=2>From your sample, though strange, it looks like that
your rrd database keeps 10 minutes of data with a 5 minutes time interval,
then &lt;x&gt; minutes of data with a 45 minutes time interval. Run &quot;rrdtool
info &lt;filename&gt;&quot; on your rrd database to figure this out.</font></tt>
<br>
<br><tt><font size=2>Best regards,</font></tt>
<br>
<br><tt><font size=2>Cyrille<br>
</font></tt>
<br>
<br><tt><font size=2>rrd-users-bounces+cyrille.bollu=fedasil.be@lists.oetiker.ch
wrote on 15/06/2010 01:37:57:<br>
<br>
&gt; Hello RRD-Users,<br>
&gt; <br>
&gt; I also posted this on the Cacti forum since it relates to Cacti data<br>
&gt; directly but the RRD database is rrdtool specific. I'm having some
<br>
&gt; trouble understanding what it is, exactly, I'm pulling from an RRD
<br>
&gt; database file.<br>
&gt; <br>
&gt; Lets say, for example, that I have a graph of network traffic called<br>
&gt; &quot;aa11.acc - Traffic - Fa0/14&quot;. The data source template
being used <br>
&gt; is &quot;Interface - Traffic&quot;. And the datasource path is <br>
&gt; &quot;&lt;path_rra&gt;/326/28889.rrd&quot;. The graph template being
used is <br>
&gt; &quot;Interface - Traffic (bits/sec)&quot; characterized by &quot;(traffic_in):
<br>
&gt; Inbound&quot; and &quot;(traffic_out): Outbound&quot; as well as the
current, <br>
&gt; average and maximum for each of those. <br>
&gt; <br>
&gt; I'd like to pull the values from the RRD file. I've created a script<br>
&gt; to do this using the device name, interface name and a start/end <br>
&gt; pair like this: <br>
</font></tt>
<br><tt><font size=2>&gt; <br>
&gt; Code:</font></tt>
<br><tt><font size=2>&gt; <br>
&gt; <br>
&gt; #!/usr/bin/perl <br>
&gt; use RRDTool::OO; <br>
&gt; <br>
&gt; # code to get the rrd file name from the cacti database omitted.&nbsp;
Instead <br>
&gt; # I'll define it as: <br>
&gt; $rrdfile = &quot;/var/www/html/cacti/rra/326/28889.rrd&quot;; <br>
&gt; <br>
&gt; $rrd = RRDTool::OO-&gt;new( file =&gt; $rrdfile ); <br>
&gt; @ARGV[2] = time()-3600 if !@ARGV[2]; <br>
&gt; @ARGV[3] = time()&nbsp; &nbsp; &nbsp; if !@ARGV[3]; <br>
&gt; $rrd-&gt;fetch_start( <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; start =&gt; @ARGV[2], <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; end&nbsp; &nbsp;=&gt; @ARGV[3], <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; resolution =&gt; &quot;300&quot;, <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; cfunc =&gt; &quot;AVERAGE&quot; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; ); <br>
&gt; $rrd-&gt;fetch_skip_undef(); <br>
&gt; print &quot;Start: &quot;,time()-3600,&quot;\nEnd:&nbsp; &nbsp;&quot;,time(),&quot;\n&quot;;
<br>
&gt; print &quot;Device: $devname\n&quot;; <br>
&gt; print &quot;RRDFile: $rrdpath\n\n&quot;; <br>
&gt; while(my($time, @value) = $rrd-&gt;fetch_next()) { <br>
&gt; &nbsp; print &quot;$time: &quot;,sprintf(&quot;%.2f&quot;, $value[0]),&quot;
Bytes IN\n&quot; if $value[0]; <br>
&gt; &nbsp; print &quot;$time: &quot;,sprintf(&quot;%.2f&quot;, $value[1]),&quot;
Bytes OUT\n&quot; if $value[1]; <br>
&gt; &nbsp; $sumin = $sumin + $value[0]; <br>
&gt; &nbsp; $sumout = $sumout + $value[1]; <br>
&gt; } <br>
&gt; print &quot;IN:&nbsp; &nbsp;&quot;,sprintf(&quot;%.2f&quot;, $sumin),&quot;
Bytes\n&quot;; <br>
&gt; print &quot;OUT:&nbsp; &quot;,sprintf(&quot;%.2f&quot;, $sumout),&quot;
Bytes\n&quot;; <br>
&gt; print &quot;TOTAL:&quot;,sprintf(&quot;%.2f&quot;, $sumin+$sumout),&quot;
Bytes\n&quot;; </font></tt>
<br><tt><font size=2>&gt; <br>
&gt; <br>
&gt; <br>
&gt; The values I get are the following, leaving off the start-end <br>
&gt; parameters in my script defaults them to the last one hour (3600 <br>
&gt; seconds) of data. <br>
</font></tt>
<br><tt><font size=2>&gt; <br>
&gt; Code:</font></tt>
<br><tt><font size=2>&gt; <br>
&gt; <br>
&gt; [root@traf ~]# ./rrd-read.pl aa11 Fa0/14 <br>
&gt; Start: 1276544454 <br>
&gt; End:&nbsp; &nbsp;1276548054 <br>
&gt; Device: Fa0/14 <br>
&gt; RRDFile: /var/www/html/cacti/rra/326/28889.rrd <br>
&gt; <br>
&gt; 1276544700: 22144.43 Bytes IN <br>
&gt; 1276544700: 2484.16 Bytes OUT <br>
&gt; 1276547400: 30579.32 Bytes IN <br>
&gt; 1276547400: 3318.26 Bytes OUT <br>
&gt; 1276547700: 22904.95 Bytes IN <br>
&gt; 1276547700: 2469.39 Bytes OUT <br>
&gt; 1276548000: 21962.23 Bytes IN <br>
&gt; 1276548000: 2323.77 Bytes OUT <br>
&gt; IN:&nbsp; &nbsp;97590.94 Bytes <br>
&gt; OUT:&nbsp; 10595.58 Bytes <br>
&gt; TOTAL:108186.51 Bytes </font></tt>
<br><tt><font size=2>&gt; <br>
&gt; <br>
&gt; <br>
&gt; Questions: <br>
&gt; - Are these values really bytes? How do I know what the values are?
<br>
&gt; Is it contained in the RRD database file somewhere so I can have the<br>
&gt; script auto-adapt? <br>
&gt; - Am I 100% sure that $value[0] is always &quot;IN&quot; and $value[1]
is always &quot;OUT&quot;? <br>
&gt; - Does this look sane or is there a better way to do this? <br>
&gt; - What's up with my time selection? Why does 3600 seconds only <br>
&gt; produce 4 samples even though the resolution is set to 300 <br>
&gt; seconds(3600/300=12)? <br>
&gt; <br>
&gt; Thanks for taking the time to review this post to the list.<br>
&gt; <br>
&gt; Regards, <br>
&gt; <br>
&gt; Landon Stewart &lt;LStewart@SUPERB.NET&gt;<br>
&gt; SuperbHosting.Net by Superb Internet Corp.<br>
&gt; Toll Free (US/Canada): 888-354-6128 x 4199<br>
&gt; Direct: 206-438-5879<br>
&gt; Web hosting and more &quot;Ahead of the Rest&quot;: http://www.superbhosting.net<br>
&gt; _______________________________________________<br>
&gt; rrd-users mailing list<br>
&gt; rrd-users@lists.oetiker.ch<br>
&gt; https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users<br>
</font></tt>