我正在尝试使用Google Monitoring API来检索有关我的云使用情况的指标。我正在使用Python的Google客户端库。
API宣传了访问900多个Stackdriver监控指标的能力。我有兴趣访问一些Google应用程序引擎指标,如实例数、总内存等。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))
我的输出
我希望看到实际的实例计数。我怎样才能做到这一点?
对于任何读到这篇文章的人来说,我都解决了问题。我假设这些值来自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()
此示例的开始时间和结束时间涵盖了一个月的数据。