如何从 Amazon Cloudwatch 获取公制单位?

How to get Metric Units from Amazon Cloudwatch?

背景

我正在对 AmazonCloudWatch api 进行一些调用,并且可以使用 GetMetricDataAsyncListMetricsAsync 调用成功接收回数据。但是返回的数据不包括数据实际是什么单位。

例如:字节百分比

没有单位,我无法有意义地显示收集的数据。

旁注:我使用的是 C# SDK。

问题

是否可以检索指标数据的单位?

收到的示例数据

{
        "id": "q21",
        "label": "DiskWriteBytes",
        "messages": [],
        "statusCode": {
            "value": "PartialData"
        },
        "timestamps": ["2019-01-14T14:58:00+00:00", "2019-01-14T14:53:00+00:00", "2019-01-14T14:48:00+00:00"],
        "values": [0.0, 0.0, 0.0]
    }, {
        "id": "q22",
        "label": "NetworkIn",
        "messages": [],
        "statusCode": {
            "value": "PartialData"
        },
        "timestamps": ["2019-01-14T14:58:00+00:00", "2019-01-14T14:53:00+00:00", "2019-01-14T14:48:00+00:00"],
        "values": [21136.0, 21556.8, 20118.6]
    }, {

从示例响应的外观来看,您正在使用 GetMetricData API。 GetMetricDataAPI不会return单位,响应数据结构见这里:https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataResult.html

如果您在请求中设置单位,API 将按单位过滤,因此 returned 的任何数据都将使用请求的单位。

如果您没有设置单位并且数据存在多个单位,将return编辑消息说明找到了哪些单位。

如果您事先不知道单位并且需要从数据中获取它,您可以使用 GetMetricStatistics API,它将 return 单位:https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricStat.html