我正在尝试使用stackdriver api获取多个时间序列。具体来说,是GCP负载平衡器数据。 使用stackdriver仪表板,我创建了一个带有一些参数的图表,并且该图表运行良好,显示了回答过滤器的所有不同时间序列。 我已经将相同的参数复制到API游乐场,并且json响应返回一个时间序列(可能是第一个时间序列)。
这是查询(从游乐场控制台获取):
return gapi.client.monitoring.projects.timeSeries.list({
"name": "projects/my_project",
"aggregation.alignmentPeriod": "60s",
"aggregation.crossSeriesReducer": "REDUCE_SUM",
"aggregation.groupByFields": [
"metric.label.cache_result",
"metric.label.response_code"
],
"aggregation.perSeriesAligner": "ALIGN_RATE",
"filter": "metric.type=\"loadbalancing.googleapis.com/https/request_count\" AND resource.label.forwarding_rule_name=\"my_rule_name\"",
"interval.endTime": "2018-11-16T15:04:05Z",
"interval.startTime": "2006-11-15T11:04:05Z",
"pageSize": 1,
"view": "FULL"
})
REST响应:
{
"timeSeries": [
{
"metric": {
"labels": {
"response_code": "0",
"cache_result": "DISABLED"
},
"type": "loadbalancing.googleapis.com/https/request_count"
},
"resource": {
"type": "https_lb_rule",
"labels": {
"project_id": "my_project_id"
}
},
"metricKind": "GAUGE",
"valueType": "DOUBLE",
"points": [
{
"interval": {
"startTime": "2018-11-15T13:12:05Z",
"endTime": "2018-11-15T13:12:05Z"
},
"value": {
"doubleValue": 0.05
}
}
]
}
],
"nextPageToken": "CPvK9vuH/qibZxJtIh0KEAoGCKXhtd8FEgYIpeG13wUSCRmamZmZmZmpPyoNaHR0cHNfbGJfcnVsZTI9chkKFWfdsfpYzovcmVzcG9uc2VfY29kZRAAciAKFG1ldHJpYzovY2FjaGVfcmVzdWx0GghESVNBQkxFRA=="
}
答案 0 :(得分:1)
在请求中,您传递"pageSize": 1
,该通知告诉api仅返回1个结果。删除此参数将使其在一次响应中最多返回100k结果。
传递"view": "FULL"
时,每个结果都是时间序列中的单个点。如果您删除了pageSize
参数或增加了该参数,但又因为太多而又没有在一次响应中得到所有要点,则可以将pageToken
设置为{ {1}}以获得下一组结果。