1

simple_aws gem を調べようとしています。Cloudwatch に接続してメトリクス統計を取得すると、次のようなエラーが発生します。

cw.get_metric_statistics(
 :metric_name => metric_name,
 :period => period,
 :start_time => start_time,
 :end_time => end_time,
 :statistics => "Average",
 :namespace => "AWS/EC2"
)

SimpleAWS::UnsuccessfulResponse: MissingParameter (400):

   The parameter Namespace is required.
   The parameter MetricName is required.  
   The parameter StartTime is required.  
   The parameter EndTime is required.  
   The parameter Period is required.  
   The parameter Statistics is required. 

後で、これを試しました:

cw.get_metric_statistics(
options => [
  {:metric_name=>"CPUUtilization",
   :period=>60,
   :start_time => Time.now()-86400,
   :end_time => Time.now()-3600,
   :statistics => "Average"
  }
]
)

しかし、次のエラーが発生しました:

URI::InvalidComponentError: bad component(expected query component): 

Action=GetMetricStatistics&{:metric_name=>"CPUUtilization"}.1.metric_name=CPUUtilization&{:metric_name=>"CPUUtilization"}.1.period=60&{:metric_name=>"CPUUtilization"}.1.start_time=2012-05-06%2014%3A25%3A28%20%2B0530&{:metric_name=>"CPUUtilization"}.1.end_time=2012-05-07%2013%3A25%3A28%20%2B0530&{:metric_name=>"CPUUtilization"}.1.statistics=Average&AWSAccessKeyId=AccessKey&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-05-07T08%3A55%3A28Z&Version=2010-08-01&Signature=Signature

もう一回試してみる:

cw.get_metric_statistics(
namespace: 'AWS/EC2',
measure_name: 'CPUUtilization',
statistics: 'Average',
start_time: time-1000,
dimensions: "InstanceId=#{instance_id}"

)

ArgumentError: Array と Array の比較に失敗しました

このコマンドを発行するための正しい構文を見つけるのを手伝ってください。

4

2 に答える 2

2
result = cw.get_metric_statistics(step,
      start_time,
      end_time,
      metric,
      'AWS/RDS',
      'Average',
      dimensions={'DBInstanceIdentifier': [indentifier]})

これも私のために働いた

于 2015-02-15T07:10:16.273 に答える
1

これが機能することがわかりました。

lat = cw.get_metric_statistics(
  'MetricName' => 'Latency',
  'Period' => 60,
  'StartTime' => (Time.now() - 3600).iso8601,
  'EndTime' => Time.now().iso8601,
  'Statistics.member.1' => "Average",
  'Namespace' => "AWS/ELB",
  'Unit' => 'Seconds'
)

1 つ目は、日時が ISO8601 形式である必要があること、2 つ目はパラメーターの大文字と小文字を正しく区別する必要があること、3 つ目は Unit パラメーターが必要であること、そして最後に、Statistics にはその後に名前空間 (?) が必要であることです。

少し遅れたとしても、これが役立つことを願っています。

于 2012-05-29T23:53:48.060 に答える