Stackdriver REST API-获取多个时间序列

时间:2018-11-15 13:45:18

标签: api google-cloud-platform stackdriver

我正在尝试使用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==" }

我期望得到的实际图表(从SD控制台-相同的参数): expected

1 个答案:

答案 0 :(得分:1)

在请求中,您传递"pageSize": 1,该通知告诉api仅返回1个结果。删除此参数将使其在一次响应中最多返回100k结果。

传递"view": "FULL"时,每个结果都是时间序列中的单个点。如果您删除了pageSize参数或增加了该参数,但又因为太多而又没有在一次响应中得到所有要点,则可以将pageToken设置为{ {1}}以获得下一组结果。

此处有更多信息:https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list#body.QUERY_PARAMETERS.page_size