You need to enable JavaScript to run this app.
导航
GetMetricData
最近更新时间:2024.11.04 20:11:13首次发布时间:2022.03.28 15:06:06

查询指定指标在指定时间选段内聚合的时序数据。

使用限制

  • 调用接口前,请为子账号授权云监控只读权限CloudMonitorReadOnlyAccess,否则会报错User is not authorized to perform: Volc_Observe:GetMetricsData on resource。具体操作请参见为IAM用户授权
  • GetMetricData接口仅支持单指标查询,无法一次查询多个指标数据。
  • 一个主账号及该账号下的IAM账号,1秒内调用GetMetricData接口的次数不超过20次,否则将触发限流。
  • 单请求最多支持批量拉取50个实例的监控数据,单请求的数据点数限制为1440个。
    如果您需要调用的指标和对象较多,可能会因为限频导致拉取失败,建议尽量将请求按照时间维度均摊。

请求说明

  • 请求方式:POST
  • 请求地址:https://open.volcengineapi.com?Action=GetMetricData&Version=2018-01-01
ServiceName : Volc_Observe 
Region : cn-beijing 
AccessKey : xxx 
SecretKey : xxx

调试

请求参数

Query

参数类型是否必选示例值描述
ActionStringGetMetricData接口名称。当前 API 的名称为 GetMetricData
VersionString2018-01-01接口版本。当前 API 的版本为 2018-01-01

Body

参数类型是否必选示例值描述
StartTimeInteger1648048800查询的时间选段的开始时间,秒级时间戳,例如1632904500。

EndTime

Integer

1648049400

查询的时间选段的结束时间,秒级时间戳,例如1632904801。

  • EndTime > StartTime。
  • EndTime不能输入未来时间。
  • EndTime < 产品允许查询天数 + StartTime。

Instances

Array of Instance

-

要查询的监控指标信息。

  • 存在多个instance时,instance和instance之间的逻辑关系是or。
  • 如果不传instance参数,会返回该地域下所有实例的监控数据。数据量较大可能会导致max-select-point超限,对业务产生影响,请谨慎操作。
    如果已报错,请参见错误码部分max-select-point原因和解决方案。
MetricNameStringInTraffic要查询的监控指标名称。参见云监控指标查询下各产品的MetricName
NamespaceStringVCM_EIP要查询的监控指标所属的产品空间。参见云监控指标查询下各产品的Namespace
SubNamespaceStringInstance要查询的指标所属的维度。SubNamespace在不同Namespace下的可选值不同,参见云监控指标查询下各产品的SubNamespace

Period

String

1m

查询数据的间隔粒度,支持秒(s)、分钟(m)、时(h)、天(d)和周(w)粒度。

  • 例如查询10分钟内的数据,并根据1分钟进行分割,则会返回10条数据。
  • 当时间选段较长时,不建议使用小单位作为间隔,否则将会导致数据集过大,可能会导致max-select-bucket超限,对业务产生影响,请谨慎操作。
    如果已报错,请参见错误码部分max-select-bucket原因和解决方案。
  • 关于传入Period后,StartTime、EndTime偏移的说明,请参见Period说明

GroupBy

Array of String

AlternativeDimensionName

要查询的指标所使用的分组维度。参见云监控指标查询下各产品的Dimensions

  • 如果指标的Dimension列未标注可选,说明不存在可选Dimension,默认所有Dimension都是必选,都会作为指标分组维度。
    必选的含义是无论是否传递这些Dimension参数,返回的维度都会以这些Dimension进行分组。
    例如,缓存数据库Redis版的指标AggregatedTotalQps,Dimension列为ResourceID,Node
    • 当Dimension参数传递Node,不传递ReourceID。
      • 查询条件:Node=xxx and ResourceID=*
      • 分组维度:Node,ResourceId
    • 当Dimension参数传递Node和ReourceID。
      • 查询条件::Node=xxx and ResouceId=yyy
      • 分组维度:Node,ResourceId
  • 如果指标的Dimension列标注了可选,说明存在可选Dimension,使用时需要额外指定GroupBy参数。示例说明,请参见GroupBy说明

注意

SDK必须升级到以下版本,才支持通过GroupBy筛选分组维度。

  • Python:1.0.37版本以上
  • Go:1.0.97版本以上
  • Java:0.1.75版本以上

