sensu-plugins-aws 10.2.0 → 11.0.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/CHANGELOG.md +11 -1
 - data/bin/metrics-elb.rb +13 -5
 - data/lib/sensu-plugins-aws/version.rb +2 -2
 - metadata +3 -5
 - data/bin/metrics-elb-full.rb +0 -145
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: cf38e747e9eacaf74e5266c61fb6425729e033b72258e95a97c2c2c3bfafaa6e
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: ac749130f70447fc122f00613424793ea1f699184bccc1bee71de020a75c0c84
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 88e750cb8957949dcf0d9d235f182e5327841b9dac8aa0fe53689012a2a7dbd6c49d4f5591d95284175d45aaff0a66115b7569ba4e7bcd05841937a348598447
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: b923084b699ebb9a26ac5e11632573a79d9ff432b6de1b5434d2ca027283d017ae611517981b6656435bf5a5f7d83232c39e4fc44dfc1fdac63db71b185c1854
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -5,6 +5,15 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            ## [Unreleased]
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
      
 8 
     | 
    
         
            +
            ## [11.0.0] - 2018-02-09
         
     | 
| 
      
 9 
     | 
    
         
            +
            ### Breaking Changes
         
     | 
| 
      
 10 
     | 
    
         
            +
            - metrics-elb-full.rb: removed in favor of metrics-elb.rb, which is slightly more configurable and uses the AWS-SDK v2 already. Compared to metrics-elb-full.rb, metrics-elb.rb no longer takes --aws-access-key, --aws-secret-access-key flags, Authentication should be configured per [here](https://github.com/sensu-plugins/sensu-plugins-aws/blob/master/README.md#authentication). --scheme has a default value of `elb` now (@multani)
         
     | 
| 
      
 11 
     | 
    
         
            +
            - metrics-elb.rb: honors the --fetch_age flag which now looks up values 60 seconds in the past by default. This was the intended behavior, as documented in the NOTES section (@multani)
         
     | 
| 
      
 12 
     | 
    
         
            +
            - metrics-elb.rb: --scheme default value is `elb` now, to be more consistent with the other metrics checks (@multani)
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            ### Fixed
         
     | 
| 
      
 15 
     | 
    
         
            +
            - metrics-elb.rb: properly handle the --scheme and --fetch_age flags (@multani)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       8 
17 
     | 
    
         
             
            ## [10.2.0] - 2018-01-20
         
     | 
| 
       9 
18 
     | 
    
         
             
            ### Added
         
     | 
| 
       10 
19 
     | 
    
         
             
            - `check-s3-bucket-visiblity.rb` - checks an S3 bucket for existence of a website configuration or bucket policy containing `Get*`,
         
     | 
| 
         @@ -427,7 +436,8 @@ WARNING:  This release contains major breaking changes that will impact all user 
     | 
|
| 
       427 
436 
     | 
    
         
             
            ### Added
         
     | 
| 
       428 
437 
     | 
    
         
             
            - initial release
         
     | 
| 
       429 
438 
     | 
    
         | 
| 
       430 
     | 
    
         
            -
            [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/ 
     | 
| 
      
 439 
     | 
    
         
            +
            [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/11.0.0...HEAD
         
     | 
| 
      
 440 
     | 
    
         
            +
            [11.0.0]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/10.2.0...11.0.0
         
     | 
| 
       431 
441 
     | 
    
         
             
            [10.2.0]:https://github.com/sensu-plugins/sensu-plugins-aws/compare/10.1.2...10.2.0
         
     | 
| 
       432 
442 
     | 
    
         
             
            [10.1.2]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/10.1.1...10.1.2
         
     | 
| 
       433 
443 
     | 
    
         
             
            [10.1.1]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/10.1.0...10.1.1
         
     | 
    
        data/bin/metrics-elb.rb
    CHANGED
    
    | 
         @@ -52,7 +52,7 @@ class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite 
     | 
|
| 
       52 
52 
     | 
    
         
             
                     description: 'Metric naming scheme, text to prepend to metric',
         
     | 
| 
       53 
53 
     | 
    
         
             
                     short: '-s SCHEME',
         
     | 
| 
       54 
54 
     | 
    
         
             
                     long: '--scheme SCHEME',
         
     | 
| 
       55 
     | 
    
         
            -
                     default: ''
         
     | 
| 
      
 55 
     | 
    
         
            +
                     default: 'elb'
         
     | 
| 
       56 
56 
     | 
    
         | 
| 
       57 
57 
     | 
    
         
             
              option :fetch_age,
         
     | 
| 
       58 
58 
     | 
    
         
             
                     description: 'How long ago to fetch metrics for',
         
     | 
| 
         @@ -106,8 +106,8 @@ class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite 
     | 
|
| 
       106 
106 
     | 
    
         
             
                    }
         
     | 
| 
       107 
107 
     | 
    
         
             
                  ],
         
     | 
| 
       108 
108 
     | 
    
         
             
                  statistics: [value],
         
     | 
| 
       109 
     | 
    
         
            -
                  start_time: config[:end_time] - config[:period],
         
     | 
| 
       110 
     | 
    
         
            -
                  end_time: config[:end_time],
         
     | 
| 
      
 109 
     | 
    
         
            +
                  start_time: config[:end_time] - config[:fetch_age] - config[:period],
         
     | 
| 
      
 110 
     | 
    
         
            +
                  end_time: config[:end_time] - config[:fetch_age],
         
     | 
| 
       111 
111 
     | 
    
         
             
                  period: config[:period]
         
     | 
| 
       112 
112 
     | 
    
         
             
                )
         
     | 
