调查CloudWatch api我发现了以下情况:
GetMetricStatisticsRequest对象具有以下方法: " setDimensions(集合维度) 描述度量标准质量的维度列表。" link to API
因此,我假设可以传递一个Dimensions数组并获取每个维度的Datapoints。所以,一个例子是:
ArrayList<Dimension> dimensions = new ArrayList<Dimension>();
Dimension firstDimension = new Dimension();
firstDimension.setName("InstanceId");
firstDimension.setValue(instanceId1);
dimensions.add(firstDimension);
Dimension secondDimension = new Dimension();
secondDimension.setName("InstanceId");
secondDimension.setValue(instanceId2);
dimensions.add(secondDimension);
metricStatisticRequest.setDimensions(dimensions);
...
GetMetricStatisticsResult results = cloudWatchClient.getMetricStatistics(metricStatisticRequest);
for(Datapoint dataPoint : results.getDatapoints())
{
// do something with datapoints...
// here I get all the datapoints, of both firstDimension and secondDimension are mixed up
}
确实有效,只是没有办法确定哪个Datapoint属于哪个Dimension:返回的Datapoints集合包含指标的所有Datapoints。
如果无法区分数据点,则没有理由将多个维度传递给GetMetricStatisticsRequest。那么,为什么CloudWatch API只接收集合?在母校中拥有多个维度的重点是什么?我错过了什么......?
感谢。
答案 0 :(得分:0)
你误解了概念维度。
在CloudWatch中,每个指标都必须具有命名空间和指标名称。它还可以包含多达十个维度 - 这些是指标,名称/值对的附加属性,可帮助您唯一标识它们。
例如,每个实例的EC2指标只有&#34; InstanceId&#34;维度,但每服务结算指标有两个维度:&#34;服务&#34;和&#34;货币&#34;。
有关CloudWatch指标概念的更多信息,请点击此处: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html
所以你想要做的就是发送2个GetMetricStatistics调用,一个使用InstanceId = ID1,另一个使用InstanceID = ID2