Instance

参数类型是否必选示例值描述

Dimensions

Array of Dimension

-

要查询的指标维度。参见云监控指标查询下各产品的Dimensions

  • 每个Dimension里只包含一组KV。
  • 存在多个Dimension时,Dimension和Dimension之间的逻辑关系是and。

Dimension

参数类型是否必选示例值描述
NameStringResourceID检索指标的KEY。
ValueStringeip-13fxxxx对应KEY的值。

Period说明

例如,查询10分钟内的数据,并根据1分钟进行分割,则会返回10条数据。
当时间选段较长时,不建议使用小单位作为间隔,否则将会导致数据集过大。后端具有大值拒绝限制,当传入的参数形成如下条件时,请求失败:

下述条件中 EndTime、StartTime 和 Period 的单位为:秒(s)
(EndTime - StartTime) / Period >= 5000

对于传入的 StartTime、EndTime、Period 组合,取值范围建议参考下表。

查询时间范围(EndTime-StartTime)监控数据聚合周期(Period)
(0~6]小时30秒
(6~24]小时1分钟
(1~7]]天5分钟
(7~15]天60分钟

当传入Period后,StartTime、 EndTime参数将会被偏移。返回的数据集合中,时间将会转移至Period的整分处。整分处为某时间戳可以整除Period。

例如:

  • 传入Period为30s,则在当前分钟内,0s,30s为整分点。
  • 传入Period为20s,则在当前分钟内,0s,20s,40s为整分点。
  • 传入Period为10m,则在当前小时内,0m0s,10m0s,20m0s,30m0s,40m0s,50m0s为整分点。
  • 传入Period为24h,则在当前时间段内,UTC+0 00:00:00为整分点。

    例如,StartTime为2023-03-02 00:00:00,EndTime为2023-03-05 00:00:00。

    实际上,UTC时间是StartTime为2023-03-01 16:00:00,EndTime为2023-03-04 16:00:00。

    因此,返回的是UTC时间2023-03-02 00:00:00,2023-03-03 00:00:00,2023-03-04 00:00:00的数据。

StartTime总会向后偏移至最近一个整分点,EndTime总会向前偏移至整分点。因此返回的数据长度和数据时间点会有一定变化,但是StartTime和EndTime本身无变化,只是选段区间被偏移。

GroupBy说明

GroupBy是要查询的指标所使用的分组维度。参见云监控指标查询下各产品的Dimensions

  • 如果指标的Dimension列未标注可选,说明不存在可选Dimension,默认所有Dimension都是必选,都会作为指标分组维度。
    必选的含义是无论是否传递这些Dimension参数,返回的维度都会以这些Dimension进行分组。
    例如,缓存数据库Redis版的指标AggregatedTotalQps,Dimension列为ResourceID,Node

    • 当Dimension参数传递Node,不传递ReourceID。
      • 查询条件:Node=xxx and ResourceID=*
      • 分组维度:Node,ResourceId
    • 当Dimension参数传递Node和ReourceID。
      • 查询条件::Node=xxx and ResouceId=yyy
      • 分组维度:Node,ResourceId
  • 如果指标的Dimension列标注了可选,说明存在可选Dimension,使用时需要额外指定GroupBy参数。
    例如,云搜索服务的指标CacheHitRatio,Dimension列为ResourceID,Node(可选)。多示例场景的配置示例如下:

    {
        "Instances": [
            {
                "Dimensions": [
                    {
                        "Name": "ResourceID",
                        "Value": "eip-13fxxxx"
                    },
                    {
                        "Name": "Node",
                        "Value": "xxxx"
                    }
                ]
            },
            {
                "Dimensions": [
                    {
                        "Name": "ResourceID",
                        "Value": "eip-14dxxxx"
                    },
                    {
                        "Name": "Node",
                        "Value": "xxxx"
                    }
                ]
            }
        ],
        "GroupBy": [
            "Node"
        ]
    }
    

返回参数

参数类型示例值描述
DataObject of Data-返回数据。

Data

