更新时间:2023-05-06 GMT+08:00

查询监控数据

功能介绍

查询指定时间范围指定指标的指定粒度的监控数据,可以通过参数指定需要查询的数据维度。

URI

GET /V1.0/{project_id}/metric-data?namespace={namespace}&metric_name={metric_name}&dim.{i}=key,value&from={from}&to={to}&period={period}&filter={filter}

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    项目ID。

    获取方式请参见获取项目ID

    表2 查询检索参数

    名称

    是否必选

    参数类型

    说明

    namespace

    String

    服务的命名空间,各服务命名空间请参考支持监控的服务列表

    格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,service.item总长度最短为3,最大为32。

    metric_name

    String

    指标名称,可通过查询指标列表获取已有的告警规则的指标名。

    from

    String

    查询数据起始时间,UNIX时间戳,单位毫秒。

    由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。

    以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30。

    说明:

    云监控会根据所选择的聚合粒度向前取整from参数。

    to

    String

    查询数据截止时间UNIX时间戳,单位毫秒。from必须小于to。

    period

    Integer

    监控数据粒度。

    取值范围:

    • 60,实时数据
    • 300,5分钟粒度
    • 1200,20分钟粒度
    • 3600,1小时粒度
    • 14400,4小时粒度
    • 86400,1天粒度

    filter

    String

    数据聚合方式,支持的聚合方式如下:

    • average:聚合周期内指标数据的平均值。
    • max:聚合周期内指标数据的最大值。
    • min:聚合周期内指标数据的最小值。
    • sum:聚合周期内指标数据的求和值。
    • variance:聚合周期内指标数据的方差。
    说明:

    聚合运算的过程是将一个聚合周期范围内的数据点根据相应的聚合算法聚合到周期起始边界上,以5分钟聚合周期为例:假设当前时间点为10:35,则10:30~10:35之间的原始数据会被聚合到10:30这个时间点。

    dim

    String

    指标的维度,目前最大支持3个维度,维度编号从0开始;维度格式为dim.{i}=key,value,key的最大长度32,value的最大长度为256。

    以下维度说明仅为实例,具体是否支持多维度请参见各服务中监控指标说明中的维度说明。

    单维度:dim.0=instance_id,i-12345

    多维度:dim.0=instance_id,i-12345&dim.1=instance_name,i-1234

    • 对于dimensions字段的内容,可通过调用查询指标列表接口,在其响应体的相关指标数据中获取。
    • 对于OBS相关指标数据,当进行了相关OBS接口操作时可查询到相关指标数据,否则查询结果为空。
  • 样例:

    请求样例一:查看弹性云服务器ID为6f3c6f91-4b24-4e1b-b7d1-a94ac1cb011d的CPU使用率在2019-04-30 20:00:00到2019-04-30 22:00:00时间内,周期为20分钟的监控数据。

    GET https://{云监控的endpoint}/V1.0/{project_id}/metric-data?namespace=SYS.ECS&metric_name=cpu_util&dim.0=instance_id,6f3c6f91-4b24-4e1b-b7d1-a94ac1cb011d&from=1556625600000&to=1556632800000&period=1200&filter=min

请求消息

响应消息

  • 响应参数
    表3 响应参数

    名称

    参数类型

    说明

    datapoints

    Array of objects

    指标数据列表。详细参数请参见表4

    由于查询数据时,云监控会根据所选择的聚合粒度向前取整from参数,所以datapoints中包含的数据点有可能会多于预期。

    metric_name

    String

    指标ID,例如弹性云服务器的监控指标CPU使用率,对应的metric_name为cpu_util。各服务监控指标请参考支持监控的服务列表

    表4 datapoints字段数据结构说明

    名称

    参数类型

    说明

    average

    Double

    聚合周期内指标数据的平均值。

    max

    Double

    聚合周期内指标数据的最大值。

    min

    Double

    聚合周期内指标数据的最小值。

    sum

    Double

    聚合周期内指标数据的求和值。

    variance

    Double

    聚合周期内指标数据的方差。

    timestamp

    Long

    指标采集时间,UNIX时间戳,单位毫秒。

    unit

    String

    指标单位。

  • 响应样例
    响应样例一:维度为SYS.ECS,响应弹性云服务器,CPU使用率的平均值。
    {
        "datapoints": [
            {
                "average": 0.23, 
                "timestamp": 1442341200000, 
                "unit": "%"
            }
        ], 
        "metric_name": "cpu_util"
    }
    响应样例二:维度为SYS.ECS,响应弹性云服务器,CPU使用率的求和值。
    {
        "datapoints": [
            {
                "sum": 0.53, 
                "timestamp": 1442341200000, 
                "unit": "%"
            }
        ], 
        "metric_name": "cpu_util"
    }
    响应样例三:维度为SYS.ECS,响应弹性云服务器,CPU使用率的最大值。
    {
        "datapoints": [
            {
                "max": 0.13, 
                "timestamp": 1442341200000, 
                "unit": "%"
            }
        ], 
        "metric_name": "cpu_util"
    }

返回值

  • 正常

    200

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误。

    401 Unauthorized

    未提供认证信息,或认证信息错误。

    403 Forbidden

    请求页面被禁止访问。

    408 Request Timeout

    请求超出了服务器的等待时间。

    429 Too Many Requests

    当前请求过多。

    500 Internal Server Error

    请求未完成,服务异常。

    503 Service Unavailable

    系统暂时不可用,请求受限。

错误码

请参考返回错误码说明