Re: [rrd-users] RRDs::tune zeroing values

This is a discussion on Re: [rrd-users] RRDs::tune zeroing values within the RRD Users forums, part of the Networking and Network Related category; Hi William, the reason for this behaviour is, that when you reset the DS-type, rrdtool will also reset the ...


Go Back   Usenet Forums > Networking and Network Related > RRD Users

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-17-2008
Tobias Oetiker
 
Posts: n/a
Default Re: [rrd-users] RRDs::tune zeroing values

Hi William,

the reason for this behaviour is, that when you reset the DS-type,
rrdtool will also reset the last_ds value which prevents it from
doing building the difference between the current and the last
counter value ... the following patch makes rrdtune NOT do this
unless the data-source-type is actually changed.

Index: src/rrd_tune.c
================================================== =================
--- src/rrd_tune.c (revision 1323)
+++ src/rrd_tune.c (working copy)
@@ -197,15 +197,17 @@
rrd_close(rrd_file);
return -1;
}
- strncpy(rrd.ds_def[ds].dst, dst, DST_SIZE - 1);
- rrd.ds_def[ds].dst[DST_SIZE - 1] = '\0';
+ /* only reset when something is changed */
+ if (strncmp(rrd.ds_def[ds].dst, dst, DST_SIZE - 1) != 0) {
+ strncpy(rrd.ds_def[ds].dst, dst, DST_SIZE - 1);
+ rrd.ds_def[ds].dst[DST_SIZE - 1] = '\0';

- rrd.pdp_prep[ds].last_ds[0] = 'U';
- rrd.pdp_prep[ds].last_ds[1] = 'N';
- rrd.pdp_prep[ds].last_ds[2] = 'K';
- rrd.pdp_prep[ds].last_ds[3] = 'N';
- rrd.pdp_prep[ds].last_ds[4] = '\0';
-
+ rrd.pdp_prep[ds].last_ds[0] = 'U';
+ rrd.pdp_prep[ds].last_ds[1] = 'N';
+ rrd.pdp_prep[ds].last_ds[2] = 'K';
+ rrd.pdp_prep[ds].last_ds[3] = 'N';
+ rrd.pdp_prep[ds].last_ds[4] = '\0';
+ }
break;
case 'r':
if ((matches =

cheers
tobi

Yesterday William Cassis wrote:

> Hello,
>
> I'm running MRTG on Fedora Core 8 with RRDTool and am having problems
> with MRTG updating rrd files with correct values.
>
> MRTG version 2.15.1 (package 2.15.1-6.fc8)
> RRDTool says it's version 1.2.99907080300 when I run rrdtool --help, but
> the package is 1.3-0.6.beta3.fc8.
>
> When MRTG runs, it seems that the 'tune' step is zeroing out the most
> recent values in the rrd files. Commenting out the section of the MRTG
> perl executable that calls the RRDs::tune command has temporarily fixed
> things, but that's probably not a good long-term fix ;).
>
> Here's a snippet from my mrtg config file:
>
> ********
> ### Interface 11 >> Descr: 'FastEthernet0/10' | Name: 'Fa0/10' | Ip: ''
> | Eth: '00-03-e3-36-20-0a' ###
>
> Target[FastEthernet0_10]: \FastEthernet0/10:mrtg@office-sw01:::::2
> SetEnv[FastEthernet0_10]: MRTG_INT_IP=""
> MRTG_INT_DESCR="FastEthernet0/10"
> MaxBytes[FastEthernet0_10]: 12500000
> Title[FastEthernet0_10]: Traffic Analysis for FastEthernet0/10 --
> office-sw01
> PageTop[FastEthernet0_10]: <h1>Traffic Analysis for FastEthernet0/10 --
> office-sw01</h1>
> <div id="sysdetails">
> <table>
> <tr>
> <td>System:</td>
> <td>office-sw01</td>
> </tr>
> <tr>
> <td>Description:</td>
> <td>FastEthernet0/10 Test </td>
> </tr>
> <tr>
> <td>ifType:</td>
> <td>ethernetCsmacd</td>
> </tr>
> <tr>
> <td>Max Speed:</td>
> <td>100.0 Mbits/s</td>
> </tr>
> </table>
> </div>
>
> ********
>
> When I run MRTG with --debug="log", I get output that looks like this:
>
> Creating the rrd:
> --log: RRDs::create(/usr/local/mrtg/office-sw01/fastethernet0_10.rrd -b
> 1208374325 -s 300 DS:ds0:COUNTER:600:0:12500000
> DS:ds1:COUNTER:600:0:12500000 RRA:AVERAGE:0.5:1:800
> RRA:AVERAGE:0.5:6:800 RRA:AVERAGE:0.5:24:800 RRA:AVERAGE:0.5:288:800
> RRA:MAX:0.5:1:800 RRA:MAX:0.5:6:800 RRA:MAX:0.5:24:800
> RRA:MAX:0.5:288:800)
> --log: RRDs::update(/usr/local/mrtg/office-sw01/fastethernet0_10.rrd,
> '1208374335:172812857:450899955')
> --log: got: ???/???
>
> Updating the rrd with values:
> --log: RRDs::tune(/usr/local/mrtg/office-sw01/fastethernet0_10.rrd -a
> ds0:12500000 -a ds1:12500000 -d ds0:COUNTER -d ds1:COUNTER)
> --log: RRDs::update(/usr/local/mrtg/office-sw01/fastethernet0_10.rrd,
> '1208377525:186981022:466737759')
> --log: got: ???/???
>
> However, the rrd records 'NaN' values for that interval:
> <!-- 2008-04-16 13:20:00 PDT / 1208377200 --> <row><v> NaN </v><v> NaN
> </v></row>
> <!-- 2008-04-16 13:25:00 PDT / 1208377500 --> <row><v> NaN </v><v> NaN
> </v></row>
> <!-- 2008-04-16 13:30:00 PDT / 1208377800 --> <row><v> NaN </v><v> NaN
> </v></row>
>
> After commenting out 'RRDs::tune(@args);' in the mrtg executable, the
> rrds are updating with correct values.
>
> I figured that this might be par for the course since I'm running a beta
> version of rrdtool, but unfortunately yum doesn't give me an option to
> install a stable version of rrdtool and I have quite a few other
> packages that are dependencies on the version of rrdtool that the system
> has installed.
>
> Is this a known bug?
>
> Any help is appreciated!
>
> Thanks,
> Will Cassis
>
> _______________________________________________
> rrd-users mailing list
> rrd-users@lists.oetiker.ch
> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
>
>


--
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten
http://it.oetiker.ch tobi@oetiker.ch ++41 62 213 9902

_______________________________________________
rrd-users mailing list
rrd-users@lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 10:50 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0