[mrtg] Math operations

Steve Shipway s.shipway at auckland.ac.nz
Tue May 19 23:38:24 CEST 2015

> Target[target]: tcpRetransSegs.0&tcpInErrs.0:community at target /
tcpOutSegs.0&tcpInSegs.0:community at target * 100
> MaxBytes[target]: 100
> Options[target]: growright, nopercent
> I have no errors, but data in the RRDTool file are always 0 (zero):

Are you sure that the final value IS more than zero?  You are likely to be
not evaluating what you think you are evaluating.

You are not running in 'gauge' mode, and so the value will be converted to a
rate AFTER the Target is evaluated.   Although tcpRetransSegs and tcpOutSegs
are likely to be counters,  the rate is not calculated until AFTER the
Target calculation.

Therefore, your Target will first calculate the percentage retrans of out
since the last counter reset -- and will then calculate the rate of change
of this percentage, which is likely to be zero or so close as to make no

IF retranssegs and insegs were rates, then the calculation would work
provided you had 'Option[]: gauge' in order to skip the 'convert to a rate'
step.  HOWEVER, since I do not believe they are, this will not work.

One way to do this will work better if you are using Routers2 as your
frontend.  In this case, you can run a normal counter rate monitoring for
the tcpRetransSegs and tcpOutSegs, and then use the option 'dorelpercent'.
This will calculate the percentage of the first value relative to the

Target[target]: tcpRetransSegs.0&tcpOutSegs.0:community at target 
MaxBytes[target]: 10000000
Options[target]: growright, nopercent, dorelpercent

With Routers2, it will display a single percentage line showing the
percentage of tcpRetransSegs relative to tcpOutSegs.  With Native MRTG, you
will get a third line showing this percentage, the colour of which you can
set by adding a fifth option to the Colours[] directive.  Note that the
MaxBytes value is for the maximum rate of the Target, not the maximum of the

This is the order of where calculations are performed:

(Done by MRTG)
1. Target SNMP or backquote data retrieval.
2. Target ConversionCode functions
3. Target calculations
(Following are done by RRDTool if in RRD mode)
4. Rate calculations (if not Gauge mode)
5. Convert to integer (if native mode)
6. Stored in RRD database (or log file for native mode)
(Following are done by web frontend if RRD mode)
7. Factor[] calculations
8. Any special display options - dorelpercent, c2fi/o, etc
9. Graphing


Steve Shipway
s.shipway at auckland.ac.nz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 10311 bytes
Desc: not available
URL: <http://lists.oetiker.ch/pipermail/mrtg/attachments/20150519/55e7066c/attachment.bin>

More information about the mrtg mailing list