0

Cloudwatch API から再試行されるデータがいくつかあります。具体的には を使用しlistMetricsました。この呼び出しから取得したデータは次のとおりです。

{Metrics: [{Namespace: Testing, MetricName: hello123, Dimensions: [{Name: name, Value: 1425, }], }, {Namespace: Metric from grails, MetricName: hello123, Dimensions: [{Name: name, Value: 1068, }], },

期待通りの正しいデータでした。valueフィールドのみを返す方法が必要です。他のものではありません。Javaでこれを行う方法はありますか?

編集:

メトリックの作成に使用したコードは次のとおりです。

MetricDatum metricDatum = new MetricDatum().withMetricName("hello123").withValue(80.0)
Dimension tableDimension = new Dimension()
tableDimension.withName("hello123")
tableDimension.withValue("somvalues")
Collection<Dimension> values = new ArrayList<Dimension>();
values << tableDimension
metricDatum.withDimensions(values)
cloudWatch.putMetricData(new PutMetricDataRequest().withNamespace("Metric from grails").withMetricData(metricDatum))

ディメンション値をリストするために、次を使用します。

DimensionFilter tableDimension2 = new DimensionFilter() 
tableDimension2.withName("hello123")
Collection<DimensionFilter> values2 = new ArrayList<DimensionFilter>();
values2 << tableDimension2
query = new ListMetricsRequest().withNamespace("Testing").withDimensions(values2)
def result = amazonWebService.cloudWatch.listMetrics(query)

どこで間違いを犯していますか?

前もって感謝します。

4

1 に答える 1

0

CloudWatch での ListMetrics API 呼び出しは、メトリクス定義のみを返します。ListMetrics 呼び出しの応答で表示される値は、データポイントの値ではなく、メトリック名と名前空間と共にメトリック定義の一部であるディメンション (名前、値) のペアです。

送信したデータポイント値を取得するには、GetMetricStatistics API 呼び出しを使用します。一連のメトリックに対して呼び出すことはできません。個々のメトリックに対してのみ機能し、要求された時間間隔のデータポイント値を返します。データポイントを取得して 1 つのグラフを作成するための呼び出しと考えてください。

全体的なロジックは、おそらく次のようになります。1) ListMetrics を呼び出します。2) ListMetrics で返されるすべての結果に対して、GetMetricStatistics を呼び出します。

于 2013-03-10T21:32:49.493 に答える