measured-elasticsearch
v1.6.1
Published
Reports measured metrics to elasticsearch
Downloads
26
Maintainers
Readme
Measured Elasticsearch Reporter
Reports measured metrics to elasticsearch in the same format as the Java elasticsearch metric reporter.
Install
npm install measured elasticsearch measured-elasticsearch
Usage
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({ host : 'localhost:9200' });
var reporter = require('measured-elasticsearch').forClient(client);
var measured = require('measured');
var collection = measured.createCollection();
reporter.addCollection(collection);
reporter.start(60, measured.units.SECONDS);
API
forClient(client[, config])
creates a new reporter for the given client and optional config. Available configs are:index
the index to use. Defaults tometrics
.indexDateFormat
the date format to make sure to rotate to a new index. Defaults toyyyy.mm
. Uses dateformat.timestampFieldname
the field name of the timestamp. Defaults to@timestamp
.getTime
a function returning the current time. The return value is passed tonew Date(time)
. Default toDate.now()
.additionalFields
object with additional fields to be included for each metricpingTimeout
number of millis before the initial ping HEAD request times out. The default is the elasticsearch client default (currently100
).
sendBulk()
sends a bulk update using the elasticsearch clientstart([interval[, unit]])
performs a ping request and once successful sends bulk updates everyinterval * unit
whereinterval
defaults to60
andunit
defaults to1000
.stop()
stops performing ping and bulk update requests and callsend()
on all registered collections
Events
The reporter
instance returned by forClient
is an EventEmitter that emits
these events:
start
whenstart()
was called and the initial ping request was successfulstop
whenstop()
was calledupdate
after a bulk update was sent to elasticsearcherror
if the initial ping requests fail and if bulk updates fail