| 
       113 
113 
     | 
    
         
             
              end
         
     | 
| 
         @@ -117,8 +117,16 @@ class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite 
     | 
|
| 
       117 
117 
     | 
    
         
             
                static_value = {}
         
     | 
| 
       118 
118 
     | 
    
         
             
                statistics.each do |key, static|
         
     | 
| 
       119 
119 
     | 
    
         
             
                  r = cloud_watch_metric(key, static, load_balancer_name)
         
     | 
| 
       120 
     | 
    
         
            -
                   
     | 
| 
       121 
     | 
    
         
            -
             
     | 
| 
      
 120 
     | 
    
         
            +
                  keys = if config[:scheme] == ''
         
     | 
| 
      
 121 
     | 
    
         
            +
                           []
         
     | 
| 
      
 122 
     | 
    
         
            +
                         else
         
     | 
| 
      
 123 
     | 
    
         
            +
                           [config[:scheme]]
         
     | 
| 
      
 124 
     | 
    
         
            +
                         end
         
     | 
| 
      
 125 
     | 
    
         
            +
                  keys.concat [load_balancer_name, key, static]
         
     | 
| 
      
 126 
     | 
    
         
            +
                  metric_key = keys.join('.')
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
                  static_value[metric_key] = static
         
     | 
| 
      
 129 
     | 
    
         
            +
                  result[metric_key] = r[:datapoints][0] unless r[:datapoints][0].nil?
         
     | 
| 
       122 
130 
     | 
    
         
             
                end
         
     | 
| 
       123 
131 
     | 
    
         
             
                result.each do |key, value|
         
     | 
| 
       124 
132 
     | 
    
         
             
                  output key.downcase.to_s, value[static_value[key].downcase], value[:timestamp].to_i
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: sensu-plugins-aws
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version:  
     | 
| 
      
 4 
     | 
    
         
            +
              version: 11.0.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Sensu-Plugins and contributors
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2018- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2018-02-09 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: sensu-plugin
         
     | 
| 
         @@ -326,7 +326,6 @@ executables: 
     | 
|
| 
       326 
326 
     | 
    
         
             
            - metrics-ec2-count.rb
         
     | 
| 
       327 
327 
     | 
    
         
             
            - metrics-ec2-filter.rb
         
     | 
| 
       328 
328 
     | 
    
         
             
            - metrics-elasticache.rb
         
     | 
| 
       329 
     | 
    
         
            -
            - metrics-elb-full.rb
         
     | 
| 
       330 
329 
     | 
    
         
             
            - metrics-elb.rb
         
     | 
| 
       331 
