Skip to content

ddm/simple-udp-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simple-udp-stream

build dependencies npm version

Basic usage

var SimpleUdpStream = require('simple-udp-stream');

var stream = new SimpleUdpStream({
  destination: '127.0.0.1',
  port: 9999
});

stream.write("Hello World!");

stream.end();

wireshark simple capture

Bunyan and logstash

Configure logstash to listen to UDP logs:

input {
  udp {
     port => 9999
     codec => json
  }
}
output {
  elasticsearch {
    host => localhost
    protocol => http
  }
}

Configure bunyan to log over UDP:

var bunyan = require('bunyan');

var udpStream = require('simple-udp-stream')({
  destination: '127.0.0.1',
  port: 9999
});

var logger = bunyan.createLogger({
  name: 'my-logger',
  streams: [{
    level: 'info',
    stream: udpStream
  }]
});

logger.info({ value: 1 }, "Hello World!");

udpStream.end();

kibana capture

wireshark bunyan capture

Limitations

IPv4 only for now. Open a GitHub issue if you need IPv6 support.

Message size is limited by the smallest MTU between source and destination: see Node.js documentation.

If a message is too big, it will simply be dropped...

Alternatives

node-datagram-stream

About

Writable stream over UDP

Resources

License

Stars

Watchers

Forks

Packages

No packages published