fluent-plugin-cloudwatch-logs 0.13.4 → 0.14.0
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/.github/workflows/linux.yml +1 -1
- data/.github/workflows/windows.yml +1 -1
- data/README.md +8 -2
- data/fluent-plugin-cloudwatch-logs.gemspec +1 -0
- data/lib/fluent/plugin/cloudwatch/logs/version.rb +1 -1
- data/lib/fluent/plugin/in_cloudwatch_logs.rb +12 -1
- data/lib/fluent/plugin/out_cloudwatch_logs.rb +7 -1
- metadata +17 -4
- data/.travis.yml +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ecdab23fc3b9c43ff71a49331694a6f9f88b0a7a27c70259b1a5b4c55894744d
|
4
|
+
data.tar.gz: 4197f274338c7134601dccfbb3e56b8672923b602f59e8fccc2d3ed43c9e4c6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 228c5d942bba9b410f926136c59a5ad65482580d67076f8703e5dbf7b1cd778beb447b2c175d07c20d20616a2dad8d74607db2665393387edda0e534a7da8362
|
7
|
+
data.tar.gz: 6e3cd9935e8c64b390877240a18175d8b1dd0ea3df34300658ebe66df22d728e0a45beba10ac8cbc63f9159d5a725abedcd4f62cdd7b244bd5c25e17a812153a
|
data/.github/workflows/linux.yml
CHANGED
data/README.md
CHANGED
@@ -16,10 +16,18 @@
|
|
16
16
|
|
17
17
|
## Installation
|
18
18
|
|
19
|
+
### For Fluentd
|
20
|
+
|
19
21
|
```sh
|
20
22
|
gem install fluent-plugin-cloudwatch-logs
|
21
23
|
```
|
22
24
|
|
25
|
+
### For td-agent
|
26
|
+
|
27
|
+
```sh
|
28
|
+
td-agent-gem install fluent-plugin-cloudwatch-logs
|
29
|
+
```
|
30
|
+
|
23
31
|
## Preparation
|
24
32
|
|
25
33
|
Create IAM user with a policy like the following:
|
@@ -444,10 +452,8 @@ In more detail, please refer to [the officilal document for built-in placeholder
|
|
444
452
|
|
445
453
|
* out_cloudwatch_logs
|
446
454
|
* if the data is too big for API, split into multiple requests
|
447
|
-
* format
|
448
455
|
* check data size
|
449
456
|
* in_cloudwatch_logs
|
450
|
-
* format
|
451
457
|
* fallback to start_time because next_token expires after 24 hours
|
452
458
|
|
453
459
|
## Contributing
|
@@ -17,6 +17,9 @@ module Fluent::Plugin
|
|
17
17
|
config_param :aws_use_sts, :bool, default: false
|
18
18
|
config_param :aws_sts_role_arn, :string, default: nil
|
19
19
|
config_param :aws_sts_session_name, :string, default: 'fluentd'
|
20
|
+
config_param :aws_sts_external_id, :string, default: nil
|
21
|
+
config_param :aws_sts_policy, :string, default: nil
|
22
|
+
config_param :aws_sts_duration_seconds, :time, default: nil
|
20
23
|
config_param :aws_sts_endpoint_url, :string, default: nil
|
21
24
|
config_param :region, :string, default: nil
|
22
25
|
config_param :endpoint, :string, default: nil
|
@@ -88,7 +91,10 @@ module Fluent::Plugin
|
|
88
91
|
Aws.config[:region] = options[:region]
|
89
92
|
credentials_options = {
|
90
93
|
role_arn: @aws_sts_role_arn,
|
91
|
-
role_session_name: @aws_sts_session_name
|
94
|
+
role_session_name: @aws_sts_session_name,
|
95
|
+
external_id: @aws_sts_external_id,
|
96
|
+
policy: @aws_sts_policy,
|
97
|
+
duration_seconds: @aws_sts_duration_seconds
|
92
98
|
}
|
93
99
|
credentials_options[:sts_endpoint_url] = @aws_sts_endpoint_url if @aws_sts_endpoint_url
|
94
100
|
if @region and @aws_sts_endpoint_url
|
@@ -272,6 +278,7 @@ module Fluent::Plugin
|
|
272
278
|
log_next_token = next_token(log_stream_name)
|
273
279
|
end
|
274
280
|
request[:next_token] = log_next_token if !log_next_token.nil? && !log_next_token.empty?
|
281
|
+
request[:start_from_head] = true if read_from_head?(log_next_token)
|
275
282
|
response = @logs.get_log_events(request)
|
276
283
|
if valid_next_token(log_next_token, response.next_forward_token)
|
277
284
|
if @use_log_group_name_prefix
|
@@ -285,6 +292,10 @@ module Fluent::Plugin
|
|
285
292
|
end
|
286
293
|
end
|
287
294
|
|
295
|
+
def read_from_head?(next_token)
|
296
|
+
(!next_token.nil? && !next_token.empty?) || @start_time || @end_time
|
297
|
+
end
|
298
|
+
|
288
299
|
def describe_log_streams(log_stream_name_prefix, log_streams = nil, next_token = nil, log_group_name=nil)
|
289
300
|
throttling_handler('describe_log_streams') do
|
290
301
|
request = {
|
@@ -19,6 +19,9 @@ module Fluent::Plugin
|
|
19
19
|
config_param :aws_use_sts, :bool, default: false
|
20
20
|
config_param :aws_sts_role_arn, :string, default: nil
|
21
21
|
config_param :aws_sts_session_name, :string, default: 'fluentd'
|
22
|
+
config_param :aws_sts_external_id, :string, default: nil
|
23
|
+
config_param :aws_sts_policy, :string, default: nil
|
24
|
+
config_param :aws_sts_duration_seconds, :time, default: nil
|
22
25
|
config_param :aws_sts_endpoint_url, :string, default: nil
|
23
26
|
config_param :region, :string, :default => nil
|
24
27
|
config_param :endpoint, :string, :default => nil
|
@@ -123,7 +126,10 @@ module Fluent::Plugin
|
|
123
126
|
Aws.config[:region] = options[:region]
|
124
127
|
credentials_options = {
|
125
128
|
role_arn: @aws_sts_role_arn,
|
126
|
-
role_session_name: @aws_sts_session_name
|
129
|
+
role_session_name: @aws_sts_session_name,
|
130
|
+
external_id: @aws_sts_external_id,
|
131
|
+
policy: @aws_sts_policy,
|
132
|
+
duration_seconds: @aws_sts_duration_seconds
|
127
133
|
}
|
128
134
|
credentials_options[:sts_endpoint_url] = @aws_sts_endpoint_url if @aws_sts_endpoint_url
|
129
135
|
if @region and @aws_sts_endpoint_url
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-cloudwatch-logs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryota Arai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: nokogiri
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
description:
|
112
126
|
email:
|
113
127
|
- ryota.arai@gmail.com
|
@@ -119,7 +133,6 @@ files:
|
|
119
133
|
- ".github/workflows/linux.yml"
|
120
134
|
- ".github/workflows/windows.yml"
|
121
135
|
- ".gitignore"
|
122
|
-
- ".travis.yml"
|
123
136
|
- Gemfile
|
124
137
|
- ISSUE_TEMPLATE.md
|
125
138
|
- LICENSE.txt
|
@@ -153,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
166
|
- !ruby/object:Gem::Version
|
154
167
|
version: '0'
|
155
168
|
requirements: []
|
156
|
-
rubygems_version: 3.
|
169
|
+
rubygems_version: 3.2.15
|
157
170
|
signing_key:
|
158
171
|
specification_version: 4
|
159
172
|
summary: CloudWatch Logs Plugin for Fluentd
|