logstash-input-cloudwatch_logs 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -1
- data/lib/logstash/inputs/cloudwatch_logs.rb +20 -7
- data/logstash-input-cloudwatch_logs.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46906c7db7628771d3487566ba11d1987e05aa29
|
4
|
+
data.tar.gz: 5410ad160767b02f7390069b6461d937b51b789c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe06db80935feed58856787ed6ef888ce566b5a3ff340cf0c7fe2e3db602db072ab6a83349b41a6d011bd06a62db931e809438876397bc0571d1b553e895761e
|
7
|
+
data.tar.gz: a47d4a612dae319daf23a1b30a5ece6c00e2ea2dec6e041806629687c8d15b1bf9da3be4ca86ce02946de4fc8ecdfafede89a9fe113607a4c6e709629c9d5005
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [v1.0.1] (2017-08-22)
|
9
|
+
|
10
|
+
### Fixed
|
11
|
+
* Handle rate limiting when making requests to the CWL apis ([#32](https://github.com/lukewaite/logstash-input-cloudwatch-logs/pull/32))
|
12
|
+
|
8
13
|
## [v1.0.0] (2017-07-15)
|
9
14
|
|
10
15
|
### Added
|
@@ -18,5 +23,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
18
23
|
* Pull only log_events since last ingestion (Fixes [#10](https://github.com/lukewaite/logstash-input-cloudwatch-logs/issues/10))
|
19
24
|
* Incrementally write to since_db on each page of data from the CWL API (Fixes [#4](https://github.com/lukewaite/logstash-input-cloudwatch-logs/issues/4))
|
20
25
|
|
21
|
-
[Unreleased]: https://github.com/lukewaite/logstash-input-cloudwatch-logs/compare/v1.0.
|
26
|
+
[Unreleased]: https://github.com/lukewaite/logstash-input-cloudwatch-logs/compare/v1.0.1...HEAD
|
27
|
+
[v1.0.1]: https://github.com/lukewaite/logstash-input-cloudwatch-logs/compare/v0.1.0.0...v1.0.1
|
22
28
|
[v1.0.0]: https://github.com/lukewaite/logstash-input-cloudwatch-logs/compare/v0.10.3...v1.0.0
|
@@ -110,16 +110,21 @@ class LogStash::Inputs::CloudWatch_Logs < LogStash::Inputs::Base
|
|
110
110
|
public
|
111
111
|
def run(queue)
|
112
112
|
@queue = queue
|
113
|
+
@priority = []
|
113
114
|
_sincedb_open
|
114
115
|
determine_start_position(find_log_groups)
|
115
116
|
|
116
117
|
while !stop?
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
118
|
+
begin
|
119
|
+
groups = find_log_groups
|
120
|
+
|
121
|
+
groups.each do |group|
|
122
|
+
@logger.debug("calling process_group on #{group}")
|
123
|
+
process_group(group)
|
124
|
+
end # groups.each
|
125
|
+
rescue Aws::CloudWatchLogs::Errors::ThrottlingException
|
126
|
+
@logger.debug("reached rate limit")
|
127
|
+
end
|
123
128
|
|
124
129
|
Stud.stoppable_sleep(@interval) { stop? }
|
125
130
|
end
|
@@ -144,9 +149,15 @@ class LogStash::Inputs::CloudWatch_Logs < LogStash::Inputs::Base
|
|
144
149
|
@logger.debug("log_group_prefix not enabled")
|
145
150
|
groups = @log_group
|
146
151
|
end
|
147
|
-
groups
|
152
|
+
# Move the most recent groups to the end
|
153
|
+
groups.sort{|a,b| priority_of(a) <=> priority_of(b) }
|
148
154
|
end # def find_log_groups
|
149
155
|
|
156
|
+
private
|
157
|
+
def priority_of(group)
|
158
|
+
@priority.index(group) || -1
|
159
|
+
end
|
160
|
+
|
150
161
|
public
|
151
162
|
def determine_start_position(groups)
|
152
163
|
groups.each do |group|
|
@@ -189,6 +200,8 @@ class LogStash::Inputs::CloudWatch_Logs < LogStash::Inputs::Base
|
|
189
200
|
next_token = resp.next_token
|
190
201
|
break if next_token.nil?
|
191
202
|
end
|
203
|
+
@priority.delete(group)
|
204
|
+
@priority << group
|
192
205
|
end #def process_group
|
193
206
|
|
194
207
|
# def process_log
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-input-cloudwatch_logs'
|
4
|
-
s.version = '1.0.
|
4
|
+
s.version = '1.0.1'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = 'Stream events from CloudWatch Logs.'
|
7
7
|
s.description = 'This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-cloudwatch_logs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Waite
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|