330 
     | 
    
         
             
            - metrics-emr-steps.rb
         
     | 
| 
       332 
331 
     | 
    
         
             
            - metrics-rds.rb
         
     | 
| 
         @@ -409,7 +408,6 @@ files: 
     | 
|
| 
       409 
408 
     | 
    
         
             
            - bin/metrics-ec2-count.rb
         
     | 
| 
       410 
409 
     | 
    
         
             
            - bin/metrics-ec2-filter.rb
         
     | 
| 
       411 
410 
     | 
    
         
             
            - bin/metrics-elasticache.rb
         
     | 
| 
       412 
     | 
    
         
            -
            - bin/metrics-elb-full.rb
         
     | 
| 
       413 
411 
     | 
    
         
             
            - bin/metrics-elb.rb
         
     | 
| 
       414 
412 
     | 
    
         
             
            - bin/metrics-emr-steps.rb
         
     | 
| 
       415 
413 
     | 
    
         
             
            - bin/metrics-rds.rb
         
     | 
| 
         @@ -447,7 +445,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       447 
445 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       448 
446 
     | 
    
         
             
            requirements: []
         
     | 
| 
       449 
447 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       450 
     | 
    
         
            -
            rubygems_version: 2.7. 
     | 
| 
      
 448 
     | 
    
         
            +
            rubygems_version: 2.7.5
         
     | 
| 
       451 
449 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       452 
450 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       453 
451 
     | 
    
         
             
            summary: Sensu plugins for working with an AWS environment
         
     | 
    
        data/bin/metrics-elb-full.rb
    DELETED
    
    | 
         @@ -1,145 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #! /usr/bin/env ruby
         
     | 
| 
       2 
     | 
    
         
            -
            #
         
     | 
| 
       3 
     | 
    
         
            -
            # elb-full-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: aws-sdk-v1
         
     | 
| 
       16 
     | 
    
         
            -
            #   gem: sensu-plugin
         
     | 
| 
       17 
     | 
    
         
            -
            #
         
     | 
| 
       18 
     | 
    
         
            -
            # USAGE:
         
     | 
| 
       19 
     | 
    
         
            -
            #   #YELLOW
         
     | 
| 
       20 
     | 
    
         
            -
            #
         
     | 
| 
       21 
     | 
    
         
            -
            # NOTES:
         
     | 
| 
       22 
     | 
    
         
            -
            #   Returns latency statistics by default.  You can specify any valid ELB metric type, see
         
     | 
| 
       23 
     | 
    
         
            -
            #   http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html#elb-metricscollected
         
     | 
| 
       24 
     | 
    
         
            -
            #
         
     | 
| 
       25 
     | 
    
         
            -
            #   By default fetches statistics from one minute ago.  You may need to fetch further back than this;
         
     | 
| 
       26 
     | 
    
         
            -
            #   high traffic ELBs can sometimes experience statistic delays of up to 10 minutes.  If you experience this,
         
     | 
| 
       27 
     | 
    
         
            -
            #   raising a ticket with AWS support should get the problem resolved.
         
     | 
| 
       28 
     | 
    
         
            -
            #   As a workaround you can use eg -f 300 to fetch data from 5 minutes ago.
         
     | 
| 
       29 
     | 
    
         
            -
            #
         
     | 
| 
       30 
     | 
    
         
            -
            # LICENSE:
         
     | 
| 
       31 
     | 
    
         
            -
            #   Copyright 2013 Bashton Ltd http://www.bashton.com/
         
     | 
| 
       32 
     | 
    
         
            -
            #   Released under the same terms as Sensu (the MIT license); see LICENSE
         
     | 
| 
       33 
     | 
    
         
            -
            #   for details.
         
     | 
| 
       34 
     | 
    
         
            -
            #
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
            require 'sensu-plugin/metric/cli'
         
     | 
| 
       37 
     | 
    
         
            -
            require 'aws-sdk-v1'
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
            class ELBMetrics < Sensu::Plugin::Metric::CLI::Graphite
         
     | 
| 
       40 
     | 
    
         
            -
              option :elbname,
         
     | 
