Google监控API:获取值

时间:2016-07-20 19:10:44

标签: google-app-engine google-api google-client

我尝试使用Google Monitoring API来检索有关我的云使用情况的指标。我正在使用Google Client Library for Python。

API宣传了访问900多个Stackdriver监控指标的功能。我有兴趣访问一些Google App Engine指标,例如实例数,总内存等.Google API指标页面列出了我应该能够访问的所有指标。

我已按照Google客户端库页面上的指南进行操作,但我的API调用脚本不打印指标,只是打印指标描述。

如何使用Google Monitoring API访问指标而不是说明?

我的代码:

from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build
...
response = monitor.projects().metricDescriptors().get(name='projects/{my-project-name}/metricDescriptors/appengine.googleapis.com/system/instance_count').execute()

print(json.dumps(response, sort_keys=True, indent=4))

My Output

我希望看到实际的实例数。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

对于读这篇文章的人,我想出了问题所在。我假设值将来自api中的“度量描述符”类,但这是一个不好的假设。

对于值,您需要使用'timeSeries'调用。对于此调用,您需要指定要监视的项目,开始时间,结束时间和过滤器(所需的度量标准,如cpu,内存等)。

因此,要检索应用引擎项目内存,上面的代码变为

request = monitor.projects().timeSeries().list(name='projects/my-appengine-project',
                                        interval_startTime='2016-05-02T15:01:23.045123456Z',
                                        interval_endTime='2016-06-02T15:01:23.045123456Z', 
                                        filter='metric.type="appengine.googleapis.com/system/memory/usage"')

response = request.execute()

此示例包含涵盖一个月数据的开始时间和结束时间。