good-kinesis-reporter

0.2.1 • Public • Published

good-kinesis-reporter

Kinesis and Kinesis firehose stream for good by hapi

Current Version Build Status

Usage

good-kinesis-reporter is a write stream use to send events to AWS Kinesis and AWS Kinesis Firehose.

Kinesis Firehose has become one of the preferred ways for me to transport logs from containers and servers in an AWS environment to Elasticsearch, skipping Logstash and its overhead altogether.

Example

// server.js
 
const Hapi = require('hapi');
 
const server = Hapi.server({
    port: 3000,
    host: 'localhost'
});
 
const options = {
    reporters: {
        kinesis: [{
            module: 'good-squeeze',
            name: 'Squeeze',
            args: [{ log: '*', response: '*', request: '*', server: '*' }]
        }, {
            module: 'good-kinesis-reporter',
            name: 'Firehose', // can be either Kinesis or Firehose
            args: [
              { streamName: 'my-delivery-stream' } // only streamName is mandatory, the rest are the SDK client options
            ]
        }]
    }
};
 
const init = async () => {
    await server.register({
        plugin: require('good'),
        options,
    });
    await server.start();
    console.log(`Server running at: ${server.info.uri}`);
};
 
process.on('unhandledRejection', (err) => {
    console.log(err);
    process.exit(1);
});
 
init();

Using as a write stream without good and available options

Creates a new GoodKinesis or GoodFirehose object:

const goodkinesis = require('good-kinesis-reporter');
 
const kinesisStream = goodkinesis.Kinesis({ streamName: 'my-kinesis-stream' });
const firehoseStream = goodkinesis.Firehose({ streamName: 'my-firehose-stream' });

Available options:

  • streamName - Stream name

All options are passed to the AWS SDK constructor

As best practice, configuring the AWS SDK client is recommended using environment variables or instance profile permissions in an EC2 context.

License

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.2.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.2.1
    1
  • 0.2.0
    0
  • 0.1.1
    0
  • 0.1.0
    0

Package Sidebar

Install

npm i good-kinesis-reporter

Weekly Downloads

1

Version

0.2.1

License

MIT

Unpacked Size

15.2 kB

Total Files

8

Last publish

Collaborators

  • vvondra