# [rrd-users] Re: xff and heartbeat

BAARDA, Don don.baarda at baesystems.com
Wed Sep 27 01:54:18 MEST 2000

```G'day,

You can't get a more authoritative answer than from Tobi himself, I thought
I'd expand a bit on how clever rrd is :-)

> -----Original Message-----
> From:	Tobias Oetiker [SMTP:oetiker at ee.ethz.ch]
> Sent:	Wednesday, September 27, 2000 7:37 AM
> To:	Ehrentraut, Diana
> Cc:	'rrd-users at list.ee.ethz.ch'
> Subject:	[rrd-users] Re: xff and heartbeat
>
>
> Today you sent me mail regarding [rrd-users] xff and heartbeat:
>
> ED>
> ED> Hi all,
> ED>
> ED> as a newbie I have some problems in understanding the consolidation
> ED> parameters...
> ED> After reading the tutorial, the manuals and some mails in the
> mailinglist I
> ED> think I understand it more or less. But I would be very greatfull if
> someone
> ED> could verify that.
> ED>
> ED>    The heartbeat defines the period within which should be an update,
> ED> otherwise there
> ED>    will be an *UNKNOWN* asumed.
>
> yes
>
RRD gets fed samples at arbitrary times. From these it builds
Primary Data Points (PDPs) at exact times every "step" interval. The PDPs
are then accumulated into RRAs.

The "heartbeat" defines the maximum acceptable interval between
samples. If the interval between samples is less than "heartbeat", then an
average rate is calculated and applied for that interval. If the interval
between samples is longer than "heartbeat", then that entire interval is
considered "unknown". Note that there are other things that can make a
sample interval "unknown", such as the rate exceeding limits, or even an
"unknown" input sample.

The known rates during a PDP's "step" interval are used to calculate
an average rate for that PDP. Also, if the total "unknown" time during the
"step" interval exceeds the "heartbeat", the entire PDP is marked as
"unknown". This means that a mixture of known and "unknown" sample time in a
single PDP "step" may or may not add up to enough "unknown" time to exceed
"heartbeat" and hence mark the whole PDP "unknown". So "heartbeat" is not
only the maximum acceptable interval between samples, but also the maximum
acceptable amount of "unknown" time per PDP (obviously this is only
significant if you have "heartbeat" less than "step").

The "heartbeat" can be short (unusual) or long (typical) relative to
the "step" interval between PDPs. A short "heartbeat" means you require
multiple samples per PDP, and if you don't get them mark the PDP unknown. A
long heartbeat can span multiple "steps", which means it is acceptable to
have multiple PDPs calculated from a single sample. An extreme example of
this might be a "step" of 5mins and a "heartbeat" of one day, in which case
a single sample every day will result in all the PDPs for that entire day
period being set to the same average rate.

[...]
> ED> So, if I set my heartbeat to a very long period, the xff does almost
> have no
> ED> effect. On the other hand, if I set the heartbeat to a short period
> (e.g.
> ED> the step-size of the RRD) I will have a high probability of getting
> ED> *UNKNOWN* samples. Which I can decrease again setting xff high (e.g.
> ED> xff=0.9).
>
> note that the heartbeat only applies to the DS update ... until a
> PDP is built from the data ... the xff applies to the PDPs required
> for building one RRA row
>
You are right that "xff" has little affect if you have few "unknown"
PDPs, and setting "heartbeat" high is one way of reducing the number of
"unknown" PDPs. However, it is worth remembering that "unknowns" can happen
because of other reasons. When setting "xff", you are deciding how many
"unknown" PDPs are acceptable when accumulating into an RRA, and an
"unknown" really means that rrd has no idea what the rate for the PDP was.
So "xff" is a "garbage threshold" for how much missing input data you can
tolerate when accumulating your data into "course grain", large "steps",
RRAs.

When setting "heartbeat", you are specifying a requirement on your
samples. Remember that a long "heartbeat" means that you are happy for
multiple PDPs to be estimated from a single sample, which means the
that these not-quite-accurate PDPs accumulate accurately. The individual
PDPs are estimated from the average rate over a longer period, hence when
you accumulate these PDPs into a single period, the average rate is correct
for that period. So "heartbeat" is a "garbage threshold" for how much
inaccuracy you can tolerate in your "fine grain", small "steps", RRAs.

ABO

--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-users

```