A Logstash input plugin that reads data from DynamoDB tables via table scans and DynamoDB Streams for near real-time data processing.
Logstash Input DynamoDB is a plugin for Logstash that enables reading data from Amazon DynamoDB tables. It scans the table for existing data and then continuously streams new changes via DynamoDB Streams, allowing near real-time ingestion into Logstash for processing and output to systems like Elasticsearch. It solves the problem of integrating DynamoDB data into observability and search pipelines without building custom connectors.
DevOps engineers, data engineers, and developers using the Elastic Stack (Logstash/Elasticsearch) who need to ingest and process DynamoDB data for logging, monitoring, or analytics.
It provides a maintained, configurable, and reliable way to stream DynamoDB data directly into Logstash, eliminating the need for custom scripts and ensuring compatibility with the Elastic ecosystem. Its support for both initial scans and continuous streaming makes it suitable for both historical data migration and real-time change capture.
This input plugin for Logstash scans a specified DynamoDB table and then reads changes to a DynamoDB table from the associated DynamoDB Stream.This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline. This gem is not a stand-alone program.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Continuously captures DynamoDB changes via Streams for inserts, updates, and deletes, enabling near real-time ingestion without custom polling scripts, as detailed in the README's configuration for streams_endpoint.
Performs an initial full table scan to index all existing data before streaming, ensuring no data is missed during setup, which is configurable with perform_scan and read_ops settings.
Seamlessly outputs to Elasticsearch and other Logstash plugins, making it ideal for users already invested in the Elastic ecosystem for search and analytics, as shown in the example output configuration.
Offers configurable parameters like number_of_scan_threads and log_format, allowing optimization for different table sizes and throughput needs, enhancing flexibility for varied workloads.
Requires installation of JRuby, Maven, Git, and multiple build steps, which is more complex than standard Logstash plugins and can lead to errors, as admitted in the README's prerequisites and setup instructions.
As an AWS Labs project, it may not be actively updated, risking compatibility with newer Logstash versions or DynamoDB features, evidenced by the outdated installation steps and lack of recent activity mentions.
Heavily tied to AWS DynamoDB and the Elastic Stack, limiting flexibility for mixed environments or migrations, with no native support for non-Elastic outputs without additional Logstash plugins.
Introduces latency through Logstash and JRuby processing, and relies on DynamoDB Streams' inherent delays, making it less suitable for ultra-low-latency applications compared to direct integrations.