- Update gemspec summary
- Fix some documentation issues
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- #22Handle 'sourceIpAddress' fields with non-ip address content by moving them to 'sourceHost' field
- Don't crash when data doesn't contain some particular elements
- Fix some documentation issues
- fixed mapping template for requestParameters.disableApiTermination field
- Update to support Logstash 2.4 & 5.0 APIs
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- Fixed shutdown handling #43
- Fixed issue where metric timestamp was being lost due to over-writing by end_time #38
- Added ability to use AWS/EC2 namespace without requiring filters #36
- Fixed README.md link to request metric support to point to this repo #34
- Changed to use the underlying version of the AWS SDK to v2. #32
- Fixed License definition in gemspec to be valid SPDX identifier #32
- Fixed fatal error when using secret key attribute in config #30
- Docs: Set the default_codec doc attribute.
- Add documentation for endpoint, role_arn and role_session_name #29
- Reduce info level logging verbosity #27
- Update gemspec summary
- Fix some documentation issues
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Moved from jrgns/logstash-input-cloudwatch to logstash-plugins
- Refactoring, reuse code to manage
additional_settings
from mixin-aws #237
- Fix missing
metadata
andtype
of the last event #223
- Refactor: read sincedb time once per bucket listing #233
- Feat: cast true/false values for additional_settings #232
- Add ECS v8 support.
- Fixed unprocessed file with the same
last_modified
in ingestion. #220
- [DOC]Added note that only AWS S3 is supported. No other S3 compatible storage solutions are supported. #208
- [DOC]Added example for
exclude_pattern
and reordered option descriptions #204
- Added support for including objects restored from Glacier or Glacier Deep #199
- Added
gzip_pattern
option, enabling more flexible determination of whether a file is gzipped #165 - Refactor: log exception: class + unify logging messages a bit #201
- Fixed link formatting for input type (documentation)
- Skips objects that are archived to AWS Glacier with a helpful log message (previously they would log as matched, but then fail to load events) #160
- Added
watch_for_new_files
option, enabling single-batch imports #159
- Added ability to optionally include S3 object properties inside @metadata #155
- Fixed error in documentation by removing illegal commas #154
- #136 Avoid plugin crashes when encountering 'bad' files in S3 buckets
- Log entry when bucket is empty #150
- Symbolize hash keys for additional_settings hash #148
- Docs: Set the default_codec doc attribute.
- Improve error handling when listing/downloading from S3 #144
- Add documentation for endpoint, role_arn and role_session_name #142
- Add support for additional_settings option #141
- Add support for auto-detecting gzip files with
.gzip
extension, in addition to existing support for*.gz
- Improve performance of gzip decoding by 10x by using Java's Zlib
- Change default sincedb path to live in
{path.data}/plugins/inputs/s3
instead of $HOME. Prior Logstash installations (using $HOME default) are automatically migrated. - Don't download the file if the length is 0 #2
- Update gemspec summary
- Fix missing last multi-line entry #120
- Fix some documentation issues
- Avoid parsing non string elements #109
- The plugin will now include the s3 key in the metadata #105
- Fix an issue when the remote file contains multiple blob of gz in the same file #101
- Make the integration suite run
- Remove uneeded development dependency
- Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
- breaking,config: Remove deprecated config
credentials
andregion_endpoint
. Please use AWS mixin.
- Republish all the gems under jruby.
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See elastic/logstash#5141
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Fix for Error: No Such Key problem when deleting
- Do not raise an exception if the sincedb file is empty, instead return the current time #66
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- Fix an issue that prevented timely shutdown when subscribed to an inactive queue #65
- Refactoring: used logstash-mixin-aws to leverage shared code to manage
additional_settings
#64
- Feature: Add
additional_settings
option to fine-grain configuration of AWS client #61
- Feature: Add
queue_owner_aws_account_id
parameter for cross-account queues #60
- Fix: retry networking errors (with backoff) #57
- Added support for multiple events inside same message from SQS #48
- Docs: Set the default_codec doc attribute.
- Add documentation for endpoint, role_arn and role_session_name #46
- Fix sample IAM policy to match to match the documentation #32
- Update gemspec summary
- Fix some documentation issues
- Monkey-patch the AWS-SDK to prevent "uninitialized constant" errors.
- Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
- Republish all the gems under jruby.
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See elastic/logstash#5141
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Fixes #22, wrong key use on the stats object
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- AWS ruby SDK v2 upgrade
- Replaces aws-sdk dependencies with mixin-aws
- Removes unnecessary de-allocation
- Move the code into smaller methods to allow easier mocking and testing
- Add the option to configure polling frequency
- Adding a monkey patch to make sure
LogStash::ShutdownSignal
doesn't get catch by AWS RetryError.
- Add support for 'addition_settings' configuration options used by S3 and SQS input plugins #53.
- Drop support for aws-sdk-v1
- Fix: proxy with assumed role (properly) #50.
- Fix: credentials/proxy with assumed role #48.
Plugin no longer assumes
access_key_id
/secret_access_key
credentials not to be set whenrole_arn
specified.
- Drop strict value validation for region option #36
- Add endpoint option to customize the endpoint uri #32
- Allow user to provide a role to assume #27
- Update aws-sdk dependency to '~> 2'
- Minor config validation fixes
- Fix some documentation issues
- Add eu-west-2, us-east-2 and ca-central-1 regions
- Add region ap-south-1
- Update aws-sdk to ~> 2.3.0
- Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
- Republish all the gems under jruby.
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See elastic/logstash#5141
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- Correctly set proxy options on V2 of the aws-sdk
- Allow to use either V1 or V2 of the
AWS-SDK
in your plugins. Fixes: logstash-plugins/logstash-mixin-aws#8
- Deps: unpin rufus scheduler #20
- Fix: an old undefined method error which would surface with load (as queue fills up)
- Fix: dropped usage of SHUTDOWN event deprecated since Logstash 5.0 #18
- Docs: Set the default_codec doc attribute.
- Update gemspec summary
- Fix some documentation issues
- Fix some remaining uses of the old event api. blocking the use of this plugin
- Move some log messages from info to debug to avoid noise
- Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
- Republish all the gems under jruby.
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See elastic/logstash#5141
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- Feat: handle host object as subject (due ECS) #22
- Docs: Set the default_codec doc attribute.
- Update gemspec summary
- Fix some documentation issues
- Mark this output as thread safe to allow concurrent connections to AWS.
- Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
- Republish all the gems under jruby.
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See elastic/logstash#5141
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- Properly trim messages for AWS without breaking unicode byte boundaries
- Full refactor.
- This plugin now uses codecs for all formatting. The 'format' option has now been removed. Please use a codec.
- If no
subject
are specified fallback to the %{host} key (logstash-plugins/logstash-output-sns#2) - Migrate the SNS Api to use the AWS-SDK v2
- Added missing index entry for
queue_owner_aws_account_id
#33
- Removed obsolete fields
batch
andbatch_timeout
- Removed workaround to JRuby bug (see more here)
- Added the ability to send to a different account id's queue. #30
- Docs: Set the default_codec doc attribute.
- Add documentation for endpoint, role_arn and role_session_name #29
- Update gemspec summary
- Fix some documentation issues
- Breaking: mark deprecated
batch
andbatch_timeout
options as obsolete
- Docs: Fix doc generation issue by removing extraneous comments.
- Add unit and integration tests.
- Adjust the sample IAM policy in the documentation, removing actions which are not actually required by the plugin. Specifically, the following actions are not required:
sqs:ChangeMessageVisibility
,sqs:ChangeMessageVisibilityBatch
,sqs:GetQueueAttributes
andsqs:ListQueues
. - Dynamically adjust the batch message size. SQS allows up to 10 messages to be published in a single batch, however the total size of the batch is limited to 256KiB (see Limits in Amazon SQS). This plugin will now dynamically adjust the number of events included in each batch to ensure that the total batch size does not exceed
message_max_size
. Note that any single messages which exceeds the 256KiB size limit will be dropped. - Move to the new concurrency model,
:shared
. - The
batch_timeout
parameter has been deprecated because it no longer has any effect. - The individual (non-batch) mode of operation (i.e.
batch => false
) has been deprecated. Batch mode is vastly more performant and we do not believe that there are any use cases which require non-batch mode. You can emulate non-batch mode by settingbatch_events => 1
, although this will callsqs:SendMessageBatch
with a batch size of 1 rather than callingsqs:SendMessage
. - The plugin now implements
#multi_receive_encoded
and no longer usesStud::Buffer
. - Update the AWS SDK to version 2.
- Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
- Republish all the gems under jruby.
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See elastic/logstash#5141
- Add travis config and build status
- Require the AWS mixin to be higher than 1.0.0
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- Feat: cast true/false values for additional_settings #241
- [DOC] Added note about performance implications of interpolated strings in prefixes #233
- [DOC] Updated links to use shared attributes #230
- [DOC] Added note that only AWS S3 is supported. No other S3 compatible storage solutions are supported. #223
- Feat: Added retry_count and retry_delay config #218
- Added ability to specify ONEZONE_IA as storage_class
- Added clarification for endpoint in documentation #198
- Added configuration information for multiple s3 outputs to documentation #196
- Fixed formatting problems and typographical errors #194, #201, and #204
- Add support for setting mutipart upload threshold #202
- Fixed issue where on restart, 0 byte files could erroneously be uploaded to s3 #195
- Fixed leak of file handles that prevented temporary files from being cleaned up before pipeline restart #190
- Fixed bucket validation failures when bucket policy requires encryption #191
- #185 Internal: Revert rake pinning to fix upstream builds
- #181 Docs: Fix incorrect characterization of parameters as
required
in example configuration. - #184 Internal: Pin rake version for jruby-1.7 compatibility
- Symbolize hash keys for additional_settings hash #179
- Docs: Set the default_codec doc attribute.
- Add documentation for endpoint, role_arn and role_session_name #174
- Add option for additional settings #173
- Add more S3 bucket ACLs #158
- Handle file not found exception on S3 upload #144
- Document prefix interpolation #154
- Update gemspec summary
- Fix bug where output would fail if the s3 bucket had encryption enabled (#146, #155)
- Fixed a randomly occurring error that logged as a missing
__jcreate_meta
method
- Fix some documentation issues
- Correct issue that allows to run on Ruby 9k. #150
- Documentation changes
- Fix:
#restore_from_crash
should use the same upload options as the normal uploader. #140 - Fix: Wrongly named
canned_acl
options, renamed to "public-read", "public-read-write", "authenticated-read", from the documentation http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
- Fix: Use the right
signature_version
for the SDK v2 #129 - Fix an issue to prevent the output to upload empty file to S3 #128
- Docs: Update the doc to show the new format of the remote file #126
- Delete the file on disk after they are succesfully uploaded to S3 #122 #120
- Added logging when an exception occur in the Uploader's
on_complete
callback
- Add support for
storage_class
configuration - Fix compatibility with Logstash 2.4
- Add support for
aws:kms
server side encryption #104
- When configuring the
canned_acl
options of the plugins the role was not applied correctly to the created object: #7
- Fixed AWS authentication when using instance profile credentials.
- Improved Error logging for S3 validation. Now specific S3 perms errors are logged
- This version is a complete rewrite over version 3.0.0 See #103
- This Plugin now uses the V2 version of the SDK, this make sure we receive the latest updates and changes.
- We now uses S3's
upload_file
instead of reading chunks, this method is more efficient and will uses the multipart with threads if the files is too big. - You can now use the
fieldref
syntax in the prefix to dynamically changes the target with the events it receives. - The Upload queue is now a bounded list, this options is necessary to allow back pressure to be communicated back to the pipeline but its configurable by the user.
- If the queue is full the plugin will start the upload in the current thread.
- The plugin now threadsafe and support the concurrency model
shared
- The rotation strategy can be selected, the recommended is
size_and_time
that will check for both the configured limits (size
andtime
are also available) - The
restore
option will now use a separate threadpool with an unbounded queue - The
restore
option will not block the launch of logstash and will uses less resources than the real time path - The plugin now uses
multi_receive_encode
, this will optimize the writes to the files - rotate operation are now batched to reduce the number of IO calls.
- Empty file will not be uploaded by any rotation rotation strategy
- We now use Concurrent-Ruby for the implementation of the java executor
- If you have finer grain permission on prefixes or want faster boot, you can disable the credentials check with
validate_credentials_on_root_bucket
- The credentials check will no longer fails if we can't delete the file
- We now have a full suite of integration test for all the defined rotation
Fixes: #4 #81 #44 #59 #50
- Move to the new concurrency model
:single
- use correct license identifier #99
- add support for
bucket_owner_full_control
in the canned ACL #87 - delete the test file but ignore any errors, because we actually only need to be able to write to S3. #97
- Fix improper shutdown of output worker threads
- improve exception handling
- Republish all the gems under jruby.
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See elastic/logstash#5141
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
- New dependency requirements for logstash-core for the 5.0 release
- Support signature_version option for v4 S3 keys
- Remove the
Time.now
stub in the spec, it was conflicting with other test when running inside the default plugins test #63 - Make the spec run faster by adjusting the values of time rotation test.
- Update deps for logstash 2.0
- Fixes an issue when tags were defined #39
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully, instead of using Thread.raise on the plugins' threads. Ref: elastic/logstash#3895
- Dependency on logstash-core update to 2.0
- Fix a synchronization issue when doing file rotation and checking the size of the current file
- Fix an issue with synchronization when shutting down the plugin and closing the current temp file