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