-
Notifications
You must be signed in to change notification settings - Fork 11
SinksWavefront
The wavefront sink emits to a wavefront proxy, which eventually aggregates into the Wavefront product.
The wavefront sink configuration options are as follows:
-
port
:: the network port toward which to push data [default: 2878] -
host
:: the host (IP or DNS) toward which to push data [default: 127.0.0.1] -
bin_width
:: determines how many seconds wide an aggregation bin is [default: 1] -
age_threshold
:: threshold in seconds for telemetry shedding [default: None] (SINCE 0.8.2) -
percentiles
:: a map from key-name to a percentile (see percentiles) -
padding
:: a map from aggregation kind to boolean. (see padding)
The Summarize aggregation type -- see Data Model for
more details -- can compute arbitrary percentile queries over its stored
data. The wavefront sink percentiles
configuration option is a table from name
to percentile query. For instance:
[sinks.wavefront.percentile]
min = 0.0
max = 1.0
50 = 0.50
75 = 0.75
This wavefront sink will send all Summarize aggregations with four queries: 'min', 'max', '50' and '75'. If the Summarize metric is named 'cernan.example_summary' then four metrics will appear in wavefront:
cernan.example_summary.min
cernan.example_summary.max
cernan.example_summary.50
cernan.example_summary.75
The default percentiles shipped are equivalent to this configuration:
[sinks.wavefront.percentiles]
min = 0.0
max = 1.0
2 = 0.02
9 = 0.09
25 = 0.25
50 = 0.50
75 = 0.75
90 = 0.90
91 = 0.91
95 = 0.95
98 = 0.98
99 = 0.99
999 = 0.999
(Since 0.7.2)
The Wavefront sink has the ability to 'pads' time series with zeros. What this
means is that in a time series with two points separated by more than one bin
width cernan will insert one or two but no more zeros in the 'gap'. This a hack
of the Wavefront aggregation system. The idea is that wavefront default()
is
slow in some cases -- as of this writing -- and Wavefront's provided
interpolation is sometimes not desirable. By padding we force Wavefront's
interpolation to view a gap as 'zeroed'. Pads are set by aggregation method.
The default padding is equivalent to this configuration:
[sinks.wavefront.padding]
set = false
sum = false
histogram = false
summarize = false
The full discussion and justification may be found here.
[sinks]
[sinks.wavefront]
bin_width = 10
host = "wavefront-proxy.example.org"
port = 2878
[sinks.wavefront.padding]
set = true
sum = false
histogram = true
summarize = false
[sinks.wavefront.percentiles]
min = 0.0
max = 1.0
2 = 0.02
9 = 0.09
25 = 0.25
50 = 0.50
75 = 0.75
90 = 0.90
91 = 0.91
95 = 0.95
98 = 0.98
99 = 0.99
999 = 0.999
This enables the wavefront sink, pointing cernan to a proxy running at "wavefront-proxy.example.org" which listens on port 2878. The wavefront sink will aggregate into bins ten seconds wide and ship thirteen distinct points for every Summary telemetry. Set and Histogram telemetry are padded.
A Postmates Project
Tech Blog | Twitter @PostmatesDev | Jobs