eventsd-client
EventsD client library for receiving events that are sent to an EventsD service.
Clients like opstail can be built using this client library.
Install
npm install --save eventsd-client
Note: Requires Node.js version >= 4.2.2
Usage
const Client = ; let options = keys: 'event.*.env.production.#' 'event.*.env.staging.#' routingKey: 'event.*.env.qa.#' routingKey: 'event.*.env.dev.#' id: 'dev-events' ; let client = options; client; clientstart;
Add/Remove bound routing keys without reconnecting
// 'connect' event already fired client;client; client;client;
Client Options
// Default Client Optionsconst defaultOptions = host: '127.0.0.1' port: 8151 keys: ssl: enable: false ;
host
: the hostname/IP address of the EventsD server to connect toport
: the port number that the EventsD server accepts client connections onkeys
: an array of event routing key patterns to bind to (this determines which events this client instance will receive)ssl
:enable
: use SSL to connect to the EventsD server
EventsD Server v2.1.0+
Version 2.1.0+ of the eventsd-server allows clients to share an event stream.
To use this feature, provide the following object as your key (instead of a string):
routingKey: 'event.test.#' id: 'test-events'
The important field here is the id
field.
If an id
is provided in the key
object, then all clients with the same routingKey
and id
will share the same event stream (this acts like load balancing/distribution).
Environment Variables
The DEBUG
environment variable can be used to see verbose logs from the client.
DEBUG=eventsd-client
Testing
npm test
NOTE:
A local RabbitMQ server is REQUIRED to run the tests.