查询指标
功能介绍
该接口用于查询系统当前可监控的指标列表,可以指定指标命名空间、指标名称、维度、所属资源的编号(格式为:resType_resId),分页查询的起始位置和返回的最大记录条数。
URI
POST /v1/{project_id}/ams/metrics
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 租户从IAM申请到的projectid,一般为32位字符串。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| type | 否 | String | 指标查询方式。 |
| limit | 否 | String | 用于限制本次返回的结果数据条数。 取值范围(0,1000],默认值为1000。 |
| start | 否 | String | 分页查询起始位置,为非负整数。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 从IAM服务获取的用户Token。 |
| Content-Type | 是 | String | 指定类型为application/json。 枚举值:
|
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| inventoryId | 否 | String | 资源编号,格式为resType_resId。其中resType部分的枚举值为:host, application, instance, container, process, network, storage, volume。当URI参数中的type取值为“inventory”时,通过该参数查询关联的指标,不再使用metricItems数组中的信息。 |
| metricItems | 否 | Array of QueryMetricItemOptionParam objects | 当URI参数中的type取值不为“inventory”时,就通过该数组传递的参数信息进行指标查询。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| dimensions | 否 | Array of Dimension objects | 指标维度列表。 |
| metricName | 否 | String | 指标名称。名称长度取值范围为1~255个字符。 取值范围:AOM提供的基础指标,cpuUsage、cpuCoreUsed等。 cpuUage:cpu使用率; cpuCoreUsed:cpu内核占用; 用户上报的自定义指标名称。 |
| namespace | 是 | String | 指标命名空间。 取值范围 PAAS.CONTAINER:组件指标、实例指标、进程指标和容器指标的命名空间, PAAS.NODE: 主机指标、网络指标、磁盘指标和文件系统指标的命名空间, PAAS.SLA:SLA指标的命名空间, PAAS.AGGR:集群指标的命名空间, CUSTOMMETRICS:默认的自定义指标的命名空间。 枚举值:
|
响应参数
状态码: 200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| errorCode | String | 响应码。 |
| errorMessage | String | 响应信息描述。 |
| metrics | Array of MetricItemResultAPI objects | 指标对象列表。 |
| metaData | MetaData object | 查询结果元数据信息,包括分页信息等。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| dimensions | Array of Dimension objects | 指标维度列表。 |
| dimensionvaluehash | String | 指标哈希值。 |
| metricName | String | 指标名称。 |
| namespace | String | 命名空间。 |
| unit | String | 指标单位。 |
请求示例
-
通过namespace+appName+clusterName查询指标列表。
POST https://{Endpoint}/v1/{project_id}/ams/metrics { "metricItems" : [ { "namespace" : "PAAS.CONTAINER", "dimensions" : [ { "name" : "appName", "value" : "demo" }, { "name" : "clusterName", "value" : "test" } ] } ] } -
通过inventoryId查询指标列表。
POST https://{Endpoint}/v1/{project_id}/ams/metrics?type=inventory { "inventoryId" : "application_************7-b56f-fa163e3fee10" }
响应示例
状态码: 200
OK 请求执行完成。
{
"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"
} ]
} ]
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK 请求执行完成。 |
| 400 | BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 |
| 401 | Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 |
| 403 | Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 |
| 500 | InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 |
| 503 | ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。 |
错误码
请参见错误码。