文档首页> > API参考> 接口> 查询指标

查询指标

更新时间: 2018-12-05 14:17

功能介绍

该接口用于查询系统当前可监控的指标列表,可以指定指标命名空间、指标名称、维度、所属资源的编号(格式为:resType_resId),分页查询的起始位置和返回的最大记录条数。

URI

POST /v1/{project_id}/ams/metrics?type={type}&limit={limit}&start={start}

参数说明请参见表1

表1 参数说明

参数

是否必选

描述

project_id

租户从IAM申请到的projectid,一般为32位字符串;运维侧调用可选om或apm——其中om表示运维侧命名空间,apm表示租户侧命名空间。

type

指标查询方式,当取值为"inventory"时,将使用请求体中inventoryId传递的资源参数进行关联指标的查询。其他情况通过请求体中的metricItems传递的信息进行指标查询。

limit

取值范围(0,1000],默认值为1000。用于限制本次返回的结果数据条数。

start

分页查询起始位置,为非负整数。

请求消息

请求参数

请求参数如表2所示。

表2 请求参数

参数

是否必选

参数类型

取值范围

描述

metricItems

arrays

-

当URI参数中的type取值不为“inventory”时,就通过该数组传递的参数信息进行指标查询。

namespace

string

PAAS.CONTAINER、PAAS.NODE、PAAS.SLA、PAAS.AGGR、CUSTOMMETRICS等

指标命名空间

PAAS.CONTAINER:应用指标

PAAS.NODE:节点指标

PAAS.SLA:SLA指标

PAAS.AGGR:集群指标

CUSTOMMETRICS:自定义指标

dimensions

array

-

指标维度

dimensions.name:维度名称,如clusterName、clusterId、appName、appID、deploymentName、podName、podID、containerName、containerID等。

dimensions.value:维度取值,如应用实例ID具体的值。

metricName

string

-

指标名称,长度最大为1000。

inventoryId

当URI参数中的type取值为“inventory”时,该字段必填

string

-

资源编号,格式为“resType_resId”。

其中resType部分的枚举值为:host, application, instance, container, process, network, storage, volume。

当URI参数中的type取值为“inventory”时,通过该参数查询关联的指标,不再使用metricItems数组中的信息。

Header说明

请求消息头(Header)如表3所示。

表3 Header说明

名称

是否必选

说明

X-Auth-Token

从IAM服务获取的用户Token。

Content-Type

指定类型为application/json。

请求示例

示例1(通过namespace+appName+clusterName查询)

/v1/{projectId}/ams/metrics
{
    "metricItems": [
        {
            "namespace": "PAAS.CONTAINER",
            "dimensions":[
                {
                    "name":"appName",
                    "value":"demo"
                },
                {
                    "name":"clusterName",
                    "value":"test"
                }
            ]
        }
    ]
}

示例2(通过inventoryId查询)

/v1/{projectId}/ams/metrics?type=inventory
{
    "inventoryId":"application_01eedcae-f5e3-11e7-b56f-fa163e3fee10"
}

响应消息

响应参数

响应参数如表4所示。

表4 响应参数

参数名称

类型

描述

errorCode

string

响应码,SVCSTG_AMS_2000000代表正常返回。

errorMessage

string

响应信息描述。

metaData

JSON对象

查询结果元数据信息,包括分页信息等。

metaData.count

int

当前返回结果条数。

metaData.total

int

总条数。

metaData.start

string

下一个开始的标记,用于分页,null表示无更多数据。

metrics

JSON对象

指标对象列表

namespace

string

名字空间

metricName

string

指标名称

unit

string

指标单位

dimensions

JSON对象

指标维度列表

响应示例

{ 
    "errorCode": "SVCSTG_AMS_2000000", 
    "errorMessage": "success", 
    "metaData": { 
      "count": 1, 
      "start": null, 
      "total": 1 
    }, 
    "metrics": [{ 
        "namespace": "abc", 
        "metricName": "cpuUsage", 
        "unit":"Percent", 
        "dimensions": [{ 
                    "name": "instance_id", 
                    "value": "demo1" 
        }]     
    }] 
}

状态码

  • 正常

    状态码如表5所示。

表5 状态码

状态码

描述

200

正常

表6 状态码

状态码

描述

400 Bad Request

请求错误。

401 Unauthorized

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

403 Forbidden

请求页面被禁止访问。

500 Internal Server Error

请求未完成,服务异常。

503 Service Unavailable

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

错误码

表7 错误码

错误码

错误信息

处理措施

SVCSTG_AMS_4000101

Namespace is invalid

请检查对应的参数是否符合要求。

SVCSTG_AMS_4000102

inventoryId type invalid

请检查对应的参数是否符合要求。

SVCSTG_AMS_4000103

ProjectId is empty

请检查对应的参数是否符合要求。

SVCSTG_AMS_4000105

Query param 'limit' is invalid

请检查对应的参数是否符合要求。

SVCSTG_AMS_4000106

Query param 'start' is invalid

请检查对应的参数是否符合要求。

SVCSTG_AMS_4000109

Query metricName is invalid

请检查对应的参数是否符合要求。

SVCSTG_AMS_5030001

Cassandra session is null

请联系管理员解决。

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

在文档使用中是否遇到以下问题







请至少选择或填写一项反馈信息

字符长度不能超过100

反馈内容不能为空!

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区
点我,12·12惊喜等着你哦~