You need to enable JavaScript to run this app.
导航

GetMetricData

最近更新时间2024.04.12 15:14:43

首次发布时间2022.03.28 15:06:06

调用GetMetricData接口,查询指定指标在指定时间选段内聚合的时序数据。

前提条件

调用接口前,请为子账号授权云监控只读权限CloudMonitorReadOnlyAccess,否则会报错User is not authorized to perform: Volc_Observe:GetMetricsData on resource。具体操作请参见为IAM用户授权

使用限制

  • GetMetricData接口仅支持单指标查询,无法一次查询多个指标数据。
  • 一个主账号及该账号下的IAM账号,1秒内调用GetMetricData接口的次数不超过10次,否则将触发限流。
  • 单请求最多支持批量拉取10个实例的监控数据,单请求的数据点数限制为1440个。
    如果您需要调用的指标和对象较多,可能会因为限频导致拉取失败,建议尽量将请求按照时间维度均摊。

Request URL

POST https://open.volcengineapi.com?Action=GetMetricData&Version=2018-01-01

ServiceName : Volc_Observe
Region : cn-beijing 
AccessKey : xxx
SecretKey : xxx

请求参数

参数

类型

是否必填

示例值

描述

StartTime

Integer

1648048800

查询的时间选段的开始时间,秒级时间戳,例如1632904500。

EndTime

Integer

1648049400

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

Instances

Array

-

要查询的监控指标信息。具体请参见Instance请求参数

MetricName

String

InTraffic

要查询的监控指标名称。参见云监控指标查询下各产品的MetricName

Namespace

String

VCM_EIP

要查询的监控指标所属的产品空间。参见云监控指标查询下各产品的Namespace

SubNamespace

String

Instance

要查询的指标所属的维度。SubNamespace在不同Namespace下的可选值不同,参见云监控指标查询下各产品的SubNamespace

Period

String

1m

查询数据的间隔粒度,支持秒(s)、分钟(m)、时(h)、天(d)和周(w)粒度。
例如查询10分钟内的数据,并根据1分钟进行分割,则会返回10条数据。当时间选段较长时,不建议使用小单位作为间隔,否则将会导致数据集过大。关于传入Period后,StartTime、EndTime偏移的说明,请参见Period说明

GroupBy

String

AlternativeDimensionName

要查询的指标所使用的分组维度。默认所有Dimension会作为指标分组维度。如果指标存在可选Dimension,使用时需要额外指定GroupBy参数。详情请参见云监控指标查询下各产品的可选Dimensions

注意

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

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

Instance请求参数

参数

类型

是否必填

示例值

描述

Dimensions

Array

-

要查询的指标维度。具体请参见Dimension请求参数

Dimension请求参数

参数

类型

是否必填

示例值

说明

Name

String

ResourceID

检索指标的KEY,例如:ResourceID。

Value

String

eip-13fxxxx

对应KEY的值,例如:instance-123。

Period说明

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

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

当传入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本身无变化,只是选段区间被偏移。

返回数据

参数

类型

示例值

描述

Namespace

String

VCM_EIP

监控指标所属的产品空间。

MetricName

String

InTraffic

查询的监控指标的名称。

DescriptionCN

String

入方向流量

查询指标的中文名。

DescriptionEN

String

EIP In Traffic

查询指标的英文名。

StartTime

Integer

1648048800

查询选段时间的开始时间戳,秒级时间戳。

EndTime

Integer

1648049400

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

Period

String

1m

查询的时间间隔粒度。

  • m:分钟
  • s:秒
  • h:小时
  • d:天
  • w:周

Unit

String

Bytes

指标的单位。

MetricDataResults

Array

-

查询到的指标数据。具体请参见MetricDataResult数据结构

MetricDataResult数据结构

参数

类型

示例值

描述

Legend

String

eip_in_bytes

查询指标MetricName的别名。

Dimensions

Array

-

查询条件。

DataPoints

Array

-

在指定时间选段内,指定指标的聚合时序数据。具体请参见DataPoint数据结构

DataPoint数据结构

参数

类型

示例值

描述

Timestamp

Integer

1648048800

数据采集的秒级时间戳。

Value

Float

864

数据值。

请求示例

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"
                }
            ]
        }
    ],
    "SubNamespace":"Instance"
}

注意

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

返回示例

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