stephencoetzee
stephencoetzee

Reputation: 123

Newrelic: Cloudwatch Plugin with AWS Autoscaling Groups responses being returned nil?

Am using the Cloudwatch plugin for Newrelic found here: https://github.com/brettcave/newrelic_aws_cloudwatch_plugin

For some reason though, my responses are all being returned nil:

[2014-09-19 12:43:15 UTC] INFO: Retrieving statistics: {:namespace=>"AWS/EC2", :metric_name=>"DiskWriteOps", :statistic=>"Sum", :unit=>"Count", :dimension=>{:name=>"AutoScalingGroupName", :value=>"AUTOSCALER-BackendGroup-19N8SYDEIPGYV"}, :period=>60, :start_time=>"2014-09-19T12:41:15Z", :component_name=>"AUTOSCALER-BackendGroup-19N8SYDEIPGYV", :end_time=>"2014-09-19T12:41:45Z", :dimensions=>[{:name=>"AutoScalingGroupName", :value=>"AUTOSCALER-BackendGroup-19N8SYDEIPGYV"}]}
[2014-09-19 12:43:15 UTC] INFO: Retrieved statistics: {:datapoints=>[], :label=>"DiskWriteOps", :response_metadata=>{:request_id=>"3cb0c8a6-3ffa-11e4-aea1-91b035de76f7"}}
[2014-09-19 12:43:15 UTC] DEBUG: metric_name: DiskWriteOps, statistic: Sum, unit: Count, response: nil

This is the code as described in the above link, which conforms to the aws cloudwatch list-metrics --namespace "AWS/EC2" command output.

module NewRelicAWS
 module Collectors
    class ASG < Base
      def initialize(access_key, secret_key, region, options)
        super(access_key, secret_key, region, options)
        @asg = AWS::AutoScaling.new(
          :access_key_id => @aws_access_key,
          :secret_access_key => @aws_secret_key,
          :region => @aws_region
        )
      end

def groups @asg.groups end def metric_list [ ["CPUUtilization", "Average", "Percent"], ["DiskReadOps", "Sum", "Count"], ["DiskWriteOps", "Sum", "Count"], ["DiskWriteBytes" , "Sum", "Bytes"], ["NetworkIn", "Sum", "Bytes"], ["NetworkOut", "Sum", "Bytes"] ] end def collect data_points = [] groups.each do |group| metric_list.each do |(metric_name, statistic, unit)| data_point = get_data_point( :namespace => "AWS/EC2", :metric_name => metric_name, :statistic => statistic, :unit => unit, :dimension => { :name => "AutoScalingGroupName", :value => group.name }, :period => 60, :start_time => (Time.now.utc-120).iso8601, :component_name => group.name ) NewRelic::PlatformLogger.debug("metric_name: #{metric_name}, statistic: #{statistic}, unit: #{unit}, response: #{data_point.inspect}") unless data_point.nil? data_points << data_point end end end data_points end end end end

This is nearly identical to the EC2 plugin, though the EC2 plugin works. Any idea what could be wrong?

Thanks in advance.

Upvotes: 0

Views: 521

Answers (1)

karlpcrowley
karlpcrowley

Reputation: 526

Does the official New Relic plugin work for you? https://github.com/newrelic-platform/newrelic_aws_cloudwatch_plugin

Upvotes: 0

Related Questions