Skip to content

mantoni/measured-elasticsearch.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 to metrics.
    • indexDateFormat the date format to make sure to rotate to a new index. Defaults to yyyy.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 to new Date(time). Default to Date.now().
    • additionalFields object with additional fields to be included for each metric
    • pingTimeout number of millis before the initial ping HEAD request times out. The default is the elasticsearch client default (currently 100).
  • sendBulk() sends a bulk update using the elasticsearch client
  • start([interval[, unit]]) performs a ping request and once successful sends bulk updates every interval * unit where interval defaults to 60 and unit defaults to 1000.
  • stop() stops performing ping and bulk update requests and calls end() on all registered collections

Events

The reporter instance returned by forClient is an EventEmitter that emits these events:

  • start when start() was called and the initial ping request was successful
  • stop when stop() was called
  • update after a bulk update was sent to elasticsearch
  • error if the initial ping requests fail and if bulk updates fail

About

Reports measured metrics to elasticsearch

Resources

License

Stars

Watchers

Forks

Packages

No packages published