logstash-output-awslogs 0.1.16 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c577058c259721be2a675d37b9eb6e037a36dae7
4
- data.tar.gz: f62c2a74881102405d25040918d01e39c070afa4
2
+ SHA256:
3
+ metadata.gz: 583b99ac1c82f6ce8a4062c69e3c5573ee4423c367a50c17ab22f74a7c0a5f94
4
+ data.tar.gz: 77dc1748568954518bc4086b5fa4d9b9f30060d2741a4cab129c63485083a3f7
5
5
  SHA512:
6
- metadata.gz: ec0c812db998e77cf5b3a10c4e7f3fb8bd25b2e164b31cab55c2deaca192056c9649ff6ce506f26a776b8654d8a2f13caf628743fe00d5efa2f639fb13eda0bb
7
- data.tar.gz: 202ef2989f32eb07307c15403e191ce4c922a16f4b0e51190f80677a708763e6a04f4658c7669afa987262b758d5abcac9a5e97a1ec0a244d8e0649116f18ebc
6
+ metadata.gz: d06f504f05c63fbf005395730b2a00c87b82a68c904875997bda8ddfa4ec669ec4a4acc6eae864c64ca4e49cd56d477c1c119f574d4bec3f06a7ee6bd05abfd1
7
+ data.tar.gz: 801d5a4a3b8c20edd00f5e7d356f7ac2a0fcafa38a055919ef92f8665d7067dce8ed6e0a1074fe16539770ea8b9ffce7a83538e27a5171e9cff2418a206e4079
data/Gemfile CHANGED
@@ -1,3 +1,2 @@
1
1
  source 'https://rubygems.org'
2
- gemspec
3
- gem "logstash", :github => "elastic/logstash", :branch => "6.4"
2
+ gemspec
@@ -44,29 +44,36 @@ class LogStash::Outputs::Awslogs < LogStash::Outputs::Base
44
44
  )
45
45
  end
46
46
 
47
+ group_names = []
47
48
  to_send.each do |event_log_names, _events|
48
49
  event_log_group_name = event_log_names[0]
49
- next if sequence_tokens.keys.include? event_log_group_name
50
+ unless group_names.include? event_log_group_name
51
+ group_names.push(event_log_group_name)
52
+ end
53
+ end
50
54
 
51
- sequence_tokens.store(event_log_group_name, {})
55
+ group_names.each do |log_group_name|
56
+ unless sequence_tokens.keys.include? log_group_name
57
+ sequence_tokens.store(log_group_name, {})
58
+ end
52
59
  begin
53
- @client.describe_log_streams(log_group_name: event_log_group_name).each do |response|
60
+ @client.describe_log_streams({log_group_name: log_group_name}).each do |response|
54
61
  response.log_streams.each do |log_stream_data|
55
- sequence_tokens[event_log_group_name][log_stream_data.log_stream_name.to_s] = log_stream_data.upload_sequence_token.to_s
62
+ unless log_stream_data.upload_sequence_token&.empty?
63
+ sequence_tokens[log_group_name][log_stream_data.log_stream_name.to_s] = log_stream_data.upload_sequence_token.to_s
64
+ end
56
65
  end
57
66
  end
58
67
  rescue Aws::CloudWatchLogs::Errors::ResourceNotFoundException => e
59
- @logger.info('Will create log group/stream and retry')
68
+ @logger.info("Will create log group #{log_group_name} and retry")
60
69
  begin
61
- @client.create_log_group(log_group_name: event_log_group_name)
70
+ @client.create_log_group({log_group_name: log_group_name})
62
71
  rescue Aws::CloudWatchLogs::Errors::ResourceAlreadyExistsException => e
63
- @logger.info("Log group #{event_log_group_name} already exists")
64
- rescue Exception => e
65
- @logger.error(e)
72
+ @logger.info("Log group #{log_group_name} already exists")
66
73
  end
67
74
  retry
68
75
  rescue Aws::CloudWatchLogs::Errors::ThrottlingException => e
69
- @logger.info('Logs throttling, retry')
76
+ @logger.info('Describe streams throttling, retry')
70
77
  retry
71
78
  end
72
79
  end
@@ -86,7 +93,7 @@ class LogStash::Outputs::Awslogs < LogStash::Outputs::Base
86
93
 
87
94
  if @next_sequence_tokens.keys.include? next_sequence_token_key
88
95
  send_opts[:sequence_token] = @next_sequence_tokens[next_sequence_token_key]
89
- elsif sequence_tokens[event_log_group_name].keys.include? event_log_stream_name
96
+ elsif !sequence_tokens[event_log_group_name][event_log_stream_name]&.empty?
90
97
  send_opts[:sequence_token] = sequence_tokens[event_log_group_name][event_log_stream_name]
91
98
  else
92
99
  begin
@@ -94,23 +101,21 @@ class LogStash::Outputs::Awslogs < LogStash::Outputs::Base
94
101
  rescue Aws::CloudWatchLogs::Errors::ResourceNotFoundException => e
95
102
  @logger.info('Will create log group/stream and retry')
96
103
  begin
97
- @client.create_log_group(log_group_name: send_opts[:log_group_name])
104
+ @client.create_log_group({log_group_name: send_opts[:log_group_name]})
98
105
  rescue Aws::CloudWatchLogs::Errors::ResourceAlreadyExistsException => e