| 
       41 
     | 
    
         
            -
                     description: 'Name of the Elastic Load Balancer (separate with commas for multiple ELBs)',
         
     | 
| 
       42 
     | 
    
         
            -
                     short: '-n ELB_NAME',
         
     | 
| 
       43 
     | 
    
         
            -
                     long: '--name ELB_NAME',
         
     | 
| 
       44 
     | 
    
         
            -
                     required: true
         
     | 
| 
       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 :aws_access_key,
         
     | 
| 
       60 
     | 
    
         
            -
                     short: '-a AWS_ACCESS_KEY',
         
     | 
| 
       61 
     | 
    
         
            -
                     long: '--aws-access-key AWS_ACCESS_KEY',
         
     | 
| 
       62 
     | 
    
         
            -
                     description: "AWS Access Key. Either set ENV['AWS_ACCESS_KEY'] or provide it as an option",
         
     | 
| 
       63 
     | 
    
         
            -
                     default: ENV['AWS_ACCESS_KEY']
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
              option :aws_secret_access_key,
         
     | 
| 
       66 
     | 
    
         
            -
                     short: '-k AWS_SECRET_KEY',
         
     | 
| 
       67 
     | 
    
         
            -
                     long: '--aws-secret-access-key AWS_SECRET_KEY',
         
     | 
| 
       68 
     | 
    
         
            -
                     description: "AWS Secret Access Key. Either set ENV['AWS_SECRET_KEY'] or provide it as an option",
         
     | 
| 
       69 
     | 
    
         
            -
                     default: ENV['AWS_SECRET_KEY']
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
       71 
     | 
    
         
            -
              option :aws_region,
         
     | 
| 
       72 
     | 
    
         
            -
                     short: '-r AWS_REGION',
         
     | 
| 
       73 
     | 
    
         
            -
                     long: '--aws-region REGION',
         
     | 
| 
       74 
     | 
    
         
            -
                     description: 'AWS Region (defaults to us-east-1).',
         
     | 
| 
       75 
     | 
    
         
            -
                     default: 'us-east-1'
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
     | 
    
         
            -
              def aws_config
         
     | 
| 
       78 
     | 
    
         
            -
                { access_key_id: config[:aws_access_key],
         
     | 
| 
       79 
     | 
    
         
            -
                  secret_access_key: config[:aws_secret_access_key],
         
     | 
| 
       80 
     | 
    
         
            -
                  region: config[:aws_region] }
         
     | 
| 
       81 
     | 
    
         
            -
              end
         
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
              def run
         
     | 
| 
       84 
     | 
    
         
            -
                statistic_type = {
         
     | 
| 
       85 
     | 
    
         
            -
                  'Latency' => 'Average',
         
     | 
| 
       86 
     | 
    
         
            -
                  'RequestCount' => 'Sum',
         
     | 
| 
       87 
     | 
    
         
            -
                  'UnHealthyHostCount' => 'Average',
         
     | 
| 
       88 
     | 
    
         
            -
                  'HealthyHostCount' => 'Average',
         
     | 
| 
       89 
     | 
    
         
            -
                  'HTTPCode_Backend_2XX' => 'Sum',
         
     | 
| 
       90 
     | 
    
         
            -
                  'HTTPCode_Backend_3XX' => 'Sum',
         
     | 
| 
       91 
     | 
    
         
            -
                  'HTTPCode_Backend_4XX' => 'Sum',
         
     | 
| 
       92 
     | 
    
         
            -
                  'HTTPCode_Backend_5XX' => 'Sum',
         
     | 
| 
       93 
     | 
    
         
            -
                  'HTTPCode_ELB_4XX' => 'Sum',
         
     | 
| 
       94 
     | 
    
         
            -
                  'HTTPCode_ELB_5XX' => 'Sum',
         
     | 
| 
       95 
     | 
    
         
            -
                  'BackendConnectionErrors' => 'Sum',
         
     | 
| 
       96 
     | 
    
         
            -
                  'SurgeQueueLength' => 'Maximum',
         
     | 
| 
       97 
     | 
    
         
            -
                  'SpilloverCount' => 'Sum'
         
     | 
| 
       98 
     | 
    
         
            -
                }
         
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
       100 
     | 
    
         
            -
                begin
         
     | 
