API のモニタリング

ここでは、Cloud Endpoints で自動管理されるログと指標を使用して、自分の API の正常性をモニタリングする方法を説明します。ユーザーが API にリクエストを行うと、Endpoints はそのリクエストとレスポンスに関する情報をログに記録します。Endpoints は、モニタリングの 4 つのゴールデン シグナルのうち、レイテンシ、トラフィック、エラーの 3 つを追跡します。これらの使用状況とパフォーマンスの指標は API のモニタリングに役立ちます。

始める前に

ログと指標を生成して表示するには、API をデプロイして、その API にリクエストを送信する必要があります。まだ何も設定していない場合は、Endpoints クイックスタートをご覧ください。

API の概要

サービスに関連する問題をデバッグする場合も、すべてが正常に機能していることを確認する場合も、API の概要に移動します。

  1. Google Cloud Platform Console で、プロジェクトの [エンドポイント] > [サービス] ページに移動します。

    [エンドポイント] の [サービス] ページに移動

  2. API が複数ある場合は、モニタリング対象の API をクリックします。

  3. [概要] タブが表示されていることを確認します。

グラフ

一番上に表示される一部の指標に関するグラフ上で、急激な上昇や下落を簡単に見つけることができます。次の操作が可能です。

  • 最初のグラフの右上にある [グラフを選択] プルダウン リストを使用して、必要な指標のグラフを表示し、表示する必要のないグラフを削除します。プルダウン リストの各エントリに付いている疑問符にポインタを合わせてしばらく静止すると、表示されている指標の説明を見ることができます。

  • 概要の右上隅で、さまざまな時間枠を選択してグラフを調整します。これにより、グラフに表示される値の時間枠が調整され、ポイントの粒度も変化します。

メソッド テーブル

さらに詳細に調べる場合は、グラフの下方にスクロール ダウンし、個々の API メソッドの指標が示されたテーブルを表示します。次の操作が可能です。

  • テーブルの右上にある [列の選択] プルダウン リストを使用して、必要な指標を表示し、表示する必要のない指標を削除します。このリストのエントリにも、ポインタを合わせ続けると説明が表示される疑問符が付いています。

  • 概要の右上隅にある時間枠選択ツールを使用して、テーブル内の指標値に適用する時間枠を選択します。これにより、グラフとテーブルの両方に適用される時間枠が選択されます。

ログ

指標で問題を特定したら、Google Cloud Platform Console の [ログビューア] ページに移動し、API のリクエストとレスポンスのログを表示します。

  • API の個々のメソッドのログを表示するには、テーブル内の [ログを表示] をクリックします。

  • API のすべてのメソッドのログを表示するには、右下隅にある [すべてのログを表示] をクリックします。

  • ログビューア ページから Endpoints のログを直接見つけるには、次の手順に従います。

    1. GCP Console で、[Stackdriver] > [ロギング] ページに移動します。

      [ログビューア] ページに移動

    2. [生成された API]、[SERVICE_NAME] を選択します。ここで、SERVICE_NAME は Endpoints サービスの名前です。

ログビューアのログ構造の詳細については、Endpoints のログ リファレンスをご覧ください。

ログを使用して、以下のことも行えます。

  • ログビューアを使用してみる。
  • ログビューアを使用してログをエクスポートする。これにより、ログを BigQuery にストリーミングしてさらに詳しく分析する、未加工のログを Cloud Storage に保存する、または Cloud Pub/Sub メッセージング トピックにログを送信できます。
  • 高度なログフィルタを使用して、表示するログエントリのセットを指定する。たとえば、レイテンシが 300 ミリ秒を超えたすべてのリクエストを取得できます。

特定のユーザー プロジェクトのフィルタ

特定のユーザー プロジェクトの指標を表示するには、リクエストの発行時に API ユーザーが API キーを送信する必要があります。Endpoints では API キーにより、呼び出し元アプリケーションが関連付けられたプロジェクトを識別するため、API ユーザーの GCP プロジェクト内において API キーが作成済みであることが必要です。API キーを使用して API へのアクセスを制限する方法については、以下をご覧ください。

特定のユーザー プロジェクトの指標をフィルタするには:

  1. API ユーザーのプロジェクトのプロジェクト番号を取得します。API ユーザーのプロジェクトにアクセスする権限がない場合は、プロジェクト番号を取得する権限を持つ担当者に問い合わせてください。

  2. GCP Console で、プロジェクトの [エンドポイント] > [サービス] ページに移動します。

    [エンドポイント] の [サービス] ページに移動

  3. [概要] ページの左上隅にある [プロジェクト番号でフィルタ] フィールドにプロジェクト番号を入力します。

  4. [フィルタ] をクリックします。

ページの指標は、指定したプロジェクトからのトラフィックのみを反映するように更新されます。

アラート

Endpoints によって収集される指標は、Stackdriver Monitoring でも利用可能です。Monitoring を使用して、レイテンシ、トラフィック、エラーに関するアラートを設定できます。Endpoints 指標を使用してアラートを設定できない唯一のゴールデン シグナルは、飽和度です。飽和度をモニタリングするために必要な指標は、アプリケーションに応じて異なります。飽和度のアラートを設定するために使用できる指標については、Stackdriver Monitoring で使用可能な指標のリストをご覧ください。

アラートを設定するには:

  1. まだ作成していない場合は、プロジェクトのワークスペースを作成します。このアカウントに、Endpoints でモニタリングされる API のプロジェクト ID を必ず関連付けてください。

  2. 以下を使用して、ゴールデン シグナルにアラートを設定するアラート ポリシーを作成します。

    • レイテンシ

      1. [Condition Type] に「Metric Threshold」と入力します。
      2. [Resource Type] に「Produced API」と入力します。
      3. 指標に「Request latencies」と入力します。
      4. アラートの基準となるしきい値を入力し、アラートガイドの残りの指示に従います。
    • トラフィック

      1. [Condition Type] に「Metric Threshold」と入力します。
      2. [Resource Type] に「Produced API」と入力します。
      3. 指標に「Request count」と入力します。
      4. アラートの基準となるしきい値を入力し、アラートガイドの残りの指示に従います。
    • エラー

      1. [Condition Type] に「Metric Threshold」と入力します。
      2. [Resource Type] に「Produced API」と入力します。
      3. 指標に「Request count」と入力します。
      4. response-code-class に「5xx」と入力します。
      5. アラートの基準となるしきい値を入力し、アラートガイドの残りの指示に従います。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

App Engine 用 Cloud Endpoints Frameworks
ご不明な点がありましたら、Google のサポートページをご覧ください。