このページでは、API 指標 を使用して、Google APIs と Google Cloud APIs の使用状況を追跡、理解する方法について説明します。
Google API は、次のことに役立つ詳細な使用状況の指標を生成します。
Google API の使用状況を追跡、把握する。
アプリケーションと Google API のパフォーマンスをモニタリングする。
アプリケーションと Google API の間の問題を検出する。
問題をトラブルシューティングしたり、Google の技術サポートを受けたりすることで、解決にかかる時間を劇的に短縮できます。
Google API が生成する指標は、Google のサイト信頼性エンジニアがサービスの正常性を評価する際に使用する標準シグナルです。これらの指標の対象は、リクエスト数、エラー率、合計レイテンシ、バックエンド レイテンシ、リクエスト サイズ、レスポンス サイズです。API 指標の定義については、Cloud Monitoring のドキュメント をご覧ください。
API 指標は、API ダッシュボード と Cloud Monitoring の 2 か所で表示できます。表示される指標はプロジェクトに固有のものであり、サービスのステータス全体を反映したものではありません。
API ダッシュボードを使用する
API 指標を表示する最も簡単な方法としては、Google Cloud コンソール の API ダッシュボード を使用します。このダッシュボードでは、API 使用に関するすべての指標状況の概要を表示することも、特定の API の使用状況を詳細に調べることもできます。
API 使用状況の概要については:
Cloud Console の [API とサービス ] セクションに移動します。デフォルトで、メインの API ダッシュボードが表示されます。このページで、プロジェクトに現在有効にされているすべての API と、次の指標の概要を示すグラフを確認できます。
トラフィック : API が有効にされているプロジェクトによって行われる、またはプロジェクトに関する 1 秒あたりのリクエスト数
エラー : 有効にされている API に対して行ったすべてのリクエストのうち、エラーが発生したリクエストの割合
中央値のレイテンシ : 有効にされている API に対するリクエストでの中央値のレイテンシ(利用可能な場合)。
注: このダッシュボードを表示するには、「プロジェクト閲覧者」の IAM 権限で十分です。 特定の API の使用状況の詳細を表示するには、次の手順に従います。
メインの API ダッシュボードに表示される API のリストで、詳細を表示する API を選択します。その API の概要ページに、レスポンス コード別の内訳を示す、詳細なトラフィック グラフが表示されます。
使用状況に関する情報をさらに詳しく調べるには、[指標を表示 ] を選択します。
デフォルトでは、事前に作成されている次のグラフが表示されます。ただし、表示できるグラフは他にもあります。
レスポンス コード別のトラフィック
API メソッド別のエラー数
50 番目、95 番目、99 番目のパーセンタイルにおける全体的なレイテンシ
API メソッド別のレイテンシ(中央値)
グラフをさらに追加するには、[グラフを選択 ] プルダウン メニューから、事前に作成されている追加のグラフを選択します。
Cloud Monitoring の使用
Cloud Monitoring を使用している場合は、API の使用状況をより詳細に把握するため、Metrics Explorer を使用して、利用可能な指標データを詳しく分析できます。Cloud Monitoring はさまざまな指標をサポートしています。このような指標とフィルタや集計を組み合わせることで、アプリケーションのパフォーマンスを詳しく分析できます。たとえば、リクエスト数の指標を HTTP レスポンス コード クラスのフィルタと組み合わせて、一定期間にわたるエラー率を示すダッシュボードを作成したり、Cloud Pub/Sub API に対するリクエストについて、95 番目のパーセンタイルにおけるレイテンシを調べたりできます。
利用可能な指標
次の表に、使用可能な serviceruntime 指標の一覧を示します。API 使用状況の指標は、モニタリング対象リソースとして consumed_api を含む指標です。
次の表の指標タイプの文字列には、serviceruntime.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は表内で省略されています。
ラベルをクエリする場合は、metric.labels. 接頭辞を使用します(例: metric.labels.LABEL ="VALUE ")。
指標タイプリリース ステージ (リソース階層レベル) 表示名
種類、タイプ、単位 モニタリング対象リソース
説明 ラベル
api/request_count
GA
(プロジェクト)
リクエスト数
DELTA、INT64、1
api
consumed_api
produced_api
完了したリクエストの数。60 秒ごとにサンプリングされます。 サンプリング後、データは最長 1800 秒間表示されません。protocol: リクエストのプロトコル(例: 「http」、「grpc」)。
response_code: HTTP リクエストの場合は HTTP レスポンス コード、gRPC リクエストの場合は対応する HTTP コード。https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto でコード マッピングをご覧ください。
response_code_class:
HTTP リクエストの場合はレスポンス コードクラス、gRPC リクエストの場合は対応する HTTP クラス(例: 「2xx」、「4xx」)。
grpc_status_code: gRPC リクエストの場合は gRPC の数値レスポンス コード、HTTP リクエストの場合は対応する gRPC コード。https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto でコード マッピングをご覧ください。
api/request_latencies
GA
(プロジェクト)
リクエストのレイテンシ
DELTA、DISTRIBUTION、s
api
consumed_api
produced_api
非ストリーミング リクエストのレイテンシ(秒単位)の分布。60 秒ごとにサンプリングされます。 サンプリング後、データは最長 1800 秒間表示されません。
api/request_latencies_backend
GA
(プロジェクト)
リクエストのバックエンド レイテンシ
DELTA、DISTRIBUTION、s
api
produced_api
非ストリーミング リクエストに対するバックエンド レイテンシ(秒単位)の分布。60 秒ごとにサンプリングされます。 サンプリング後、データは最長 1800 秒間表示されません。
api/request_latencies_overhead
GA
(プロジェクト)
リクエストのオーバーヘッド レイテンシ
DELTA、DISTRIBUTION、s
api
produced_api
バックエンドを除く、非ストリーミング リクエストのレイテンシ(秒単位)の分布。60 秒ごとにサンプリングされます。 サンプリング後、データは最長 1800 秒間表示されません。
api/request_sizes
GA
(プロジェクト)
リクエスト サイズ
DELTA、DISTRIBUTION、By
api
consumed_api
produced_api
リクエスト完了時に記録されたリクエスト サイズの分布(バイト)。60 秒ごとにサンプリングされます。 サンプリング後、データは最長 1800 秒間表示されません。
api/response_sizes
GA
(プロジェクト)
レスポンス サイズ
DELTA、DISTRIBUTION、By
api
consumed_api
produced_api
リクエスト完了時に記録されたレスポンス サイズの分布(バイト)。60 秒ごとにサンプリングされます。 サンプリング後、データは最長 1800 秒間表示されません。
mcp/request_count
ベータ版
(プロジェクト)
MCP リクエスト数
DELTA、INT64、1
consumed_mcp_api
MCP リクエストの数。 response_code: HTTP リクエストの場合は HTTP レスポンス コード、MCP リクエストの場合は対応する HTTP コード。response_code_class:
HTTP リクエストの場合はレスポンス コードクラス、gRPC リクエストの場合は対応する HTTP クラス(例: 「2xx」、「4xx」)。
mcp/request_durations
ベータ版
(プロジェクト)
MCP リクエストの所要時間
DELTA、DISTRIBUTION、s
consumed_mcp_api
MCP リクエストが送信されてからレスポンスまたは ACK が受信されるまでの期間。
quota/allocation/usage
GA
(プロジェクト、フォルダ、組織)
数量に基づく割り当ての使用量
GAUGE、INT64、1
consumer_quota
producer_quota
消費された数量に基づく割り当ての合計。1 分あたり 1 を超える値が報告された場合、その値は破棄されます。割り当て使用量で変更を受信しなかった場合は、最後の値が少なくとも 24 時間ごとに繰り返されます。 60 秒ごとにサンプリングされます。quota_metric: 割り当て指標または割り当てグループの名前。
quota/concurrent/exceeded
アルファ版
(プロジェクト、フォルダ、組織)
同時実行割り当ての超過
DELTA、INT64、1
consumer_quota
同時実行割り当てを超過した試行回数。86400 秒ごとにサンプリングされます。 サンプリング後、データは最長 180 秒間表示されません。limit_name: 割り当て上限の名前(「1 日あたりのリクエスト数」や「使用中の IP アドレス数」など)。quota_metric: 割り当て指標または割り当てグループの名前。
time_window:
同時実行オペレーションの上限のウィンドウ サイズ。
quota/concurrent/limit
アルファ版
(プロジェクト、フォルダ、組織)
同時実行割り当ての上限
GAUGE、INT64、1
consumer_quota
producer_quota
割り当ての同時上限。86400 秒ごとにサンプリングされます。 サンプリング後、データは最長 180 秒間表示されません。limit_name: 割り当て上限の名前(「1 日あたりのリクエスト数」や「使用中の IP アドレス数」など)。quota_metric: 割り当て指標または割り当てグループの名前。
time_window:
同時実行オペレーションの上限のウィンドウ サイズ。
quota/concurrent/usage
アルファ版
(プロジェクト、フォルダ、組織)
同時実行割り当ての使用量
GAUGE、INT64、1
consumer_quota
producer_quota
割り当ての同時使用量。60 秒ごとにサンプリングされます。 サンプリング後、データは最長 180 秒間表示されません。limit_name: 割り当て上限の名前(「1 日あたりのリクエスト数」や「使用中の IP アドレス数」など)。quota_metric: 割り当て指標または割り当てグループの名前。
time_window:
同時実行オペレーションの上限のウィンドウ サイズ。
quota/exceeded
GA
(プロジェクト、フォルダ、組織)
割り当て超過エラー
GAUGE、BOOL、1
consumer_quota
割り当て上限を超えた時点でエラーが発生しました。 60 秒ごとにサンプリングされます。limit_name: 割り当て上限の名前(「1 日あたりのリクエスト数」や「使用中の IP アドレス数」など)。quota_metric: 割り当て指標または割り当てグループの名前。
quota/limit
GA
(プロジェクト、フォルダ、組織)
割り当て上限
GAUGE、INT64、1
consumer_quota
producer_quota
割り当ての上限。 86400 秒ごとにサンプリングされます。limit_name: 割り当て上限の名前(「1 日あたりのリクエスト数」や「使用中の IP アドレス数」など)。quota_metric: 割り当て指標または割り当てグループの名前。
quota/rate/net_usage
GA
(プロジェクト、フォルダ、組織)