| 
       101 
     | 
    
         
            -
                  et = Time.now - config[:fetch_age]
         
     | 
| 
       102 
     | 
    
         
            -
                  st = et - 60
         
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
       104 
     | 
    
         
            -
                  cw = AWS::CloudWatch::Client.new aws_config
         
     | 
| 
       105 
     | 
    
         
            -
             
     | 
| 
       106 
     | 
    
         
            -
                  options = {
         
     | 
| 
       107 
     | 
    
         
            -
                    'namespace' => 'AWS/ELB',
         
     | 
| 
       108 
     | 
    
         
            -
                    'dimensions' => [
         
     | 
| 
       109 
     | 
    
         
            -
                      {
         
     | 
| 
       110 
     | 
    
         
            -
                        'name' => 'LoadBalancerName',
         
     | 
| 
       111 
     | 
    
         
            -
                        'value' => nil
         
     | 
| 
       112 
     | 
    
         
            -
                      }
         
     | 
| 
       113 
     | 
    
         
            -
                    ],
         
     | 
| 
       114 
     | 
    
         
            -
                    'start_time' => st.iso8601,
         
     | 
| 
       115 
     | 
    
         
            -
                    'end_time' => et.iso8601,
         
     | 
| 
       116 
     | 
    
         
            -
                    'period' => 60
         
     | 
| 
       117 
     | 
    
         
            -
                  }
         
     | 
| 
       118 
     | 
    
         
            -
                  config[:elbname].split(',').each do |elbname|
         
     | 
| 
       119 
     | 
    
         
            -
                    graphitepath = if config[:scheme] == ''
         
     | 
| 
       120 
     | 
    
         
            -
                                     elbname.to_s
         
     | 
| 
       121 
     | 
    
         
            -
                                   else
         
     | 
| 
       122 
     | 
    
         
            -
                                     "#{config[:scheme]}.#{elbname}"
         
     | 
| 
       123 
     | 
    
         
            -
                                   end
         
     | 
| 
       124 
     | 
    
         
            -
                    result = {}
         
     | 
| 
       125 
     | 
    
         
            -
                    statistic_type.each do |key, value|
         
     | 
| 
       126 
     | 
    
         
            -
                      options['metric_name'] = key
         
     | 
| 
       127 
     | 
    
         
            -
                      options['dimensions'][0]['value'] = elbname
         
     | 
| 
       128 
     | 
    
         
            -
                      options['statistics'] = [value]
         
     | 
| 
       129 
     | 
    
         
            -
                      r = cw.get_metric_statistics(options)
         
     | 
| 
       130 
     | 
    
         
            -
                      result[key] = r[:datapoints][0] unless r[:datapoints][0].nil?
         
     | 
| 
       131 
     | 
    
         
            -
                    end
         
     | 
| 
       132 
     | 
    
         
            -
             
     | 
| 
       133 
     | 
    
         
            -
                    # We only return data when we have some to return
         
     | 
| 
       134 
     | 
    
         
            -
                    next if result.nil?
         
     | 
| 
       135 
     | 
    
         
            -
                    result.each do |key, value|
         
     | 
| 
       136 
     | 
    
         
            -
                      puts key, value
         
     | 
| 
       137 
     | 
    
         
            -
                      output graphitepath + ".#{key}", value[:sum] || value[:average], value[:timestamp].to_i
         
     | 
| 
       138 
     | 
    
         
            -
                    end
         
     | 
| 
       139 
     | 
    
         
            -
                  end
         
     | 
| 
       140 
     | 
    
         
            -
                rescue StandardError => e
         
     | 
| 
       141 
     | 
    
         
            -
                  critical "Error: exception: #{e}"
         
     | 
| 
       142 
     | 
    
         
            -
                end
         
     | 
| 
       143 
     | 
    
         
            -
                ok
         
     | 
| 
       144 
     | 
    
         
            -
              end
         
     | 
| 
       145 
     | 
    
         
            -
            end
         
     |