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

GetMetricData

最近更新时间2024.05.16 17:08:33

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

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

使用限制

  • 调用接口前,请为子账号授权云监控只读权限CloudMonitorReadOnlyAccess,否则会报错User is not authorized to perform: Volc_Observe:GetMetricsData on resource。具体操作请参见为IAM用户授权
  • GetMetricData接口仅支持单指标查询,无法一次查询多个指标数据。
  • 一个主账号及该账号下的IAM账号,1秒内调用GetMetricData接口的次数不超过20次,否则将触发限流。
  • 单请求最多支持批量拉取10个实例的监控数据,单请求的数据点数限制为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。
EndTimeInteger1648049400查询的时间选段的结束时间,秒级时间戳,例如1632904801。
InstancesArray of Instance-要查询的监控指标信息。
MetricNameStringInTraffic要查询的监控指标名称。参见云监控指标查询下各产品的MetricName
NamespaceStringVCM_EIP要查询的监控指标所属的产品空间。参见云监控指标查询下各产品的Namespace
SubNamespaceStringInstance要查询的指标所属的维度。SubNamespace在不同Namespace下的可选值不同,参见云监控指标查询下各产品的SubNamespace

Period

String

1m

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

GroupBy

Array of String

AlternativeDimensionName

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

注意

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

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

Instance

参数类型是否必选示例值描述
DimensionsArray of Dimension-要查询的指标维度。

Dimension

参数类型是否必选示例值描述
NameStringResourceID检索指标的KEY,例如:ResourceID。
ValueStringeip-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本身无变化,只是选段区间被偏移。

返回参数

参数类型示例值描述
DataArray 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 DimensionResponse-查询条件。
DataPointsArray of DataPoint-在指定时间选段内,指定指标的聚合时序数据。

DimensionResponse

参数类型示例值描述
NameStringResourceID检索指标的KEY,例如:ResourceID。
ValueStringeip-13fxxxx对应KEY的值,例如:instance-123。

DataPoint

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

请求示例

注意

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

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

返回示例

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