Amazon web services 为什么CloudWatch只接受维度作为集合?

Amazon web services 为什么CloudWatch只接受维度作为集合?,amazon-web-services,amazon-cloudwatch,Amazon Web Services,Amazon Cloudwatch,通过查看CloudWatch api,我发现了以下情况: GetMetricStatisticsRequest对象具有以下方法: 集合维度集合维度 描述度量质量的维度列表。 因此,我假设可以传递一个维度数组,并获得每个维度的数据点。例如: ArrayList<Dimension> dimensions = new ArrayList<Dimension>(); Dimension firstDimension = new Dimension();

通过查看CloudWatch api,我发现了以下情况:

GetMetricStatisticsRequest对象具有以下方法: 集合维度集合维度 描述度量质量的维度列表。

因此,我假设可以传递一个维度数组,并获得每个维度的数据点。例如:

    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
    }
这确实有效,只是无法识别哪个数据点属于哪个维度:返回的数据点集合包含度量的所有数据点

如果无法区分数据点,则没有理由向GetMetricStatisticsRequest传递多个维度。因此,为什么CloudWatch API只接收集合?矩阵中有多个维度有什么意义?我是不是遗漏了什么


谢谢。

您误解了概念维度

在CloudWatch中,每个度量都必须有一个名称空间和一个度量名称。它还可以有多达十个维度——这些维度是度量的附加属性,名称/值对可以帮助您唯一地识别它们

例如,每实例EC2指标只有InstanceId维度,但每服务计费指标有两个维度:服务和货币

有关CloudWatch度量概念的更多信息,请参见:

因此,您可能需要发送两个GetMetricStatistics调用,一个使用InstanceId=ID1,另一个使用InstanceId=ID2