bin/check-ec2-network.rb in sensu-plugins-aws-2.1.0 vs bin/check-ec2-network.rb in sensu-plugins-aws-2.1.1
- old
+ new
@@ -10,11 +10,11 @@
#
# PLATFORMS:
# Linux
#
# DEPENDENCIES:
-# gem: aws-sdk-v1
+# gem: aws-sdk
# gem: sensu-plugin
#
# USAGE:
# ./check-ec2-network.rb -r ${you_region} -i ${your_instance_id} --warning-over 1000000 --critical-over 1500000
# ./check-ec2-network.rb -r ${you_region} -i ${your_instance_id} -d NetworkIn --warning-over 1000000 --critical-over 1500000
@@ -27,11 +27,11 @@
# Released under the same terms as Sensu (the MIT license); see LICENSE
# for details.
#
require 'sensu-plugin/check/cli'
-require 'aws-sdk-v1'
+require 'aws-sdk'
class CheckEc2Network < Sensu::Plugin::Check::CLI
option :aws_access_key,
short: '-a AWS_ACCESS_KEY',
long: '--aws-access-key AWS_ACCESS_KEY',
@@ -85,37 +85,41 @@
region: config[:aws_region]
}
end
def ec2
- @ec2 ||= AWS::EC2.new aws_config
+ @ec2 ||= Aws::EC2::Client.new aws_config
end
def cloud_watch
- @cloud_watch ||= AWS::CloudWatch.new aws_config
+ @cloud_watch ||= Aws::CloudWatch::Client.new aws_config
end
def network_metric(instance)
- cloud_watch.metrics.with_namespace('AWS/EC2').with_metric_name("#{config[:direction]}").with_dimensions(name: 'InstanceId', value: instance).first
- end
-
- def statistics_options
- {
+ cloud_watch.get_metric_statistics(
+ namespace: 'AWS/EC2',
+ metric_name: config[:direction].to_s,
+ dimensions: [
+ {
+ name: 'InstanceId',
+ value: instance
+ }
+ ],
start_time: config[:end_time] - 300,
- end_time: config[:end_time],
+ end_time: config[:end_time],
statistics: ['Average'],
- period: config[:period]
- }
+ period: config[:period],
+ unit: 'Bytes'
+ )
end
- def latest_value(metric)
- value = metric.statistics(statistics_options.merge unit: 'Bytes')
+ def latest_value(value)
value.datapoints[0][:average].to_f unless value.datapoints[0].nil?
end
def check_metric(instance)
metric = network_metric instance
- latest_value metric
+ latest_value metric unless metric.nil?
end
def run
metric_value = check_metric config[:instance_id]
if !metric_value.nil? && metric_value > config[:critical_over].to_f