2016-07-20 6 views
4

私はGoogle Monitoring APIを使用して、クラウドの使用に関する測定基準を取得しようとしています。私はPython用のGoogleクライアントライブラリを使用しています。Google Monitoring API:値を取得する

APIは、900を超えるStackdriver Monitoringメトリックにアクセスする機能をアドバタイズします。私は、インスタンス数、合計メモリなど、いくつかの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

これを読んでいる人には、問題を見つけました。私は値が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() 

になります。

関連する問題