参数类型示例值描述
NamespaceStringVCM_EIP监控指标所属的产品空间。
MetricNameStringInTraffic查询的监控指标的名称。
DescriptionCNString入方向流量查询指标的中文名。
DescriptionENStringEIP In Traffic查询指标的英文名。
StartTimeInteger1648048800查询选段时间的开始时间戳,秒级时间戳。
EndTimeInteger1648049400查询选段时间的结束时间戳,秒级时间戳。

Period

String

1m

查询的时间间隔粒度。

  • m:分钟
  • s:秒
  • h:小时
  • d:天
  • w:周
UnitStringBytes指标的单位。
MetricDataResultsArray of MetricData-查询到的指标数据。

MetricData

参数类型示例值描述
LegendStringeip_in_bytes查询指标MetricName的别名。
DimensionsArray of Dimension-查询条件。
DataPointsArray of DataPoint-在指定时间选段内,指定指标的聚合时序数据。

Dimension

参数类型示例值描述
NameStringResourceID检索指标的KEY。
ValueStringeip-13fxxxx对应KEY的值。

DataPoint

参数类型示例值描述
TimestampInteger1648048800数据采集的秒级时间戳。
ValueFloat864数据值。

请求示例

注意

一些云产品是全域产品,没有地域限制,请求头中Region须配置为no-region

全域云产品列表如下所示:

产品名称Namespace
Anycast公网IPVCM_AnycastEIP
字节互联服务-网络VCM_BIS
内容分发网络VCM_CDN
云企业网VCM_CEN
全站加速VCM_DCDN
全球加速VCM_GA
边缘联网 SD-WANVCM_SDWAN
边缘计算-边缘智能VCM_VEI
POST https://open.volcengineapi.com?Action=GetMetricData&Version=2018-01-01
ServiceName: Volc_Observe
Region: cn-beijing
AccessKey: xxx
SecretKey: xxx

{
    "MetricName": "InTraffic",
    "StartTime": 1648048800,
    "EndTime": 1648049400,
    "Period": "1m",
    "Namespace": "VCM_EIP",
    "Instances": [
        {
            "Dimensions": [
                {
                    "Name": "ResourceID",
                    "Value": "eip-13fxxxx"
                }
            ]
        },
        {
            "Dimensions": [
                {
                    "Name": "ResourceID",
                    "Value": "eip-14dxxxx"
                }
            ]
        }
    ],
    "SubNamespace": "Instance"
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230****708A9",
        "Action": "GetMetricData",
        "Version": "2018-01-01",
        "Service": "",
        "Region": ""
    },
    "Result": {
        "Data": {
            "Namespace": "VCM_EIP",
            "MetricName": "InTraffic",
            "DescriptionCN": "入方向流量",
            "DescriptionEN": "EIP In Traffic",
            "Period": "1m",
            "StartTime": 1648048800,
            "EndTime": 1648049400,
            "Unit": "Bytes(SI)",
            "MetricDataResults": [
                {
                    "Legend": "eip_in_bytes",
                    "Dimensions": [
                        {
                            "Name": "ResourceID",
                            "Value": "eip-13fxxxx"
                        }
                    ],
                    "DataPoints": [
                        {
                            "Timestamp": 1648048800,
                            "Value": 864
                        },
                        {
                            "Timestamp": 1648048860,
                            "Value": 420
                        },
                        {
                            "Timestamp": 1648049340,
                            "Value": 720
                        }
                    ]
                },
                {
                    "Legend": "eip_in_bytes",
                    "Dimensions": [
                        {
                            "Name": "ResourceID",
                            "Value": "eip-14dfxxxx"
                        }
                    ],
                    "DataPoints": [
                        {
                            "Timestamp": 1648048800,
                            "Value": 833
                        },
                        {
                            "Timestamp": 1648048860,
                            "Value": 401
                        },
                        {
                            "Timestamp": 1648049340,
                            "Value": 799
                        }
                    ]
                }
            ]
        }
    }
}

错误码

本接口错误码如下表所示,公共错误码请参见错误码

HTTP 状态码错误码错误信息解决方案

400

LimitExceeded

max-select-point has exceeded the limit.

  1. 缩小查询时间范围(StartTime、EndTime)。

  2. 添加具体筛选条件(Instances)避免选中的实例或维度数量过大。

400

LimitExceeded

max-select-buckets has exceeded the limit.

  1. 缩小查询时间范围(StartTime、EndTime)。

  2. 增大聚合的时间间隔(Period)。