You need to enable JavaScript to run this app.
导航
GetMetricData
最近更新时间:2025.05.28 18:39:34首次发布时间: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

调试

请求参数

参数类型是否必选示例值描述
ActionStringGetMetricData接口名称。当前 API 的名称为 GetMetricData
VersionString2018-01-01接口版本。当前 API 的版本为 2018-01-01
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后,StartTimeEndTime偏移的说明,请参见 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 >= 5000

说明

上述条件中EndTimeStartTimePeriod的单位均为:秒(s)。

对于传入的StartTimeEndTimePeriod组合,取值范围建议参考下表。

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

当传入Period后,StartTimeEndTime参数将会被偏移。返回的数据集合中,时间将会转移至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总会 向前 偏移至整分点。因此返回的数据长度和数据时间点会有一定变化,但是StartTimeEndTime本身无变化,只是选段区间被偏移。

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"
    ]
}

请求示例

注意

一些云产品是全域产品,没有地域限制,Host须配置为open.volcengineapi.com,请求头中的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
Content-Type: application/json
{
    "MetricName": "InTraffic",
    "Namespace": "VCM_EIP",
    "Period": "1m",
    "StartTime": 1648048800,
    "EndTime": 1648049400,
    "GroupBy": [
        ""
    ],
    "Instances": [
        {
            "Dimensions": [
                {
                    "Name": "ResourceID",
                    "Value": "eip-13fxxxx"
                }
            ]
        }
    ],
    "SubNamespace": "Instance"
}

返回参数

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

Data

参数类型示例值描述
UnitStringBytes指标的单位。

Period

String

1m

查询的时间间隔粒度。

  • m:分钟
  • s:秒
  • h:小时
  • d:天
  • w:周
EndTimeInteger1648049400查询选段时间的结束时间戳,秒级时间戳。
NamespaceStringVCM_EIP监控指标所属的产品空间。
StartTimeInteger1648048800查询选段时间的开始时间戳,秒级时间戳。
MetricNameStringInTraffic查询的监控指标的名称。
DescriptionCNString入方向流量查询指标的中文名。
DescriptionENStringEIP In Traffic查询指标的英文名。
MetricDataResultsArray of MetricData-查询到的指标数据。

MetricData

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

DataPoint

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

Dimension

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

返回示例

{
    "ResponseMetadata": {
        "Action": "GetMetricData",
        "Region": "cn-beijing",
        "Service": "volc_observe_boe",
        "Version": "2018-01-01",
        "RequestId": "20230604110420****100232280022D31"
    },
    "Result": {
        "Data": {
            "Unit": "Bytes",
            "Period": "1m",
            "EndTime": 1648049400,
            "Namespace": "VCM_EIP",
            "StartTime": 1648048800,
            "MetricName": "InTraffic",
            "DescriptionCN": "入方向流量",
            "DescriptionEN": "EIP In Traffic",
            "MetricDataResults": [
                {
                    "Legend": "eip_in_bytes",
                    "DataPoints": [
                        {
                            "Value": 864,
                            "Timestamp": 1648048800
                        }
                    ],
                    "Dimensions": [
                        {
                            "Name": "ResourceID",
                            "Value": "eip-13fxxxx"
                        }
                    ]
                }
            ]
        }
    }
}

错误码

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

HTTP 状态码错误代码 Code错误信息 Message处理措施

400

LimitExceeded

max-select-point has exceeded the limit.

  • 缩小查询时间范围(StartTime、EndTime)。
  • 添加具体筛选条件(Instances)避免选中的实例或维度数量过大。

400

LimitExceeded

max-select-buckets has exceeded the limit.

  • 缩小查询时间范围(StartTime、EndTime)。
  • 增大聚合的时间间隔(Period)。