99
106
  @logger.info("Log group #{send_opts[:log_group_name]} already exists")
100
- rescue Exception => e
101
- @logger.error(e)
102
107
  end
103
108
  begin
104
- @client.create_log_stream(log_group_name: send_opts[:log_group_name], log_stream_name: send_opts[:log_stream_name])
109
+ @client.create_log_stream({log_group_name: send_opts[:log_group_name], log_stream_name: send_opts[:log_stream_name]})
105
110
  rescue Aws::CloudWatchLogs::Errors::ResourceAlreadyExistsException => e
106
111
  @logger.info("Log stream #{send_opts[:log_stream_name]} already exists")
107
- rescue Exception => e
108
- @logger.error(e)
109
112
  end
110
113
  retry
111
114
  rescue Aws::CloudWatchLogs::Errors::ThrottlingException => e
112
- @logger.info('Logs throttling, retry')
115
+ @logger.info('Creating log streams throttling, retry')
113
116
  retry
117
+ rescue Aws::CloudWatchLogs::Errors::ResourceAlreadyExistsException => e
118
+ @logger.info("Log stream #{send_opts[:log_stream_name]} already exists")
114
119
  end
115
120
  end
116
121
  begin
@@ -119,26 +124,20 @@ class LogStash::Outputs::Awslogs < LogStash::Outputs::Base
119
124
  rescue Aws::CloudWatchLogs::Errors::ResourceNotFoundException => e
120
125
  @logger.info('Will create log group/stream and retry')
121
126
  begin
122
- @client.create_log_group(log_group_name: send_opts[:log_group_name])
127
+ @client.create_log_group({log_group_name: send_opts[:log_group_name]})
123
128
  rescue Aws::CloudWatchLogs::Errors::ResourceAlreadyExistsException => e
124
129
  @logger.info("Log group #{send_opts[:log_group_name]} already exists")
125
- rescue Exception => e
126
- @logger.error(e)
127
130
  end
128
131
  begin
129
- @client.create_log_stream(log_group_name: send_opts[:log_group_name], log_stream_name: send_opts[:log_stream_name])
132
+ @client.create_log_stream({log_group_name: send_opts[:log_group_name], log_stream_name: send_opts[:log_stream_name]})
130
133
  rescue Aws::CloudWatchLogs::Errors::ResourceAlreadyExistsException => e
131
134
  @logger.info("Log stream #{send_opts[:log_stream_name]} already exists")
132
- rescue Exception => e
133
- @logger.error(e)
134
135
  end
135
136
  retry
136
137
  # TODO: handle rejected events with debug message
137
138
  rescue Aws::CloudWatchLogs::Errors::ThrottlingException => e
138
139
  @logger.info('Logs throttling, retry')
139
140
  retry
140
- rescue Exception => e
141
- @logger.error(e)
142
141
  end
143
142
  end
144
143
  end # def multi_receive_encoded
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-awslogs'
3
- s.version = '0.1.16'
3
+ s.version = '0.1.21'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = 'Writes events to AWS CloudWatch logs.'
6
6
  s.homepage = 'https://github.com/rickycook/logstash-output-awslogs'
@@ -21,4 +21,5 @@ Gem::Specification.new do |s|
21
21
  s.add_runtime_dependency "logstash-codec-plain"
22
22
  s.add_runtime_dependency 'logstash-mixin-aws', '>= 4.3.0'
23
23
  s.add_development_dependency "logstash-devutils"
24
+ s.add_development_dependency "aws-sdk-cloudwatchlogs"
24
25
  end
metadata CHANGED
@@ -1,72 +1,86 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-awslogs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Klyba
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: logstash-core-plugin-api
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
18
  version: '2.0'
20
- type: :runtime
19
+ name: logstash-core-plugin-api
21
20
  prerelease: false
21
+ type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: logstash-codec-plain
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
32
  version: '0'
34
- type: :runtime
33
+ name: logstash-codec-plain
35
34
  prerelease: false
35
+ type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: logstash-mixin-aws
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
46
  version: 4.3.0
48
- type: :runtime
47
+ name: logstash-mixin-aws
49
48
  prerelease: false
49
+ type: :runtime
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 4.3.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: logstash-devutils
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - ">="
60
59
  - !ruby/object:Gem::Version
61
60
  version: '0'
61
+ name: logstash-devutils
62
+ prerelease: false
62
63
  type: :development
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ name: aws-sdk-cloudwatchlogs
63
76
  prerelease: false
77
+ type: :development
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
- description:
83
+ description:
70
84
  email: anarhyst266+gems@gmail.com
71
85
  executables: []
72
86
  extensions: []
@@ -86,7 +100,7 @@ licenses:
86
100
  metadata:
87
101
  logstash_plugin: 'true'
88
102
  logstash_group: output
89
- post_install_message:
103
+ post_install_message:
90
104
  rdoc_options: []
91
105
  require_paths:
92
106
  - lib
@@ -101,9 +115,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
115
  - !ruby/object:Gem::Version
102
116
  version: '0'
103
117
  requirements: []
104
- rubyforge_project:
105
- rubygems_version: 2.5.2.3
106
- signing_key:
118
+ rubyforge_project:
119
+ rubygems_version: 2.6.11
120
+ signing_key:
107
121
  specification_version: 4
108
122
  summary: Writes events to AWS CloudWatch logs.
109
123
  test_files: []