Influx Subscriber
Influxdb UDP subscriber
Getting Started
Install the module with: npm install influx-subscriber
Example
const Subscriber = ;const server = server: port: 9090 options: reuseAddr: true ; server; { // { timestamp: 1470934800000000000, // measurement: 'access_granted.global_unique.1h', // fields: [ { members: 290 } ], // tags: [] }}
Documentation
Configuration
Under the hood, a Subscriber will use a dgram instance to create the UDP connection.
In the configuration object, under the server
key, you can pass the following values:
port
bind
To get more details on what those do, read the documentation.
There is a default port 9090
that will be used if not overriden with a configuration object. If a bind
object is found then it will be used instead of the port
.
port
The default UDP port the server will be listening to is 9090.
To set a custom UDP port you have two options:
- Set the
NODE_UDP_PORT
environmental variable - Pass in a config object with
server.port
set to the port number
const server = server: port: 9090 ;
bind
- port - Integer, Optional
- address , Optional
- callback with no parameters, Optional. Called when binding is complete.
const server = server: bind: address: 'localhost' port: 8000 exclusive: true ;
options
As the options
field goes straight to dgram.createSocket
you can pass either a String with a type, or an object. Read more here.
- type
- reuseAddr
const server = server: options: type: 'udp4' reuseAddr: true ;
InfluxDB setup
You need to register a new subscriber in your InfluxDB instance, you do so by running a create subscription query:
CREATE SUBSCRIPTION influx_subscriber ON "mydb"."default" DESTINATIONS ALL 'udp://yourapp.com:9090'
You can then drop and show subscriptions.
SHOW SUBSCRIPTIONS
DROP SUBSCRIPTION sub0 ON "mydb"."default"
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Release History
- 2016-08-15 v.0.1.0: Initial release
License
Copyright (c) 2016 goliatone
Licensed under the MIT license.