查询时序数据
功能介绍
该接口用于查询指定时间范围内的监控时序数据,可以通过参数指定需要查询的数据维度,数据周期等。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/samples
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
租户从IAM申请到的projectid,一般为32位字符串。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
fill_value |
否 |
String |
用于对查询到的时序数据进行断点插值,默认值为-1。-1:断点处使用-1进行表示。0 :断点处使用0进行表示。null:断点处使用null进行表示。average:断点处使用前后邻近的有效数据的平均值进行表示,如果不存在有效数据则使用null进行表示。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
samples |
是 |
Array of QuerySample objects |
时序数据对象列表。取值范围:JSON数组大小不超过20。 |
statistics |
是 |
Array of strings |
统计方式。取值范围:maximum,minimum,sum,average,sampleCount。 |
period |
是 |
Integer |
监控数据粒度。取值范围(枚举):60(表示粒度为1分钟),300(表示粒度为5分钟),900(表示粒度为15分钟),3600(表示粒度为1小时)。 |
time_range |
是 |
String |
timeRange用于指标查询时间范围,主要用于解决客户端时间和服务端时间不一致情况下,查询最近N分钟的数据。另可用于精确查询某一段时间的数据。 如:
格式: startTimeInMillis.endTimeInMillis.durationInMinutes 参数解释:
约束: 单次请求中,查询时长与周期需要满足以下条件: durationInMinutes * 60 / period <= 1440 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
namespace |
是 |
String |
时间序列命名空间。取值范围: PAAS.CONTAINER、PAAS.NODE、PAAS.SLA、PAAS.AGGR、CUSTOMMETRICS等。PAAS.CONTAINER:应用时间序列命名空间; PAAS.NODE:节点时间序列命名空间; PAAS.SLA:SLA时间序列命名空间;PAAS.AGGR:集群时间序列命名空间; CUSTOMMETRICS:自定义时间序列命名空间。 |
dimensions |
是 |
Array of DimensionSeries objects |
时间序列维度列表。可通过/v2/{project_id}/series接口中namespace+metric_name,查询当前监控的时间序列名称的时间序列维度列表。 |
metric_name |
是 |
String |
时间序列名称。名称长度取值范围为1~255个字符。取值范围:AOM提供的基础时间序列名称,cpuUsage、cpuCoreUsed等,cpuUsage:cpu使用率;cpuCoreUsed:cpu内核占用;用户上报的自定义时间序列名称。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
samples |
Array of SampleDataValue objects |
时间序列对象列表。 |
参数 |
参数类型 |
描述 |
---|---|---|
sample |
QuerySample object |
时间序列对象列表。 |
data_points |
Array of MetricDataPoints objects |
时序数据。 |
参数 |
参数类型 |
描述 |
---|---|---|
namespace |
String |
时间序列命名空间。取值范围: PAAS.CONTAINER、PAAS.NODE、PAAS.SLA、PAAS.AGGR、CUSTOMMETRICS等。PAAS.CONTAINER:应用时间序列命名空间; PAAS.NODE:节点时间序列命名空间; PAAS.SLA:SLA时间序列命名空间;PAAS.AGGR:集群时间序列命名空间; CUSTOMMETRICS:自定义时间序列命名空间。 |
dimensions |
Array of DimensionSeries objects |
时间序列维度列表。可通过/v2/{project_id}/series接口中namespace+metric_name,查询当前监控的时间序列名称的时间序列维度列表。 |
metric_name |
String |
时间序列名称。名称长度取值范围为1~255个字符。取值范围:AOM提供的基础时间序列名称,cpuUsage、cpuCoreUsed等,cpuUsage:cpu使用率;cpuCoreUsed:cpu内核占用;用户上报的自定义时间序列名称。 |
参数 |
参数类型 |
描述 |
---|---|---|
statistics |
Array of StatisticValue objects |
统计方式。 |
timestamp |
Long |
时间戳。 |
unit |
String |
时间序列单位。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息描述。 |
error_type |
String |
错误类型。 |
trace_id |
String |
请求id |
请求示例
通过namespace,metric_name和dimensions信息查询最近五分钟的监控时序数据。
https://{Endpoint}/v2/{project_id}/samples { "samples": [ { "namespace": "PAAS.CONTAINER", "metric_name": "aom_process_cpu_usage", "dimensions": [ { "name": "appName", "value": "aomApp" } ] } ], "period": 60, "time_range": "-1.-1.5",// 最近5分钟 "statistics": [ "sum" ] }
响应示例
状态码: 200
OK 请求执行完成。
{ "samples" : [ { "sample" : { "namespace" : "PAAS.CONTAINER", "metric_name" : "aom_process_cpu_usage", "dimensions" : [ { "name" : "appName", "value" : "aomApp" } ] }, "data_points" : [ { "timestamp" : "1694673300000", "unit" : "Percent", "statistics" : [ { "statistic" : "sum", "value" : "23" } ] } ] } ] }
状态码: 400
BadRequest 非法请求。建议直接修改该请求,不要重试该请求。
{ "error_code" : "AOM.04008105", "error_msg" : "Query metric data samples is invalid", "error_type" : "BAD_REQUEST", "trace_id" : "" }
状态码
状态码 |
描述 |
---|---|
200 |
OK 请求执行完成。 |
400 |
BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 |
401 |
Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 |
403 |
Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 |
500 |
InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 |
503 |
ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。 |
错误码
请参见错误码。