1.6.1 • Published 10 years ago
measured-elasticsearch v1.6.1
Measured Elasticsearch Reporter
Reports measured metrics to elasticsearch in the same format as the Java elasticsearch metric reporter.
Install
npm install measured elasticsearch measured-elasticsearchUsage
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:indexthe index to use. Defaults tometrics.indexDateFormatthe date format to make sure to rotate to a new index. Defaults toyyyy.mm. Uses dateformat.timestampFieldnamethe field name of the timestamp. Defaults to@timestamp.getTimea function returning the current time. The return value is passed tonew Date(time). Default toDate.now().additionalFieldsobject with additional fields to be included for each metricpingTimeoutnumber 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 * unitwhereintervaldefaults to60andunitdefaults 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:
startwhenstart()was called and the initial ping request was successfulstopwhenstop()was calledupdateafter a bulk update was sent to elasticsearcherrorif the initial ping requests fail and if bulk updates fail