API のモニタリング
このページでは、API Gateway で自動的に維持されるログと指標を使用して、API Gateway API の正常性をモニタリングする方法について説明します。
API を作成すると、API Gateway によって対応するマネージド サービスが自動的に作成されます。作成されたマネージド サービスの名前は、次のコマンドの出力で確認できます。
gcloud api-gateway apis describe API_ID
サービスの名前は managedService
フィールドの値です。
ユーザーが API にリクエストを行うと、API Gateway はリクエストとレスポンスに関する情報をログに記録します。API Gateway は、モニタリングにおける 4 つのゴールデン シグナルのうち、レイテンシ、トラフィック、エラーの 3 つを追跡します。これらの使用状況とパフォーマンスの指標は API のモニタリングに役立ちます。
始める前に
ログと指標を生成して表示するには、API をデプロイしてリクエストを送信します。まだ API を作成してゲートウェイにデプロイしていない場合は、API Gateway のクイックスタートをお試しください。
API の概要
サービスに関連する問題をデバッグする場合も、すべてが正常に機能していることを確認する場合も、API の概要に移動します。
Google Cloud Console で、プロジェクトの [API Gateway] > [API] ページに移動します。
API が複数ある場合は、モニタリング対象の API をクリックします。
[概要] タブが表示されていることを確認します。
グラフ
概要ページにはいくつかの指標に関するグラフが多数用意されているため、急激な上昇や下落、予期しないアクティビティを直ちに見つけることができます。ページ上部のフィルタを使用すると、次のことを行うことができます。
- [グラフを選択] プルダウン リストを使用して、必要な指標のグラフを表示し、表示する必要のないグラフを削除します。
- さまざまな時間枠を選択してグラフを調整します。これにより、表示される値の時間枠が調整され、ポイントの粒度も変化します。
メソッド テーブル
さらに詳細に調べる場合は、グラフの下方にスクロール ダウンし、個々の API メソッドの指標が示されたテーブルを表示します。次のことが可能です。
- 表の左上隅にある [表をフィルタリング] アイコンをクリックして、プルダウン テーブルから詳細なフィルタクエリ オプションを選択します。複数のキーワードを検索するには、各フィルタクエリの間に
OR
を追加します。 - 表の右上隅にある Column Display Options アイコンをクリックして、プルダウン リストを表示します。必要な指標のチェックボックスをオンにし、表示する必要のない指標のチェックボックスをオフにします。
- [概要] ページの右上隅にある時間枠選択ツールを使用して、テーブル内の指標値に適用する時間枠を選択します。これにより、グラフと表の両方に適用される時間枠が選択されます。
ログ
指標で問題を特定したら、Google Cloud Console の [ログ エクスプローラ] ページを使用して、API のリクエストとレスポンスのログを表示します。
個々の API メソッドのログを表示するには、表内の [ログを表示] をクリックします。
API のすべてのメソッドのログを表示するには、右下隅にある [すべてのログを表示] をクリックします。
[ログ エクスプローラ] ページで API Gateway のログを直接見つけるには:
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
[生成された API]、[
SERVICE_NAME
] を選択します。ここで、SERVICE_NAME
はマネージド サービスの名前です。
ログ エクスプローラのログ構造の詳細については、API Gateway のログ リファレンスをご覧ください。
ログを使用して、以下を行うこともできます。
ログ エクスプローラの使用を開始する。
クエリペインを使用して、表示するログエントリのセットを指定します。たとえば、レイテンシが 300 ミリ秒を超えたすべてのリクエストを取得できます。
シンクを構成して管理します。これにより、ログを BigQuery にストリーミングしてさらに詳しく分析する、未加工のログを Cloud Storage に保存する、または Pub/Sub メッセージング トピックにログを送信できます。
特定のユーザー プロジェクトのフィルタ
特定のユーザー プロジェクトの指標をフィルタするには:
API ユーザーのプロジェクトのプロジェクト番号を取得します。API ユーザーのプロジェクトにアクセスする権限がない場合は、プロジェクト番号を取得する権限を持つ担当者に問い合わせてください。
Google Cloud コンソールで、プロジェクトの [API Gateway] > [API] ページに移動します。
[概要] ページの左上隅にある [プロジェクト番号でフィルタ] フィールドにプロジェクト番号を入力します。
[フィルタ] をクリックします。
ページの指標は、指定したプロジェクトからのトラフィックのみを反映するように更新されます。