首页 > 解决方案 > 如何从 Amazon Cloudwatch 获取公制单位?

问题描述

背景

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

例如:字节百分比

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

旁注:我正在使用 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]
    }, {

标签: c#amazon-web-servicesaws-sdkamazon-cloudwatch

解决方案


从示例响应的外观来看,您使用的是 GetMetricData API。GetMetricData API 不会返回单位,请参阅此处了解响应数据结构:https ://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataResult.html

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

如果您没有设置单位并且数据存在多个单位,则会返回消息说明找到了哪些单位。

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


推荐阅读