sensu-plugins-aws 0.0.1.alpha.2 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dab7adef4e04f7bc487ae96de657558e16cd94e5
4
- data.tar.gz: d80911aa488f0ff85b48d4a4be995824af92b262
3
+ metadata.gz: 09a4ab59256df028e1b8f30fca0f35ca94695718
4
+ data.tar.gz: e28188693388835bde54d7d1b10436536f435694
5
5
  SHA512:
6
- metadata.gz: 4ee5d2b5f5a54f359f868030fea933111d3cb403e85ace06719259893c658e6d7c973b3bef29e9d75b98df4566d99a627ad873bb994420d14f89d00e88853cc9
7
- data.tar.gz: 802d9264b64bc401da0606273e34c15423ef56b9d81c18f28283be11d489c0cdbbf9f9bda77f4f61916dd8ef10ea5ac505f3f299ce4586937095ddac4a688905
6
+ metadata.gz: a9ede4cfc71b4247a145cdbc7a4fb8b3a01001857ce97cc323e75ae2be3a76ab9e3da21117a577b0e01e29149ef729b35767f8a7f11c2a733dd3f85072f17496
7
+ data.tar.gz: 599dbee54f3c1d6e3d936f72d3b0ac56e49d9ab8a2cb74da1ab43c04b9e37c29b5a09d168d0a406cd57686331222ab5c86d7dbc429300769cb40aa30783a9af4
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- �fy��?�E֜�Fݗ���8Dqz6�~,EL��iv��诽hR�OЁ��I� y����P�1� H3��^%Y��j���y�SKveT9�ܮ�-H�5���^O_խ9TpMp�T�!~N����F����� �z�s�pY����,��.�%d��n�����l-��dFq��Xhm3�|E�N=���W5L!/ uA���ޙ>�
2
- ���:J��RR��o$1*��'�d�^���%?_�^�`�}r3
1
+  t,ʍ#XP�I]���Bɮ��D8��@��I[t4�Zv��]�$"��j/62"FF�y�(����G|W~133��ߐ���k��,���:!��M�х�;�_"y�8vF�*t ��Q�N���h����:��IXGq�����u
2
+ t뗫R��$O�+�^\�,��K�3>�/�UѾ[�a#�A�̟GKj�T/�.�S�LC�]Ba�m��<�bPbo�"f�����'�׳L��!��ݮ��c$��W b�������WQ
data.tar.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,15 +1,11 @@
1
- #### 0.1.0.alpha.1
1
+ #Change Log
2
+ This project adheres to [Semantic Versioning](http://semver.org/).
2
3
 
3
- * baseline release identical to **sensu-community-plugins** repo
4
- * removed check-vpc-vpn.py
5
- * built against 1.9.3, 2.0, 2.1
6
- * change the ec2_node.rb to ec2-node.rb
4
+ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
7
5
 
8
- #### 0.0.1.alpha.2
6
+ ## Unreleased][unreleased]
9
7
 
10
- * add pry as a development dependency
11
- * add new badge for dependencies
12
- * add irc integration
13
- * updated install instructions
14
- * added check-vpc-vpn.py (may be removed before first stable release)
15
- * pulled latest script version from community repo
8
+ ## 0.0.1 - 2015-05-21
9
+
10
+ ### Added
11
+ - initial release
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015 devops@yieldbot.com
1
+ Copyright (c) 2015 Sensu-Plugins
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -5,6 +5,7 @@
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-aws/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-aws)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-aws/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-aws)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-aws.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-aws)
8
+ [ ![Codeship Status for sensu-plugins/sensu-plugins-aws](https://codeship.com/projects/2a9c6e70-d4b4-0132-67ee-4e043b6b23b5/status?branch=master)](https://codeship.com/projects/77866)
8
9
 
9
10
  ## Functionality
10
11
 
@@ -75,51 +76,29 @@
75
76
  * /bin/check-redshift-events.rb
76
77
  * /bin/check-ses-limit.rb
77
78
  * /bin/check-sqs-messages.rb
78
- * /bin/ec2-count-metrics.rb
79
- * /bin/ec2-node.rb
80
- * /bin/elasticache-metrics.rb
81
- * /bin/elb-full-metrics.rb
82
- * /bin/elb-latency-metrics.rb
83
- * /bin/elb-metrics.rb
84
- * /bin/sqs-metrics.rb
79
+ * /bin/metrics-ec2-count.rb
80
+ * /bin/handler-ec2-node.rb
81
+ * /bin/metrics-elasticache.rb
82
+ * /bin/metrics-elb-full.rb
83
+ * /bin/metrics-elb-latency.rb
84
+ * /bin/metrics-elb.rb
85
+ * /bin/metrics-sqs.rb
85
86
 
86
87
  ## Usage
87
88
 
88
- ## Installation
89
-
90
- Add the public key (if you haven’t already) as a trusted certificate
91
-
89
+ **handler-sns**
92
90
  ```
93
- gem cert --add <(curl -Ls https://raw.githubusercontent.com/sensu-plugins/sensu-plugins.github.io/master/certs/sensu-plugins.pem)
94
- gem install <gem> -P MediumSecurity
95
- ```
96
-
97
- You can also download the key from /certs/ within each repository.
98
-
99
- #### Rubygems
100
-
101
- `gem install sensu-plugins-aws`
102
-
103
- #### Bundler
104
-
105
- Add *sensu-plugins-aws* to your Gemfile and run `bundle install` or `bundle update`
106
-
107
- #### Chef
108
-
109
- Using the Sensu **sensu_gem** LWRP
110
- ```
111
- sensu_gem 'sensu-plugins-aws' do
112
- options('--prerelease')
113
- version '0.0.1.alpha.2'
114
- end
91
+ {
92
+ "sns": {
93
+ "topic_arn": "arn:aws:sns:us-east-1:111111111111:topic"
94
+ ,"use_ami_role": true
95
+ ,"access_key": "MY_KEY"
96
+ ,"secret_key": "MY_secret"
97
+ }
98
+ }
115
99
  ```
100
+ ## Installation
116
101
 
117
- Using the Chef **gem_package** resource
118
- ```
119
- gem_package 'sensu-plugins-process-checks' do
120
- options('--prerelease')
121
- version '0.0.1.alpha.2'
122
- end
123
- ```
102
+ [Installation and Setup](https://github.com/sensu-plugins/documentation/blob/master/user_docs/installation_instructions.md)
124
103
 
125
104
  ## Notes
@@ -25,7 +25,6 @@
25
25
  # for details.
26
26
  #
27
27
 
28
- require 'rubygems' if RUBY_VERSION < '1.9.0'
29
28
  require 'sensu-plugin/metric/cli'
30
29
  require 'aws-sdk'
31
30
 
@@ -31,7 +31,6 @@
31
31
  # for details.
32
32
  #
33
33
 
34
- require 'rubygems' if RUBY_VERSION < '1.9.0'
35
34
  require 'sensu-plugin/check/cli'
36
35
  require 'aws-sdk'
37
36
  require 'time'
@@ -154,7 +153,7 @@ class CheckDynamoDB < Sensu::Plugin::Check::CLI
154
153
  threshold = config[:"#{severity}_over"]
155
154
  next unless threshold
156
155
  next if percentage < threshold
157
- flag_alert severity, "; On table #{table.name} consumed #{r_or_w} capacity is #{sprintf '%.2f', percentage}% (expected_lower_than #{threshold})"
156
+ flag_alert severity, "; On table #{table.name} consumed #{r_or_w} capacity is #{sprintf '%.2f', percentage}% (expected_lower_than #{threshold})" # rubocop:disable all
158
157
  break
159
158
  end
160
159
  end
@@ -28,7 +28,6 @@
28
28
  # for details.
29
29
  #
30
30
 
31
- require 'rubygems' if RUBY_VERSION < '1.9.0'
32
31
  require 'sensu-plugin/check/cli'
33
32
  require 'aws-sdk'
34
33
  require 'time'
@@ -28,7 +28,6 @@
28
28
  # for details.
29
29
  #
30
30
 
31
- require 'rubygems' if RUBY_VERSION < '1.9.0'
32
31
  require 'sensu-plugin/check/cli'
33
32
  require 'aws-sdk'
34
33
 
@@ -31,7 +31,6 @@
31
31
  # for details.
32
32
  #
33
33
 
34
- require 'rubygems' if RUBY_VERSION < '1.9.0'
35
34
  require 'sensu-plugin/check/cli'
36
35
  require 'aws-sdk'
37
36
  require 'net/http'
@@ -90,7 +89,7 @@ class CheckELBCerts < Sensu::Plugin::Check::CLI
90
89
  hash
91
90
  end
92
91
 
93
- def run
92
+ def run # rubocop:disable all
94
93
  ok_message = []
95
94
  warning_message = []
96
95
  critical_message = []
@@ -116,7 +115,7 @@ class CheckELBCerts < Sensu::Plugin::Check::CLI
116
115
  end
117
116
 
118
117
  cert_days_remaining = ((cert.not_after - Time.now) / 86_400).to_i
119
- message = sprintf '%s(%d)', lb.name, cert_days_remaining
118
+ message = sprintf '%s(%d)', lb.name, cert_days_remaining # rubocop:disable all
120
119
 
121
120
  if config[:crit_under] > 0 && config[:crit_under] >= cert_days_remaining
122
121
  critical_message << message
@@ -30,7 +30,6 @@
30
30
  # for details.
31
31
  #
32
32
 
33
- require 'rubygems' if RUBY_VERSION < '1.9.0'
34
33
  require 'sensu-plugin/check/cli'
35
34
  require 'net/http'
36
35
  require 'uri'
@@ -24,7 +24,6 @@
24
24
  # Released under the same terms as Sensu (the MIT license); see LICENSE
25
25
  # for details.
26
26
 
27
- require 'rubygems' if RUBY_VERSION < '1.9.0'
28
27
  require 'sensu-plugin/check/cli'
29
28
  require 'net/http'
30
29
  require 'uri'
@@ -29,7 +29,6 @@
29
29
  # for details.
30
30
  #
31
31
 
32
- require 'rubygems' if RUBY_VERSION < '1.9.0'
33
32
  require 'sensu-plugin/check/cli'
34
33
  require 'net/http'
35
34
  require 'uri'
@@ -31,7 +31,6 @@
31
31
  # for details.
32
32
  #
33
33
 
34
- require 'rubygems' if RUBY_VERSION < '1.9.0'
35
34
  require 'sensu-plugin/check/cli'
36
35
  require 'aws-sdk'
37
36
 
@@ -142,7 +141,7 @@ class CheckELBLatency < Sensu::Plugin::Check::CLI
142
141
  next unless threshold
143
142
  next if metric_value < threshold
144
143
  flag_alert severity,
145
- "; #{elbs.size == 1 ? nil : "#{elb.inspect}'s"} Latency is #{sprintf '%.3f', metric_value} seconds. (expected lower than #{sprintf '%.3f', threshold})" # rubocop:disable LineLength
144
+ "; #{elbs.size == 1 ? nil : "#{elb.inspect}'s"} Latency is #{sprintf '%.3f', metric_value} seconds. (expected lower than #{sprintf '%.3f', threshold})" # rubocop:disable all
146
145
  break
147
146
  end
148
147
  end
@@ -31,7 +31,6 @@
31
31
  # for details.
32
32
  #
33
33
 
34
- require 'rubygems' if RUBY_VERSION < '1.9.0'
35
34
  require 'sensu-plugin/check/cli'
36
35
  require 'aws-sdk'
37
36
 
@@ -94,7 +93,7 @@ class CheckELBNodes < Sensu::Plugin::Check::CLI
94
93
  hash
95
94
  end
96
95
 
97
- def run
96
+ def run # rubocop:disable all
98
97
  AWS.start_memoizing
99
98
  elb = AWS::ELB.new aws_config
100
99
 
@@ -30,7 +30,6 @@
30
30
  # for details.
31
31
  #
32
32
 
33
- require 'rubygems' if RUBY_VERSION < '1.9.0'
34
33
  require 'sensu-plugin/check/cli'
35
34
  require 'aws-sdk'
36
35
 
@@ -27,7 +27,6 @@
27
27
  # for details.
28
28
  #
29
29
 
30
- require 'rubygems' if RUBY_VERSION < '1.9.0'
31
30
  require 'sensu-plugin/check/cli'
32
31
  require 'aws-sdk'
33
32
 
@@ -75,15 +74,14 @@ class CheckInstanceEvents < Sensu::Plugin::Check::CLI
75
74
 
76
75
  if config[:use_iam_role].nil?
77
76
  aws_config.merge!(
78
- access_key_id: config[:aws_access_key],
79
- secret_access_key: config[:aws_secret_access_key]
77
+ access_key_id: config[:aws_access_key],
78
+ secret_access_key: config[:aws_secret_access_key]
80
79
  )
81
80
  end
82
81
 
83
82
  ec2 = AWS::EC2::Client.new(aws_config.merge!(region: config[:aws_region]))
84
83
  begin
85
84
  ec2.describe_instance_status[:instance_status_set].each do |i| # rubocop:disable Next
86
-
87
85
  unless i[:events_set].empty?
88
86
  # Exclude completed reboots since the events API appearently returns these even after they have been completed:
89
87
  # Example:
data/bin/check-rds.rb CHANGED
@@ -43,7 +43,6 @@
43
43
  # for details.
44
44
  #
45
45
 
46
- require 'rubygems' if RUBY_VERSION < '1.9.0'
47
46
  require 'sensu-plugin/check/cli'
48
47
  require 'aws-sdk'
49
48
  require 'time'
@@ -189,30 +188,30 @@ class CheckRDS < Sensu::Plugin::Check::CLI
189
188
  end
190
189
 
191
190
  def check_cpu(severity, expected_lower_than)
192
- @cpu_metric ||= cloud_watch_metric 'CPUUtilization'
191
+ @cpu_metric ||= cloud_watch_metric 'CPUUtilization'
193
192
  @cpu_metric_value ||= latest_value @cpu_metric, 'Percent'
194
193
  return if @cpu_metric_value < expected_lower_than
195
- flag_alert severity, "; CPUUtilization is #{sprintf '%.2f', @cpu_metric_value}% (expected lower than #{expected_lower_than}%)"
194
+ flag_alert severity, "; CPUUtilization is #{sprintf '%.2f', @cpu_metric_value}% (expected lower than #{expected_lower_than}%)" # rubocop:disable all
196
195
  end
197
196
 
198
197
  def check_memory(severity, expected_lower_than)
199
- @memory_metric ||= cloud_watch_metric 'FreeableMemory'
200
- @memory_metric_value ||= latest_value @memory_metric, 'Bytes'
201
- @memory_total_bytes ||= memory_total_bytes @db_instance.db_instance_class
202
- @memory_usage_bytes ||= @memory_total_bytes - @memory_metric_value
198
+ @memory_metric ||= cloud_watch_metric 'FreeableMemory'
199
+ @memory_metric_value ||= latest_value @memory_metric, 'Bytes'
200
+ @memory_total_bytes ||= memory_total_bytes @db_instance.db_instance_class
201
+ @memory_usage_bytes ||= @memory_total_bytes - @memory_metric_value
203
202
  @memory_usage_percentage ||= @memory_usage_bytes / @memory_total_bytes * 100
204
203
  return if @memory_usage_percentage < expected_lower_than
205
- flag_alert severity, "; Memory usage is #{sprintf '%.2f', @memory_usage_percentage}% (expected lower than #{expected_lower_than}%)"
204
+ flag_alert severity, "; Memory usage is #{sprintf '%.2f', @memory_usage_percentage}% (expected lower than #{expected_lower_than}%)" # rubocop:disable all
206
205
  end
207
206
 
208
207
  def check_disk(severity, expected_lower_than)
209
- @disk_metric ||= cloud_watch_metric 'FreeStorageSpace'
210
- @disk_metric_value ||= latest_value @disk_metric, 'Bytes'
211
- @disk_total_bytes ||= @db_instance.allocated_storage * 1024**3
212
- @disk_usage_bytes ||= @disk_total_bytes - @disk_metric_value
208
+ @disk_metric ||= cloud_watch_metric 'FreeStorageSpace'
209
+ @disk_metric_value ||= latest_value @disk_metric, 'Bytes'
210
+ @disk_total_bytes ||= @db_instance.allocated_storage * 1024**3
211
+ @disk_usage_bytes ||= @disk_total_bytes - @disk_metric_value
213
212
  @disk_usage_percentage ||= @disk_usage_bytes / @disk_total_bytes * 100
214
213
  return if @disk_usage_percentage < expected_lower_than
215
- flag_alert severity, "; Disk usage is #{sprintf '%.2f', @disk_usage_percentage}% (expected lower than #{expected_lower_than}%)"
214
+ flag_alert severity, "; Disk usage is #{sprintf '%.2f', @disk_usage_percentage}% (expected lower than #{expected_lower_than}%)" # rubocop:disable all
216
215
  end
217
216
 
218
217
  def run
@@ -28,7 +28,6 @@
28
28
  # for details.
29
29
  #
30
30
 
31
- require 'rubygems' if RUBY_VERSION < '1.9.0'
32
31
  require 'sensu-plugin/check/cli'
33
32
  require 'aws/ses'
34
33
 
@@ -75,7 +74,7 @@ class CheckSESLimit < Sensu::Plugin::Check::CLI
75
74
  critical "An issue occured while communicating with the AWS SES API: #{e.message}"
76
75
  end
77
76
 
78
- unless response.empty?
77
+ unless response.empty? # rubocop: disable Style/GuardClause
79
78
  percent = (response.sent_last_24_hours.to_i / response.max_24_hour_send.to_i) * 100
80
79
  message = "SES sending limit is at #{percent}%"
81
80
 
@@ -27,10 +27,12 @@
27
27
  # for details.
28
28
  #
29
29
 
30
- require 'rubygems' if RUBY_VERSION < '1.9.0'
31
30
  require 'sensu-plugin/check/cli'
32
31
  require 'aws-sdk'
33
32
 
33
+ #
34
+ # Check SQS Messages
35
+ #
34
36
  class SQSMsgs < Sensu::Plugin::Check::CLI
35
37
  option :aws_access_key,
36
38
  short: '-a AWS_ACCESS_KEY',
@@ -88,6 +90,7 @@ class SQSMsgs < Sensu::Plugin::Check::CLI
88
90
  hash = {}
89
91
  hash.update access_key_id: config[:aws_access_key], secret_access_key: config[:aws_secret_access_key]\
90
92
  if config[:aws_access_key] && config[:aws_secret_access_key]
93
+ hash.update region: config[:aws_region]
91
94
  hash
92
95
  end
93
96
 
@@ -91,7 +91,6 @@
91
91
  # LICENSE for details
92
92
 
93
93
  require 'timeout'
94
- require 'rubygems' if RUBY_VERSION < '1.9.0'
95
94
  require 'sensu-handler'
96
95
  require 'fog'
97
96
 
@@ -0,0 +1,156 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # CHANGELOG:
4
+ # * 0.4.0:
5
+ # - Adds ability to specify a list of states an individual client can have in
6
+ # EC2. If none is specified, it filters out 'terminated' and 'stopped'
7
+ # instances by default.
8
+ # - Updates how we are "puts"-ing to the log.
9
+ # * 0.3.0:
10
+ # - Updates handler to additionally filter stopped instances.
11
+ # * 0.2.1:
12
+ # - Updates requested configuration snippets so they'll be redacted by
13
+ # default.
14
+ # * 0.2.0:
15
+ # - Renames handler from chef_ec2_node to ec2_node
16
+ # - Removes Chef-related stuff from handler
17
+ # - Updates documentation
18
+ # * 0.1.0:
19
+ # - Initial release
20
+ #
21
+ # This handler deletes a Sensu client if it's been stopped or terminated in EC2.
22
+ # Optionally, you may specify a client attribute `ec2_states`, a list of valid
23
+ # states an instance may have.
24
+ #
25
+ # NOTE: The implementation for correlating Sensu clients to EC2 instances may
26
+ # need to be modified to fit your organization. The current implementation
27
+ # assumes that Sensu clients' names are the same as their instance IDs in EC2.
28
+ # If this is not the case, you can either sub-class this handler and override
29
+ # `ec2_node_exists?` in your own organization-specific handler, or modify this
30
+ # handler to suit your needs.
31
+ #
32
+ # Requires the following Rubygems (`gem install $GEM`):
33
+ # - sensu-plugin
34
+ # - fog
35
+ #
36
+ # Requires a Sensu configuration snippet:
37
+ # {
38
+ # "aws": {
39
+ # "access_key": "adsafdafda",
40
+ # "secret_key": "qwuieohajladsafhj23nm",
41
+ # "region": "us-east-1c"
42
+ # }
43
+ # }
44
+ #
45
+ # Or you can set the following environment variables:
46
+ # - AWS_ACCESS_KEY_ID
47
+ # - AWS_SECRET_ACCESS_KEY
48
+ # - EC2_REGION
49
+ #
50
+ #
51
+ # To use, you can set it as the keepalive handler for a client:
52
+ # {
53
+ # "client": {
54
+ # "name": "i-424242",
55
+ # "address": "127.0.0.1",
56
+ # "keepalive": {
57
+ # "handler": "ec2_node"
58
+ # },
59
+ # "subscriptions": ["all"]
60
+ # }
61
+ # }
62
+ #
63
+ # You can also use this handler with a filter:
64
+ # {
65
+ # "filters": {
66
+ # "ghost_nodes": {
67
+ # "attributes": {
68
+ # "check": {
69
+ # "name": "keepalive",
70
+ # "status": 2
71
+ # },
72
+ # "occurences": "eval: value > 2"
73
+ # }
74
+ # }
75
+ # },
76
+ # "handlers": {
77
+ # "ec2_node": {
78
+ # "type": "pipe",
79
+ # "command": "/etc/sensu/handlers/ec2_node.rb",
80
+ # "severities": ["warning","critical"],
81
+ # "filter": "ghost_nodes"
82
+ # }
83
+ # }
84
+ # }
85
+ #
86
+ # Copyleft 2013 Yet Another Clever Name
87
+ #
88
+ # Based off of the `chef_node` handler by Heavy Water Operations, LLC
89
+ #
90
+ # Released under the same terms as Sensu (the MIT license); see
91
+ # LICENSE for details
92
+
93
+ require 'timeout'
94
+ require 'sensu-handler'
95
+ require 'fog'
96
+
97
+ class Ec2Node < Sensu::Handler
98
+ def filter; end
99
+
100
+ def handle
101
+ # #YELLOW
102
+ unless ec2_node_exists? # rubocop:disable UnlessElse
103
+ delete_sensu_client!
104
+ else
105
+ puts "[EC2 Node] #{@event['client']['name']} appears to exist in EC2"
106
+ end
107
+ end
108
+
109
+ def delete_sensu_client!
110
+ response = api_request(:DELETE, '/clients/' + @event['client']['name']).code
111
+ deletion_status(response)
112
+ end
113
+
114
+ def ec2_node_exists?
115
+ states = acquire_valid_states
116
+ filtered_instances = ec2.servers.select { |s| states.include?(s.state) }
117
+ instance_ids = filtered_instances.map(&:id)
118
+ instance_ids.each do |id|
119
+ return true if id == @event['client']['name']
120
+ end
121
+ false # no match found, node doesn't exist
122
+ end
123
+
124
+ def ec2
125
+ @ec2 ||= begin
126
+ key = settings['aws']['access_key'] || ENV['AWS_ACCESS_KEY_ID']
127
+ secret = settings['aws']['secret_key'] || ENV['AWS_SECRET_ACCESS_KEY']
128
+ region = settings['aws']['region'] || ENV['EC2_REGION']
129
+ Fog::Compute.new(provider: 'AWS',
130
+ aws_access_key_id: key,
131
+ aws_secret_access_key: secret,
132
+ region: region)
133
+ end
134
+ end
135
+
136
+ def deletion_status(code)
137
+ case code
138
+ when '202'
139
+ puts "[EC2 Node] 202: Successfully deleted Sensu client: #{node}"
140
+ when '404'
141
+ puts "[EC2 Node] 404: Unable to delete #{node}, doesn't exist!"
142
+ when '500'
143
+ puts "[EC2 Node] 500: Miscellaneous error when deleting #{node}"
144
+ else
145
+ puts "[EC2 Node] #{res}: Completely unsure of what happened!"
146
+ end
147
+ end
148
+
149
+ def acquire_valid_states
150
+ if @event['client'].key?('ec2_states')
151
+ return @event['client']['ec2_states']
152
+ else
153
+ return ['running']
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This handler assumes it runs on an ec2 instance with an iam role
4
+ # that has permission to send to the sns topic specified in the config.
5
+ # This removes the requirement to specify an access key and secret access key.
6
+ # See http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html
7
+ #
8
+ # Requires the aws-sdk gem.
9
+ #
10
+ # Setting required in sns.json
11
+ # topic_are : The arn for the destination sns topic
12
+ #
13
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
14
+ # for details
15
+
16
+ require 'sensu-handler'
17
+ require 'aws-sdk'
18
+
19
+ class SnsNotifier < Sensu::Handler
20
+ def topic_arn
21
+ settings['sns']['topic_arn']
22
+ end
23
+
24
+ def region
25
+ settings['sns']['region'] || 'us-east-1'
26
+ end
27
+
28
+ def event_name
29
+ "#{@event['client']['name']}/#{@event['check']['name']}"
30
+ end
31
+
32
+ def use_ami_role
33
+ use_ami_role = settings['sns']['use_ami_role']
34
+ use_ami_role.nil? ? true : use_ami_role
35
+ end
36
+
37
+ def aws_access_key
38
+ settings['sns']['access_key'] || ''
39
+ end
40
+
41
+ def aws_access_secret
42
+ settings['sns']['secret_key'] || ''
43
+ end
44
+
45
+ def message
46
+ @event['check']['notification'] || @event['check']['output']
47
+ end
48
+
49
+ def handle
50
+ if use_ami_role
51
+ AWS.config(region: region)
52
+ else
53
+ AWS.config(access_key_id: aws_access_key,
54
+ secret_access_key: aws_access_secret,
55
+ region: region)
56
+ end
57
+
58
+ sns = AWS::SNS.new
59
+
60
+ t = sns.topics[topic_arn]
61
+
62
+ if @event['action'].eql?('resolve')
63
+ subject = "RESOLVED - [#{event_name}]"
64
+ options = { subject: subject }
65
+ t.publish("#{subject} - #{message}", options)
66
+ else
67
+ subject = "ALERT - [#{event_name}]"
68
+ options = { subject: subject }
69
+ t.publish("#{subject} - #{message}", options)
70
+ end
71
+ rescue => e
72
+ puts "Exception occured in SnsNotifier: #{e.message}", e.backtrace
73
+ end
74
+ end
@@ -26,7 +26,6 @@
26
26
  # for details.
27
27
  #
28
28
 
29
- require 'rubygems' if RUBY_VERSION < '1.9.0'
30
29
  require 'sensu-plugin/metric/cli'
31
30
  require 'aws-sdk'
32
31
 
@@ -93,7 +92,7 @@ class EC2Metrics < Sensu::Plugin::Metric::CLI::Graphite
93
92
  end
94
93
  end
95
94
 
96
- unless data.nil?
95
+ unless data.nil? # rubocop: disable Style/GuardClause
97
96
  # We only return data when we have some to return
98
97
  output config[:scheme] + '.total', total
99
98
  status.each do |name, count|
@@ -121,7 +120,7 @@ class EC2Metrics < Sensu::Plugin::Metric::CLI::Graphite
121
120
  end
122
121
  end
123
122
 
124
- unless data.nil?
123
+ unless data.nil? # rubocop: disable Style/GuardClause
125
124
  # We only return data when we have some to return
126
125
  data.each do |name, count|
127
126
  output config[:scheme] + ".#{name}", count
@@ -31,7 +31,6 @@
31
31
  # for details.
32
32
  #
33
33
 
34
- require 'rubygems' if RUBY_VERSION < '1.9.0'
35
34
  require 'sensu-plugin/metric/cli'
36
35
  require 'aws-sdk'
37
36
 
@@ -32,7 +32,6 @@
32
32
  # for details.
33
33
  #
34
34
 
35
- require 'rubygems' if RUBY_VERSION < '1.9.0'
36
35
  require 'sensu-plugin/metric/cli'
37
36
  require 'aws-sdk'
38
37
 
@@ -92,7 +91,10 @@ class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite
92
91
  'HTTPCode_Backend_4XX' => 'Sum',
93
92
  'HTTPCode_Backend_5XX' => 'Sum',
94
93
  'HTTPCode_ELB_4XX' => 'Sum',
95
- 'HTTPCode_ELB_5XX' => 'Sum'
94
+ 'HTTPCode_ELB_5XX' => 'Sum',
95
+ 'BackendConnectionErrors' => 'Sum',
96
+ 'SurgeQueueLength' => 'Max',
97
+ 'SpilloverCount' => 'Sum'
96
98
  }
97
99
 
98
100
  begin
@@ -128,12 +130,12 @@ class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite
128
130
  r = cw.get_metric_statistics(options)
129
131
  result[key] = r[:datapoints][0] unless r[:datapoints][0].nil?
130
132
  end
131
- unless result.nil?
132
- # We only return data when we have some to return
133
- result.each do |key, value|
134
- puts key, value
135
- output graphitepath + ".#{key}", value.to_a.last[1], value[:timestamp].to_i
136
- end
133
+
134
+ # We only return data when we have some to return
135
+ next if result.nil?
136
+ result.each do |key, value|
137
+ puts key, value
138
+ output graphitepath + ".#{key}", value.to_a.last[1], value[:timestamp].to_i
137
139
  end
138
140
  end
139
141
  rescue => e
@@ -33,7 +33,6 @@
33
33
  #
34
34
  #
35
35
 
36
- require 'rubygems' if RUBY_VERSION < '1.9.0'
37
36
  require 'sensu-plugin/metric/cli'
38
37
  require 'aws-sdk'
39
38
 
@@ -105,7 +104,10 @@ class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite
105
104
  'HTTPCode_Backend_4XX' => 'Sum',
106
105
  'HTTPCode_Backend_5XX' => 'Sum',
107
106
  'HTTPCode_ELB_4XX' => 'Sum',
108
- 'HTTPCode_ELB_5XX' => 'Sum'
107
+ 'HTTPCode_ELB_5XX' => 'Sum',
108
+ 'BackendConnectionErrors' => 'Sum',
109
+ 'SurgeQueueLength' => 'Max',
110
+ 'SpilloverCount' => 'Sum'
109
111
  }
110
112
  statistic = default_statistic_per_metric[config[:metric]]
111
113
  else
@@ -26,7 +26,6 @@
26
26
  # for details.
27
27
  #
28
28
 
29
- require 'rubygems' if RUBY_VERSION < '1.9.0'
30
29
  require 'sensu-plugin/metric/cli'
31
30
  require 'aws-sdk'
32
31
 
@@ -0,0 +1,15 @@
1
+
2
+ require 'sensu-plugins-aws/version'
3
+
4
+ # Load the defaults
5
+
6
+ #
7
+ # Default class
8
+ #
9
+ module SensuPluginsAWS
10
+ class << self
11
+ end
12
+
13
+ class << self
14
+ end
15
+ end
@@ -0,0 +1,28 @@
1
+ require 'json'
2
+
3
+ # encoding: utf-8
4
+ module SensuPluginsAWS
5
+ # This defines the version of the gem
6
+ module Version
7
+ MAJOR = 0
8
+ MINOR = 0
9
+ PATCH = 1
10
+
11
+ VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
12
+
13
+ NAME = 'sensu-plugins-aws'
14
+ BANNER = "#{NAME} v%s"
15
+
16
+ module_function
17
+
18
+ def version
19
+ format(BANNER, VER_STRING)
20
+ end
21
+
22
+ def json_version
23
+ {
24
+ 'version' => VER_STRING
25
+ }.to_json
26
+ end
27
+ end
28
+ end
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.alpha.2
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
- - Yieldbot, Inc. and contributors
7
+ - Sensu Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
@@ -30,7 +30,7 @@ cert_chain:
30
30
  8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
31
  HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
32
  -----END CERTIFICATE-----
33
- date: 2015-02-05 00:00:00.000000000 Z
33
+ date: 2015-05-22 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: sensu-plugin
@@ -120,159 +120,137 @@ dependencies:
120
120
  name: codeclimate-test-reporter
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - '>='
123
+ - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: '0.4'
126
126
  type: :development
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '>='
130
+ - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '0'
132
+ version: '0.4'
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: rubocop
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ~>
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 0.17.0
139
+ version: '0.30'
140
140
  type: :development
141
141
  prerelease: false
142
142
  version_requirements: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - ~>
144
+ - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: 0.17.0
146
+ version: '0.30'
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: rspec
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - ~>
151
+ - - "~>"
152
152
  - !ruby/object:Gem::Version
153
153
  version: '3.1'
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - ~>
158
+ - - "~>"
159
159
  - !ruby/object:Gem::Version
160
160
  version: '3.1'
161
161
  - !ruby/object:Gem::Dependency
162
162
  name: bundler
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - ~>
165
+ - - "~>"
166
166
  - !ruby/object:Gem::Version
167
167
  version: '1.7'
168
168
  type: :development
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
171
171
  requirements:
172
- - - ~>
172
+ - - "~>"
173
173
  - !ruby/object:Gem::Version
174
174
  version: '1.7'
175
175
  - !ruby/object:Gem::Dependency
176
176
  name: rake
177
177
  requirement: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - ~>
179
+ - - "~>"
180
180
  - !ruby/object:Gem::Version
181
181
  version: '10.0'
182
182
  type: :development
183
183
  prerelease: false
184
184
  version_requirements: !ruby/object:Gem::Requirement
185
185
  requirements:
186
- - - ~>
186
+ - - "~>"
187
187
  - !ruby/object:Gem::Version
188
188
  version: '10.0'
189
189
  - !ruby/object:Gem::Dependency
190
190
  name: github-markup
191
191
  requirement: !ruby/object:Gem::Requirement
192
192
  requirements:
193
- - - '>='
193
+ - - "~>"
194
194
  - !ruby/object:Gem::Version
195
- version: '0'
195
+ version: '1.3'
196
196
  type: :development
197
197
  prerelease: false
198
198
  version_requirements: !ruby/object:Gem::Requirement
199
199
  requirements:
200
- - - '>='
200
+ - - "~>"
201
201
  - !ruby/object:Gem::Version
202
- version: '0'
202
+ version: '1.3'
203
203
  - !ruby/object:Gem::Dependency
204
204
  name: redcarpet
205
205
  requirement: !ruby/object:Gem::Requirement
206
206
  requirements:
207
- - - '>='
207
+ - - "~>"
208
208
  - !ruby/object:Gem::Version
209
- version: '0'
209
+ version: '3.2'
210
210
  type: :development
211
211
  prerelease: false
212
212
  version_requirements: !ruby/object:Gem::Requirement
213
213
  requirements:
214
- - - '>='
214
+ - - "~>"
215
215
  - !ruby/object:Gem::Version
216
- version: '0'
216
+ version: '3.2'
217
217
  - !ruby/object:Gem::Dependency
218
218
  name: yard
219
219
  requirement: !ruby/object:Gem::Requirement
220
220
  requirements:
221
- - - '>='
221
+ - - "~>"
222
222
  - !ruby/object:Gem::Version
223
- version: '0'
223
+ version: '0.8'
224
224
  type: :development
225
225
  prerelease: false
226
226
  version_requirements: !ruby/object:Gem::Requirement
227
227
  requirements:
228
- - - '>='
228
+ - - "~>"
229
229
  - !ruby/object:Gem::Version
230
- version: '0'
230
+ version: '0.8'
231
231
  - !ruby/object:Gem::Dependency
232
232
  name: pry
233
233
  requirement: !ruby/object:Gem::Requirement
234
234
  requirements:
235
- - - '>='
235
+ - - "~>"
236
236
  - !ruby/object:Gem::Version
237
- version: '0'
237
+ version: '0.10'
238
238
  type: :development
239
239
  prerelease: false
240
240
  version_requirements: !ruby/object:Gem::Requirement
241
241
  requirements:
242
- - - '>='
242
+ - - "~>"
243
243
  - !ruby/object:Gem::Version
244
- version: '0'
245
- description: Sensu AWS checks and handlers
246
- email: <sensu-users@googlegroups.com>
247
- executables:
248
- - autoscaling-instance-count-metrics.rb
249
- - check-dynamodb-capacity.rb
250
- - check-dynamodb-throttle.rb
251
- - check-ec2-network.rb
252
- - check-elb-certs.rb
253
- - check-elb-health-fog.rb
254
- - check-elb-health-sdk.rb
255
- - check-elb-health.rb
256
- - check-elb-latency.rb
257
- - check-elb-nodes.rb
258
- - check-elb-sum-requests.rb
259
- - check-instance-events.rb
260
- - check-rds-events.rb
261
- - check-rds.rb
262
- - check-redshift-events.rb
263
- - check-ses-limit.rb
264
- - check-sqs-messages.rb
265
- - check_vpc_vpn.py
266
- - ec2-count-metrics.rb
267
- - ec2-node.rb
268
- - elasticache-metrics.rb
269
- - elb-full-metrics.rb
270
- - elb-latency-metrics.rb
271
- - elb-metrics.rb
272
- - sqs-metrics.rb
244
+ version: '0.10'
245
+ description: Sensu plugins for working with an AWS environment
246
+ email: "<sensu-users@googlegroups.com>"
247
+ executables: []
273
248
  extensions: []
274
249
  extra_rdoc_files: []
275
250
  files:
251
+ - CHANGELOG.md
252
+ - LICENSE
253
+ - README.md
276
254
  - bin/autoscaling-instance-count-metrics.rb
277
255
  - bin/check-dynamodb-capacity.rb
278
256
  - bin/check-dynamodb-throttle.rb
@@ -291,40 +269,44 @@ files:
291
269
  - bin/check-ses-limit.rb
292
270
  - bin/check-sqs-messages.rb
293
271
  - bin/check_vpc_vpn.py
294
- - bin/ec2-count-metrics.rb
295
- - bin/ec2-node.rb
296
- - bin/elasticache-metrics.rb
297
- - bin/elb-full-metrics.rb
298
- - bin/elb-latency-metrics.rb
299
- - bin/elb-metrics.rb
300
- - bin/sqs-metrics.rb
301
- - lib/sensu-plugins-AWS.rb
302
- - LICENSE
303
- - README.md
304
- - CHANGELOG.md
272
+ - bin/handler-ec2-node.rb
273
+ - bin/handler-ec2_node.rb
274
+ - bin/handler-sns.rb
275
+ - bin/metrics-ec2-count.rb
276
+ - bin/metrics-elasticache.rb
277
+ - bin/metrics-elb-full.rb
278
+ - bin/metrics-elb.rb
279
+ - bin/metrics-sqs.rb
280
+ - lib/sensu-plugins-aws.rb
281
+ - lib/sensu-plugins-aws/version.rb
305
282
  homepage: https://github.com/sensu-plugins/sensu-plugins-aws
306
283
  licenses:
307
284
  - MIT
308
- metadata: {}
309
- post_install_message:
285
+ metadata:
286
+ maintainer: ''
287
+ development_status: active
288
+ production_status: unstable - testing recommended
289
+ release_draft: 'false'
290
+ release_prerelease: 'false'
291
+ post_install_message: You can use the embedded Ruby by setting EMBEDDED_RUBY=true
292
+ in /etc/default/sensu
310
293
  rdoc_options: []
311
294
  require_paths:
312
295
  - lib
313
296
  required_ruby_version: !ruby/object:Gem::Requirement
314
297
  requirements:
315
- - - '>='
298
+ - - ">="
316
299
  - !ruby/object:Gem::Version
317
300
  version: 1.9.3
318
301
  required_rubygems_version: !ruby/object:Gem::Requirement
319
302
  requirements:
320
- - - '>'
303
+ - - ">="
321
304
  - !ruby/object:Gem::Version
322
- version: 1.3.1
305
+ version: '0'
323
306
  requirements: []
324
307
  rubyforge_project:
325
- rubygems_version: 2.0.14
308
+ rubygems_version: 2.4.6
326
309
  signing_key:
327
310
  specification_version: 4
328
- summary: Sensu AWS checks and handlers
311
+ summary: Sensu plugins for working with an AWS environment
329
312
  test_files: []
330
- has_rdoc:
metadata.gz.sig CHANGED
Binary file
@@ -1,150 +0,0 @@
1
- #! /usr/bin/env ruby
2
- #
3
- # elb-latency-metrics
4
- #
5
- # DESCRIPTION:
6
- # Gets latency metrics from CloudWatch and puts them in Graphite for longer term storage
7
- #
8
- # OUTPUT:
9
- # metric-data
10
- #
11
- # PLATFORMS:
12
- # Linux
13
- #
14
- # DEPENDENCIES:
15
- # gem: sensu-plugin
16
- #
17
- # USAGE:
18
- # #YELLOW
19
- #
20
- # NOTES:
21
- # Returns latency statistics by default. You can specify any valid ELB metric type, see
22
- # http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html#elb-metricscollected
23
- #
24
- # By default fetches statistics from one minute ago. You may need to fetch further back than this;
25
- # high traffic ELBs can sometimes experience statistic delays of up to 10 minutes. If you experience this,
26
- # raising a ticket with AWS support should get the problem resolved.
27
- # As a workaround you can use eg -f 300 to fetch data from 5 minutes ago.
28
- #
29
- # LICENSE:
30
- # Copyright 2013 Bashton Ltd http://www.bashton.com/
31
- # Released under the same terms as Sensu (the MIT license); see LICENSE
32
- # for details.
33
- #
34
- #
35
-
36
- require 'rubygems' if RUBY_VERSION < '1.9.0'
37
- require 'sensu-plugin/metric/cli'
38
- require 'aws-sdk'
39
-
40
- class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite
41
- option :elbname,
42
- description: 'Name of the Elastic Load Balancer',
43
- short: '-n ELB_NAME',
44
- long: '--name ELB_NAME'
45
-
46
- option :scheme,
47
- description: 'Metric naming scheme, text to prepend to metric',
48
- short: '-s SCHEME',
49
- long: '--scheme SCHEME',
50
- default: ''
51
-
52
- option :fetch_age,
53
- description: 'How long ago to fetch metrics for',
54
- short: '-f AGE',
55
- long: '--fetch_age',
56
- default: 60,
57
- proc: proc(&:to_i)
58
-
59
- option :metric,
60
- description: 'Metric to fetch',
61
- short: '-m METRIC',
62
- long: '--metric',
63
- default: 'Latency'
64
-
65
- option :statistic,
66
- rescription: 'Statistics type',
67
- short: '-t STATISTIC',
68
- long: '--statistic',
69
- default: ''
70
-
71
- option :aws_access_key,
72
- short: '-a AWS_ACCESS_KEY',
73
- long: '--aws-access-key AWS_ACCESS_KEY',
74
- description: "AWS Access Key. Either set ENV['AWS_ACCESS_KEY'] or provide it as an option",
75
- default: ENV['AWS_ACCESS_KEY']
76
-
77
- option :aws_secret_access_key,
78
- short: '-k AWS_SECRET_KEY',
79
- long: '--aws-secret-access-key AWS_SECRET_KEY',
80
- description: "AWS Secret Access Key. Either set ENV['AWS_SECRET_KEY'] or provide it as an option",
81
- default: ENV['AWS_SECRET_KEY']
82
-
83
- option :aws_region,
84
- short: '-r AWS_REGION',
85
- long: '--aws-region REGION',
86
- description: 'AWS Region (such as eu-west-1).',
87
- default: 'us-east-1'
88
-
89
- def aws_config
90
- hash = {}
91
- hash.update access_key_id: config[:access_key_id], secret_access_key: config[:secret_access_key] if config[:access_key_id] && config[:secret_access_key]
92
- hash.update region: config[:aws_region]
93
- hash
94
- end
95
-
96
- def run
97
- statistic = ''
98
- if config[:statistic] == ''
99
- default_statistic_per_metric = {
100
- 'Latency' => 'Average',
101
- 'RequestCount' => 'Sum',
102
- 'UnHealthyHostCount' => 'Average',
103
- 'HealthyHostCount' => 'Average',
104
- 'HTTPCode_Backend_2XX' => 'Sum',
105
- 'HTTPCode_Backend_4XX' => 'Sum',
106
- 'HTTPCode_Backend_5XX' => 'Sum',
107
- 'HTTPCode_ELB_4XX' => 'Sum',
108
- 'HTTPCode_ELB_5XX' => 'Sum'
109
- }
110
- statistic = default_statistic_per_metric[config[:metric]]
111
- else
112
- statistic = config[:statistic]
113
- end
114
-
115
- begin
116
- et = Time.now - config[:fetch_age]
117
- st = et - 60
118
-
119
- cw = AWS::CloudWatch::Client.new aws_config
120
-
121
- options = {
122
- 'namespace' => 'AWS/ELB',
123
- 'metric_name' => config[:metric],
124
- 'dimensions' => [
125
- {
126
- 'name' => 'LoadBalancerName',
127
- 'value' => config[:elbname]
128
- }
129
- ],
130
- 'statistics' => [statistic],
131
- 'start_time' => st.iso8601,
132
- 'end_time' => et.iso8601,
133
- 'period' => 60
134
- }
135
- result = cw.get_metric_statistics(options)
136
- data = result[:datapoints][0]
137
- unless data.nil?
138
- # We only return data when we have some to return
139
- graphitepath = config[:scheme]
140
- if config[:scheme] == ''
141
- graphitepath = "#{config[:elbname]}.#{config[:metric].downcase}"
142
- end
143
- output graphitepath, data[statistic.downcase.to_sym], data[:timestamp].to_i
144
- end
145
- rescue => e
146
- critical "Error: exception: #{e}"
147
- end
148
- ok
149
- end
150
- end
@@ -1,7 +0,0 @@
1
- #
2
- # Set gem version
3
- #
4
- module SensuPluginsAWS
5
- # Gem version
6
- VERSION = '0.0.1.alpha.2'
7
- end