logstash-input-cloudwatch 0.2.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +65 -76
- data/lib/logstash/inputs/cloudwatch.rb +142 -101
- data/logstash-input-cloudwatch.gemspec +1 -1
- metadata +48 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 065821490816976049e132fd6832e0ec764c5add
|
4
|
+
data.tar.gz: d307bc4381dfc82a4e2c988c521ee39a24a0a52a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2baaac13f86b6872818c9b455ec5c1390dc9fe6a68e26e0318bb08b975ccb5bcab3617b4b43fe1e7e75c316a135be0afbbb880511519147652ccb915e1f67338
|
7
|
+
data.tar.gz: eb332ecaaee1c366c2b374f6641313518e88bf37cdfb15b0ffecf13fd60a383edd1af033c3f4a2c066c726f17825590b820fc244442c07820d2b5ef586a9de9c
|
data/README.md
CHANGED
@@ -1,86 +1,75 @@
|
|
1
|
-
# Logstash
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
1
|
+
# Logstash CloudWatch Input Plugins
|
2
|
+
|
3
|
+
Pull events from the Amazon Web Services CloudWatch API.
|
4
|
+
|
5
|
+
To use this plugin, you *must* have an AWS account, and the following policy:
|
6
|
+
|
7
|
+
```json
|
8
|
+
{
|
9
|
+
"Version": "2012-10-17",
|
10
|
+
"Statement": [
|
11
|
+
{
|
12
|
+
"Sid": "Stmt1444715676000",
|
13
|
+
"Effect": "Allow",
|
14
|
+
"Action": [
|
15
|
+
"cloudwatch:GetMetricStatistics",
|
16
|
+
"cloudwatch:ListMetrics"
|
17
|
+
],
|
18
|
+
"Resource": "*"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"Sid": "Stmt1444716576170",
|
22
|
+
"Effect": "Allow",
|
23
|
+
"Action": [
|
24
|
+
"ec2:DescribeInstances"
|
25
|
+
],
|
26
|
+
"Resource": "*"
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
30
|
```
|
31
31
|
|
32
|
-
|
32
|
+
See the [IAM][3] section on AWS for more details on setting up AWS identities.
|
33
33
|
|
34
|
-
|
34
|
+
## Supported Namespaces
|
35
35
|
|
36
|
-
|
37
|
-
bundle install
|
38
|
-
```
|
36
|
+
Unfortunately it's not possible to create a "one shoe fits all" solution for fetching metrics from AWS. We need to specifically add support for every namespace. This takes time so we'll be adding support for namespaces as the requests for them come in and we get time to do it. Please check the [`metric support`][1] issues for already requested namespaces, and add your request if it's not there yet.
|
39
37
|
|
40
|
-
|
38
|
+
## Configuration
|
41
39
|
|
42
|
-
|
43
|
-
|
44
|
-
```
|
45
|
-
|
46
|
-
### 2. Running your unpublished Plugin in Logstash
|
47
|
-
|
48
|
-
#### 2.1 Run in a local Logstash clone
|
49
|
-
|
50
|
-
- Edit Logstash `Gemfile` and add the local plugin path, for example:
|
40
|
+
Just note that the below configuration doesn't contain the AWS API access information.
|
41
|
+
|
51
42
|
```ruby
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
43
|
+
input {
|
44
|
+
cloudwatch {
|
45
|
+
namespace => "AWS/EC2"
|
46
|
+
metrics => [ "CPUUtilization" ]
|
47
|
+
filters => { "tag:Monitoring" => "Yes" }
|
48
|
+
region => "us-east-1"
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
input {
|
53
|
+
cloudwatch {
|
54
|
+
namespace => "AWS/EBS"
|
55
|
+
metrics => ["VolumeQueueLength"]
|
56
|
+
filters => { "tag:Monitoring" => "Yes" }
|
57
|
+
region => "us-east-1"
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
input {
|
62
|
+
cloudwatch {
|
63
|
+
namespace => "AWS/RDS"
|
64
|
+
metrics => ["CPUUtilization", "CPUCreditUsage"]
|
65
|
+
filters => { "EngineName" => "mysql" } # Only supports EngineName, DatabaseClass and DBInstanceIdentifier
|
66
|
+
region => "us-east-1"
|
67
|
+
}
|
68
|
+
}
|
57
69
|
```
|
58
|
-
- Run Logstash with your plugin
|
59
|
-
```sh
|
60
|
-
bin/logstash -e 'filter {awesome {}}'
|
61
|
-
```
|
62
|
-
At this point any modifications to the plugin code will be applied to this local Logstash setup. After modifying the plugin, simply rerun Logstash.
|
63
|
-
|
64
|
-
#### 2.2 Run in an installed Logstash
|
65
|
-
|
66
|
-
You can use the same **2.1** method to run your plugin in an installed Logstash by editing its `Gemfile` and pointing the `:path` to your local plugin development directory or you can build the gem and install it using:
|
67
|
-
|
68
|
-
- Build your plugin gem
|
69
|
-
```sh
|
70
|
-
gem build logstash-filter-awesome.gemspec
|
71
|
-
```
|
72
|
-
- Install the plugin from the Logstash home
|
73
|
-
```sh
|
74
|
-
bin/plugin install /your/local/plugin/logstash-filter-awesome.gem
|
75
|
-
```
|
76
|
-
- Start Logstash and proceed to test the plugin
|
77
|
-
|
78
|
-
## Contributing
|
79
|
-
|
80
|
-
All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.
|
81
|
-
|
82
|
-
Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.
|
83
70
|
|
84
|
-
|
71
|
+
See AWS Developer Guide for more information on [namespaces and metrics][2].
|
85
72
|
|
86
|
-
|
73
|
+
[1]: https://github.com/EagerELK/logstash-input-cloudwatch/labels/metric%20support
|
74
|
+
[2]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html
|
75
|
+
[3]: http://aws.amazon.com/iam/
|
@@ -8,12 +8,10 @@ require "stud/interval"
|
|
8
8
|
|
9
9
|
# Pull events from the Amazon Web Services CloudWatch API.
|
10
10
|
#
|
11
|
-
# CloudWatch provides various metrics on EC2, EBS and SNS.
|
12
|
-
#
|
13
11
|
# To use this plugin, you *must* have an AWS account, and the following policy
|
14
12
|
#
|
15
13
|
# Typically, you should setup an IAM policy, create a user and apply the IAM policy to the user.
|
16
|
-
# A sample policy is as follows:
|
14
|
+
# A sample policy for EC2 metrics is as follows:
|
17
15
|
# [source,json]
|
18
16
|
# {
|
19
17
|
# "Version": "2012-10-17",
|
@@ -40,6 +38,35 @@ require "stud/interval"
|
|
40
38
|
#
|
41
39
|
# See http://aws.amazon.com/iam/ for more details on setting up AWS identities.
|
42
40
|
#
|
41
|
+
# # Configuration Example
|
42
|
+
# [source, ruby]
|
43
|
+
# input {
|
44
|
+
# cloudwatch {
|
45
|
+
# namespace => "AWS/EC2"
|
46
|
+
# metrics => [ "CPUUtilization" ]
|
47
|
+
# filters => { "tag:Group" => "API-Production" }
|
48
|
+
# region => "us-east-1"
|
49
|
+
# }
|
50
|
+
# }
|
51
|
+
#
|
52
|
+
# input {
|
53
|
+
# cloudwatch {
|
54
|
+
# namespace => "AWS/EBS"
|
55
|
+
# metrics => ["VolumeQueueLength"]
|
56
|
+
# filters => { "tag:Monitoring" => "Yes" }
|
57
|
+
# region => "us-east-1"
|
58
|
+
# }
|
59
|
+
# }
|
60
|
+
#
|
61
|
+
# input {
|
62
|
+
# cloudwatch {
|
63
|
+
# namespace => "AWS/RDS"
|
64
|
+
# metrics => ["CPUUtilization", "CPUCreditUsage"]
|
65
|
+
# filters => { "EngineName" => "mysql" } # Only supports EngineName, DatabaseClass and DBInstanceIdentifier
|
66
|
+
# region => "us-east-1"
|
67
|
+
# }
|
68
|
+
# }
|
69
|
+
#
|
43
70
|
|
44
71
|
class LogStash::Inputs::CloudWatch < LogStash::Inputs::Base
|
45
72
|
include LogStash::PluginMixins::AwsConfig
|
@@ -49,6 +76,19 @@ class LogStash::Inputs::CloudWatch < LogStash::Inputs::Base
|
|
49
76
|
# If undefined, LogStash will complain, even if codec is unused.
|
50
77
|
default :codec, "json"
|
51
78
|
|
79
|
+
# The service namespace of the metrics to fetch.
|
80
|
+
#
|
81
|
+
# The default is for the EC2 service. See http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html
|
82
|
+
# for valid values.
|
83
|
+
config :namespace, :validate => :string, :default => 'AWS/EC2'
|
84
|
+
|
85
|
+
# Specify the metrics to fetch for the namespace. The defaults are AWS/EC2 specific. See http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html
|
86
|
+
# for the available metrics for other namespaces.
|
87
|
+
config :metrics, :validate => :array, :default => [ 'CPUUtilization', 'DiskReadOps', 'DiskWriteOps', 'NetworkIn', 'NetworkOut' ]
|
88
|
+
|
89
|
+
# Specify the statistics to fetch for each namespace
|
90
|
+
config :statistics, :validate => :array, :default => [ 'SampleCount', 'Average', 'Minimum', 'Maximum', 'Sum' ]
|
91
|
+
|
52
92
|
# Set how frequently CloudWatch should be queried
|
53
93
|
#
|
54
94
|
# The default, `900`, means check every 15 minutes. Setting this value too low
|
@@ -58,44 +98,17 @@ class LogStash::Inputs::CloudWatch < LogStash::Inputs::Base
|
|
58
98
|
# Set the granularity of the returned datapoints.
|
59
99
|
#
|
60
100
|
# Must be at least 60 seconds and in multiples of 60.
|
61
|
-
config :period, :validate => :number, :default => 60
|
101
|
+
config :period, :validate => :number, :default => (60 * 5)
|
62
102
|
|
63
|
-
#
|
103
|
+
# Specify the filters to apply when fetching resources:
|
64
104
|
#
|
65
|
-
#
|
66
|
-
# '
|
67
|
-
|
68
|
-
|
69
|
-
#
|
70
|
-
#
|
71
|
-
|
72
|
-
# `tag_values`. The `instances` setting takes precedence.
|
73
|
-
config :instances, :validate => :array
|
74
|
-
|
75
|
-
# Specify which tag to use when determining what instances to fetch metrics for
|
76
|
-
#
|
77
|
-
# You need to specify `tag_values` when using this setting. The `instances` setting
|
78
|
-
# takes precedence.
|
79
|
-
config :tag_name, :validate => :string
|
80
|
-
|
81
|
-
# Specify which tag value to check when determining what instances to fetch metrics for
|
82
|
-
#
|
83
|
-
# You need to specify `tag_name` when using this setting. The `instances` setting
|
84
|
-
# takes precedence.
|
85
|
-
config :tag_values, :validate => :array
|
86
|
-
|
87
|
-
# Set how frequently the available instances should be refreshed. Making it less
|
88
|
-
# than `interval` doesn't really make sense. This cannot be used along with the
|
89
|
-
# `instances` setting.
|
90
|
-
#
|
91
|
-
# The default, -1, means never refresh
|
92
|
-
config :instance_refresh, :validate => :number, :default => -1
|
93
|
-
|
94
|
-
# Specify the metrics to fetch for each instance
|
95
|
-
config :metrics, :validate => :array, :default => [ 'CPUUtilization', 'DiskReadOps', 'DiskWriteOps', 'NetworkIn', 'NetworkOut' ]
|
96
|
-
|
97
|
-
# Specify the statistics to fetch for each metric
|
98
|
-
config :statistics, :validate => :array, :default => [ 'SampleCount', 'Average', 'Minimum', 'Maximum', 'Sum' ]
|
105
|
+
# This needs to follow the AWS convention of specifiying filters.
|
106
|
+
# Instances: { 'instance-id' => 'i-12344321' }
|
107
|
+
# Tags: { "tag:Environment" => "Production" }
|
108
|
+
# Volumes: { 'attachment.status' => 'attached' }
|
109
|
+
# Each namespace uniquely support certian dimensions. Please consult the documentation
|
110
|
+
# to ensure you're using valid filters.
|
111
|
+
config :filters, :validate => :array
|
99
112
|
|
100
113
|
public
|
101
114
|
def aws_service_endpoint(region)
|
@@ -107,76 +120,79 @@ class LogStash::Inputs::CloudWatch < LogStash::Inputs::Base
|
|
107
120
|
require "aws-sdk"
|
108
121
|
AWS.config(:logger => @logger)
|
109
122
|
|
110
|
-
|
111
|
-
|
112
|
-
raise LogStash::ConfigurationError, 'Should not specify both `tag_name` and `instances`' unless @tag_name.nil?
|
113
|
-
raise LogStash::ConfigurationError, 'Should not specify both `tag_values` and `instances`' unless @tag_values.nil?
|
114
|
-
else
|
115
|
-
raise LogStash::ConfigurationError, 'Both `tag_name` and `tag_values` need to be specified if no `instances` are specified' if @tag_name.nil? || @tag_values.nil?
|
116
|
-
end
|
117
|
-
|
118
|
-
@cloudwatch = AWS::CloudWatch::Client.new(aws_options_hash)
|
119
|
-
@ec2 = AWS::EC2::Client.new(aws_options_hash)
|
123
|
+
# Initialize all the clients
|
124
|
+
[@namespace, 'CloudWatch'].each { |ns| clients[ns] }
|
120
125
|
@last_check = Time.now
|
121
126
|
end # def register
|
122
127
|
|
123
128
|
def run(queue)
|
124
129
|
Stud.interval(@interval) do
|
125
|
-
@logger.
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
event
|
138
|
-
|
139
|
-
|
140
|
-
event['instance'] = instance
|
141
|
-
@instance_tags[instance].each do |tag|
|
142
|
-
event[tag[:key]] = tag[:value]
|
130
|
+
@logger.info('Polling CloudWatch API')
|
131
|
+
|
132
|
+
raise 'No metrics to query' unless metrics_for(@namespace).count > 0
|
133
|
+
|
134
|
+
# For every metric
|
135
|
+
metrics_for(@namespace).each do |metric|
|
136
|
+
@logger.info "Polling metric #{metric}"
|
137
|
+
# For every dimension in the metric
|
138
|
+
resources.each_pair do |dimension, dim_resources|
|
139
|
+
# For every resource in the dimension
|
140
|
+
dim_resources = *dim_resources
|
141
|
+
dim_resources.each do |resource|
|
142
|
+
# For every event in the resource
|
143
|
+
fetch_resource_events(dimension, resource, metric_options(@namespace, metric)).each do |event|
|
144
|
+
queue << event
|
143
145
|
end
|
144
|
-
decorate(event)
|
145
|
-
queue << event
|
146
146
|
end
|
147
147
|
end
|
148
148
|
end
|
149
149
|
end # loop
|
150
150
|
end # def run
|
151
151
|
|
152
|
-
|
153
|
-
|
154
|
-
{
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
152
|
+
def fetch_resource_events(dimension, resource, options)
|
153
|
+
@logger.info "Polling resource #{dimension}: #{resource}"
|
154
|
+
options[:dimensions] = [ { name: dimension, value: resource } ]
|
155
|
+
datapoints = clients['CloudWatch'].get_metric_statistics(options)
|
156
|
+
@logger.debug "DPs: #{datapoints.data}"
|
157
|
+
datapoints[:datapoints].each do |event|
|
158
|
+
event.merge! options
|
159
|
+
event[dimension.to_sym] = resource
|
160
|
+
event = LogStash::Event.new(cleanup(event))
|
161
|
+
decorate(event)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
def cleanup(event)
|
166
|
+
event.delete :statistics
|
167
|
+
event.delete :dimensions
|
168
|
+
event[:start_time] = Time.parse(event[:start_time]).utc
|
169
|
+
event[:end_time] = Time.parse(event[:end_time]).utc
|
170
|
+
event[:timestamp] = event[:end_time]
|
171
|
+
LogStash::Util.stringify_symbols(event)
|
163
172
|
end
|
164
173
|
|
165
174
|
private
|
166
|
-
def
|
167
|
-
|
175
|
+
def clients
|
176
|
+
@clients ||= Hash.new do |h, k|
|
177
|
+
k = k[4..-1] if k[0..3] == 'AWS/'
|
178
|
+
k = 'EC2' if k == 'EBS'
|
179
|
+
cls = AWS.const_get(k)
|
180
|
+
h[k] = cls::Client.new(aws_options_hash)
|
181
|
+
end
|
168
182
|
end
|
169
183
|
|
170
184
|
private
|
171
|
-
def
|
172
|
-
@metrics
|
173
|
-
|
174
|
-
namespace: @namespace,
|
175
|
-
dimensions: [ { name: 'InstanceId', value: instance } ]
|
176
|
-
}
|
185
|
+
def metrics_for(namespace)
|
186
|
+
metrics_available[namespace] & @metrics
|
187
|
+
end
|
177
188
|
|
189
|
+
private
|
190
|
+
def metrics_available
|
191
|
+
@metrics_available ||= Hash.new do |h, k|
|
178
192
|
h[k] = []
|
179
|
-
|
193
|
+
|
194
|
+
options = { namespace: k }
|
195
|
+
clients['CloudWatch'].list_metrics(options)[:metrics].each do |metrics|
|
180
196
|
h[k].push metrics[:metric_name]
|
181
197
|
end
|
182
198
|
h[k]
|
@@ -184,19 +200,44 @@ class LogStash::Inputs::CloudWatch < LogStash::Inputs::Base
|
|
184
200
|
end
|
185
201
|
|
186
202
|
private
|
187
|
-
def
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
203
|
+
def metric_options(namespace, metric)
|
204
|
+
{
|
205
|
+
namespace: namespace,
|
206
|
+
metric_name: metric,
|
207
|
+
start_time: (Time.now - @interval).iso8601,
|
208
|
+
end_time: Time.now.iso8601,
|
209
|
+
period: @period,
|
210
|
+
statistics: @statistics
|
211
|
+
}
|
212
|
+
end
|
213
|
+
|
214
|
+
private
|
215
|
+
def aws_filters
|
216
|
+
@filters.collect do |key, value|
|
217
|
+
value = [value] unless value.is_a? Array
|
218
|
+
{ name: key, values: value }
|
196
219
|
end
|
197
|
-
@instances = @instance_tags.keys
|
198
|
-
@logger.debug 'Fetching metrics for the following instances', instances: @instances
|
199
|
-
@instances
|
200
220
|
end
|
201
221
|
|
222
|
+
private
|
223
|
+
def resources
|
224
|
+
# See http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html
|
225
|
+
@logger.info "Filters: #{aws_filters}"
|
226
|
+
case @namespace
|
227
|
+
when 'AWS/EC2'
|
228
|
+
instances = clients[@namespace].describe_instances(filters: aws_filters)[:reservation_set].collect do |r|
|
229
|
+
r[:instances_set].collect{ |i| i[:instance_id] }
|
230
|
+
end.flatten
|
231
|
+
@logger.debug "AWS/EC2 Instances: #{instances}"
|
232
|
+
{ 'InstanceId' => instances }
|
233
|
+
when 'AWS/EBS'
|
234
|
+
volumes = clients[@namespace].describe_volumes(filters: aws_filters)[:volume_set].collect do |a|
|
235
|
+
a[:attachment_set].collect{ |v| v[:volume_id] }
|
236
|
+
end.flatten
|
237
|
+
@logger.debug "AWS/EBS Volumes: #{volumes}"
|
238
|
+
{ 'VolumeId' => volumes }
|
239
|
+
when 'AWS/RDS'
|
240
|
+
@filters
|
241
|
+
end
|
242
|
+
end
|
202
243
|
end # class LogStash::Inputs::CloudWatch
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-input-cloudwatch'
|
3
|
-
s.version = '0.
|
3
|
+
s.version = '1.0.0'
|
4
4
|
s.licenses = ['Apache License (2.0)']
|
5
5
|
s.summary = "Retrieve stats from AWS CloudWatch."
|
6
6
|
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,112 +1,114 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-cloudwatch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurgens du Toit
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logstash-core
|
15
|
-
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.4.0
|
20
|
-
- - <
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 2.0.0
|
23
|
-
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
26
|
requirements:
|
25
|
-
- -
|
27
|
+
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
27
29
|
version: 1.4.0
|
28
|
-
- - <
|
30
|
+
- - "<"
|
29
31
|
- !ruby/object:Gem::Version
|
30
32
|
version: 2.0.0
|
31
|
-
prerelease: false
|
32
|
-
type: :runtime
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: logstash-codec-plain
|
35
|
-
version_requirements: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - '>='
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '0'
|
40
35
|
requirement: !ruby/object:Gem::Requirement
|
41
36
|
requirements:
|
42
|
-
- -
|
37
|
+
- - ">="
|
43
38
|
- !ruby/object:Gem::Version
|
44
39
|
version: '0'
|
45
|
-
prerelease: false
|
46
40
|
type: :runtime
|
47
|
-
|
48
|
-
name: stud
|
41
|
+
prerelease: false
|
49
42
|
version_requirements: !ruby/object:Gem::Requirement
|
50
43
|
requirements:
|
51
|
-
- -
|
44
|
+
- - ">="
|
52
45
|
- !ruby/object:Gem::Version
|
53
46
|
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: stud
|
54
49
|
requirement: !ruby/object:Gem::Requirement
|
55
50
|
requirements:
|
56
|
-
- -
|
51
|
+
- - ">="
|
57
52
|
- !ruby/object:Gem::Version
|
58
53
|
version: '0'
|
59
|
-
prerelease: false
|
60
54
|
type: :runtime
|
61
|
-
|
62
|
-
name: logstash-mixin-aws
|
55
|
+
prerelease: false
|
63
56
|
version_requirements: !ruby/object:Gem::Requirement
|
64
57
|
requirements:
|
65
|
-
- -
|
58
|
+
- - ">="
|
66
59
|
- !ruby/object:Gem::Version
|
67
60
|
version: '0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: logstash-mixin-aws
|
68
63
|
requirement: !ruby/object:Gem::Requirement
|
69
64
|
requirements:
|
70
|
-
- -
|
65
|
+
- - ">="
|
71
66
|
- !ruby/object:Gem::Version
|
72
67
|
version: '0'
|
73
|
-
prerelease: false
|
74
68
|
type: :runtime
|
75
|
-
|
76
|
-
name: aws-sdk
|
69
|
+
prerelease: false
|
77
70
|
version_requirements: !ruby/object:Gem::Requirement
|
78
71
|
requirements:
|
79
|
-
- -
|
72
|
+
- - ">="
|
80
73
|
- !ruby/object:Gem::Version
|
81
74
|
version: '0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: aws-sdk
|
82
77
|
requirement: !ruby/object:Gem::Requirement
|
83
78
|
requirements:
|
84
|
-
- -
|
79
|
+
- - ">="
|
85
80
|
- !ruby/object:Gem::Version
|
86
81
|
version: '0'
|
87
|
-
prerelease: false
|
88
82
|
type: :runtime
|
89
|
-
|
90
|
-
name: logstash-devutils
|
83
|
+
prerelease: false
|
91
84
|
version_requirements: !ruby/object:Gem::Requirement
|
92
85
|
requirements:
|
93
|
-
- -
|
86
|
+
- - ">="
|
94
87
|
- !ruby/object:Gem::Version
|
95
88
|
version: '0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: logstash-devutils
|
96
91
|
requirement: !ruby/object:Gem::Requirement
|
97
92
|
requirements:
|
98
|
-
- -
|
93
|
+
- - ">="
|
99
94
|
- !ruby/object:Gem::Version
|
100
95
|
version: '0'
|
101
|
-
prerelease: false
|
102
96
|
type: :development
|
103
|
-
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
description: This gem is a logstash plugin required to be installed on top of the
|
104
|
+
Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not
|
105
|
+
a stand-alone program
|
104
106
|
email: jrgns@eagerelk.com
|
105
107
|
executables: []
|
106
108
|
extensions: []
|
107
109
|
extra_rdoc_files: []
|
108
110
|
files:
|
109
|
-
- .gitignore
|
111
|
+
- ".gitignore"
|
110
112
|
- CHANGELOG.md
|
111
113
|
- DEVELOPER.md
|
112
114
|
- Gemfile
|
@@ -122,24 +124,24 @@ licenses:
|
|
122
124
|
metadata:
|
123
125
|
logstash_plugin: 'true'
|
124
126
|
logstash_group: input
|
125
|
-
post_install_message:
|
127
|
+
post_install_message:
|
126
128
|
rdoc_options: []
|
127
129
|
require_paths:
|
128
130
|
- lib
|
129
131
|
required_ruby_version: !ruby/object:Gem::Requirement
|
130
132
|
requirements:
|
131
|
-
- -
|
133
|
+
- - ">="
|
132
134
|
- !ruby/object:Gem::Version
|
133
135
|
version: '0'
|
134
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
137
|
requirements:
|
136
|
-
- -
|
138
|
+
- - ">="
|
137
139
|
- !ruby/object:Gem::Version
|
138
140
|
version: '0'
|
139
141
|
requirements: []
|
140
|
-
rubyforge_project:
|
141
|
-
rubygems_version: 2.4.
|
142
|
-
signing_key:
|
142
|
+
rubyforge_project:
|
143
|
+
rubygems_version: 2.4.6
|
144
|
+
signing_key:
|
143
145
|
specification_version: 4
|
144
146
|
summary: Retrieve stats from AWS CloudWatch.
|
145
147
|
test_files:
|