Using the beat framework to send statsd formatted messages to ElasticSearch.
We listen for UDP pacakges. And forwards them as beat.Event
into Elastic Search at the index statsdbeat-<beat-version>-<yyyy-mm-dd>
Support
-
Following statsd types are supported
Type Example Counters `platform-insights.test.counter.tick:1 Gauge `platform-insights.test.gauge.num_goroutine:1 Histogram `platform-insights.test.histogram.my_histo:17 Timing `platform-insights.test.timing.ping:10 -
Tags (in InfluxDB notation format
counter,tagName=tagValue,anotherTag=withAnotherValue:1|c
) -
Multi-Metric Packets
statsdbeat:
statsdserver: ":8125" # where should we listen for the UDP messages. Typically your localhost on port 8125
period: 5s # interval period the events (if any) are send to the output
Spooling to disk is currently a beta feature. Use with care.
You can configure in statsbeat.yml
the spooling to disk
output.elasticsearch:
hosts: ["https://vpc-<your-name>.<aws-region>.es.amazonaws.com:443"]
queue:
spool:
file:
flush.timeout:1s
-
No pre-aggreation (roll-ups) of data before sending to Elastic Search
-
No Sets
-
No Sampling
-
No resend Gauge information ()
-
We don't compute percentile aggregations. Elastic Search has this already build in
- Etsy Statsd metric types
- Elastic Search backend, (NPM module for Etsty Statsd to output to ElasticSearch )