var SimpleUdpStream = require('simple-udp-stream');
var stream = new SimpleUdpStream({
destination: '127.0.0.1',
port: 9999
});
stream.write("Hello World!");
stream.end();
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();
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...