Google Maps Platform のモニタリング

Cloud Monitoring は、API とサービスの指標、使用している Google Cloud Platform リソースの指標を収集します。このトピックでは、Cloud Monitoring の構成方法と、Cloud Monitoring による API 使用量のモニタリング、ダッシュボードの作成、アラートの作成を行う方法について説明します。

Cloud Monitoring には、さまざまな機能やオプションが用意されています。このトピックでは、Cloud Monitoring の概要と基本的な例について説明します。その他の例などすべての機能については、Cloud Monitoring のドキュメントをご覧ください。

Cloud Monitoring を構成する

Monitoring では、次の指標を表示し、管理できます。

  • 単一プロジェクト
  • 1 つの組織内の複数のプロジェクト
  • 複数の組織に渡る複数のプロジェクト

プロジェクトの指標を利用できるようにするには、次の手順を行います。

  1. Google Cloud Console で [Monitoring] を選択します。

    [Monitoring] に移動

  2. 正しいプロジェクトが選択されていることを確認します。
  3. Monitoring のナビゲーション パネルで、[Metrics Scope] の右側にある [>] をクリックします。次のスクリーンショットは、AllEnvironments プロジェクトが選択されたときに表示されるページを示しています。

    モニタリングされているプロジェクトの指標を示すスクリーンショット。各プロジェクトとそのプロジェクト ID、ロールが一覧表示されます。

[Metrics monitored by this project] という表に、現在の指標のスコープで指標にアクセスできるプロジェクトが一覧表示されます。テーブルの各行には、プロジェクトとそのプロジェクトのロールが一覧表示されます。

  • スコーピング プロジェクト: このプロジェクトには、構成した稼働時間チェック、アラート ポリシー、グループ、ダッシュボードが保存されます。指標のスコープとスコーピング プロジェクトは、1 対 1 の関係です。この例では、AllEnvironments プロジェクトがスコーピング プロジェクトです。
  • モニタリング対象プロジェクト: プロジェクトの指標は、現在の指標のスコープに表示されます。この例では、Staging プロジェクトおよび Production プロジェクトがモニタリング対象プロジェクトです。

[The projects listed below can view this project's metrics](以下のプロジェクトでは、このプロジェクトの指標を表示できます)というラベルの表には、指標のスコープに現在のプロジェクトを含んでいるプロジェクトが一覧表示されます。上のスクリーンショットは、AllEnvironments プロジェクトによって保存された指標にアクセスできる他のプロジェクトはないことを示しています。

プロジェクトの追加と削除方法など、詳細については、Cloud Monitoring を構成するをご覧ください。

指標を調べる

指標データを調べるには、Cloud Monitoring に含まれている Metrics Explorer を使用してグラフを作成します。たとえば、API の割り当て使用状況を表示する場合、Metrics Explorer を使用して最新のデータを表示するグラフを作成できます。

次の画像は、Maps API の割り当て使用状況の詳細を示しています。

すべての Maps API の割り当て指標データのスクリーンショット。棒グラフが表示され、棒グラフの各セグメントはそれぞれ異なる API に対応しています。

この例は積み上げ棒グラフで、各 API を棒グラフの各セグメントによって表しています。折れ線グラフ、棒グラフ、ヒートマップなど、さまざまな種類のグラフを作成できます。1 つのグラフには、最大 10 個の指標を表示できます。

上記の画像の内容:

  • グラフの左側にある [Resource Type] フィールドと [Metric] フィールドで、グラフに表示される指標データを定義します。
  • グラフの上部にあるプルダウンを使用して、グラフの種類を選択できます。この例では、[Stacked bar chart](積み上げ棒グラフ)に設定されています。
  • グラフの上部で、期間は [1W](1 週間)に設定されています。
  • グラフの下部には、[service]、[quota_metrics]、API の [method]、グラフのデータを定義する指標の [value] を示すリストがあります。表示されるデータを絞り込むには、[Add Filter] を選択します。

[Metrics Explorer] ページから移動すると、グラフが破棄され、不要なアーティファクトは残されません。また、グラフをカスタム ダッシュボードに保存したり、共有したりすることもできます。ダッシュボードにグラフを追加する方法の詳細については、以下のダッシュボードを作成するをご覧ください。

単一の指標をグラフ化する

Metrics Explorer を使用してグラフを構成する方法は、次のとおりです。

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. ナビゲーション パネルで、[Metrics Explorer] を選択します。
  3. ツールバーにあるグラフの種類のプルダウンから [Stacked bar chart] を選択して、指標データを棒グラフとして表示します。
  4. [1W](1 週間)などの期間を選択します。
  5. グラフに表示するデータを指定します。メニューに基づいたインターフェースを使用する場合、またはフィルタを入力する場合は、[Configuration] タブを選択します。Monitoring Query Language(MQL)を使用するには、[MQL] タブを選択します。
    1. 割り当て使用状況をグラフ化するには、[Resource type] で [Consumer Quota] を選択します。API 使用量の指標を作成する場合は、[Consumed API] を選択します。各リソースタイプにカーソルを合わせると、説明が表示されます。
    2. [Metric] で [Rate quota usage] を選択します。グラフが自動的に更新され、指標データが表示されます。指標には他の割り当てオプションもあります。各指標にカーソルを合わせると、説明が表示されます。Metrics Explorer のフィールドの詳細については、指標の選択グラフ化されたデータの表示方法の選択をご覧ください。
  6. (省略可)表示を絞り込むには、次のオプションを使用します。
    1. 表示するデータのサブセットを指定するには、フィルタを追加します。フィルタを追加するには、[Add filter] を選択して、ダイアログに入力します。詳細については、グラフ化されたデータのフィルタをご覧ください。たとえば、単一の API のデータを表示する方法は次のとおりです。
      1. [Label] フィールドで [method] を選択します。
      2. [Comparison] フィールドで [= (equals)] を選択します。
      3. [Value] フィールドで、特定のメソッドの名前を選択します。 表示するデータがあるメソッドの名前を選択するよう求められます。
      4. [Done] を選択すると、グラフが更新されます。
    2. ラベルで時系列をグループ化するには、[Group by] フィールドを使用します。このフィールドの値を選択すると、[Aggregator] フィールドの値が自動的に選択されます。
    3. 時系列の結合方法を指定するには、[Aggregator] フィールドを設定します。たとえば、[Group by] フィールドが空で、[Aggregator] フィールドが [mean] に設定されている場合は、時系列の平均がグラフに表示されます。
    4. 個々の時系列の処理方法を構成するには、詳細オプションを選択します。詳細については、Metrics Explorer 使用時の指標の選択をご覧ください。
  7. 必要に応じてダッシュボードに追加します。

    [Metrics Explorer] ページから移動すると、グラフは破棄されます。必要に応じて [Save Chart] を選択し、新規または既存のダッシュボードにグラフを保存できます。ダッシュボードにグラフを追加する方法の詳細については、以下のダッシュボードを作成するをご覧ください。

複数の指標をグラフ化する

同じグラフ上に、複数の指標を表示できます。たとえば、割り当て使用状況のグラフに、割り当て上限を表示できます。グラフには最大 10 個の指標を表示できます。

既存のグラフに指標を追加する手順は次のとおりです。

  1. 既存のグラフで、画面下部の [Add another metric] を選択します。
  2. 指標を選択して、上記の元の指標を構成したのと同じ方法で、その指標の時系列を表示する方法を指定します。

指標を調べる方法について詳しくは、以下をご覧ください。

ダッシュボードを作成する

ダッシュボードを使用すると、時系列データをグラフのコレクションとして表示してモニタリングできます。Cloud Monitoring は、事前定義されたダッシュボードとカスタム ダッシュボードをサポートしています。

  • 事前定義されたダッシュボードは、使用する Google Cloud Platform サービスに自動的にインストールされます。これらのダッシュボードは構成できません。
  • カスタム ダッシュボードは、ユーザーが作成するダッシュボードです。カスタム ダッシュボードを使用すると、表示するデータとそのデータの表示方法を定義できます。たとえば、プロジェクトに保存されている指標データ、アラート ポリシー、ログを表示できます。時系列データは、ゲージまたはスコアカードを使用したグラフに、あるいは表形式で表示できます。

カスタム ダッシュボードを作成するには、Cloud Console または Cloud Monitoring API を使用します。以下の画像は、カスタム ダッシュボードの 2 つのグラフを示しています。

  • 割り当てグラフ(左)
  • API 使用量グラフ(右)

2 つのグラフを表示するカスタム ダッシュボードのスクリーンショット。左側は割り当てグラフ、右側は API 使用量のグラフです。
  どちらのグラフも、横軸にタイムポイントが表示されます。

カスタム ダッシュボードを作成するには、指標グラフを作成し、ダッシュボードに追加します。Metrics Explorer でグラフを作成し、新規または既存のダッシュボードに追加できます。または、ダッシュボードを作成してから、編集してグラフを追加することもできます。

Cloud Monitoring API を使用してカスタム ダッシュボードを管理する場合、Metrics Explorer で以下の 2 つの便利なユーティリティを使用できます。

  • ダッシュボードに追加するグラフの JSON 表現を生成するには、Metrics Explorer でグラフを構成します。その後 Metrics Explorer ツールバーの [More options] メニュー項目から JSON 表現を使用できます。
  • Cloud Monitoring API で使用される Monitoring フィルタの構文を識別するには、Metrics Explorer のメニューに基づいたインターフェースを使用してグラフを構成します。指標とフィルタを選択したら、ダイレクト フィルタモードに切り替えて、同等の Monitoring フィルタを表示します。

カスタム ダッシュボードを作成する

カスタム ダッシュボードを作成する方法は次のとおりです。

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. ナビゲーション パネルで [Dashboards] を選択します。
  3. [ダッシュボードの概要] ページで、[Create dashboard] をクリックします。
  4. ダッシュボードにグラフを追加するたびに、次の操作を行います。
    1. [Add chart] からグラフの種類を選択するか、グラフ ライブラリからグラフ領域にグラフをドラッグします。

      選択した種類の事前構成されたグラフが表示されます。次の例は、折れ線グラフとその構成ペインを示しています。

      ダッシュボードに追加するグラフの作成に使用する Metrics Explorer のスクリーンショット。

    2. [Resource type] と [Metric] を選択し、上のグラフの作成時と同じようにフィルタを適用します。

      選択肢の詳細については、ダッシュボード ウィジェットを追加するをご覧ください。

  5. (省略可)ダッシュボード ツールバーで、[Add chart] をクリックして別のグラフを追加し、上の手順を繰り返してグラフをカスタマイズします。
  6. 編集が完了したら、左矢印を選択してダッシュボードから移動するか、その他の [Monitoring] メニュー項目を選択します。ダッシュボードは自動的に保存されます。

ダッシュボードを表示する

ダッシュボードを表示する方法は次のとおりです。

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. ナビゲーション パネルで [Dashboards] を選択します。
  3. リストから、作成したカスタム ダッシュボードまたは事前定義されたダッシュボードを選択します。

ダッシュボードの作成の詳細については、以下をご覧ください。

アラートを作成する

アラートによって、アプリケーションの問題をタイムリーに認識し、問題をすばやく解決できます。Cloud Monitoring では、アラート ポリシーで、アラートを受け取る状況と通知方法を記述します。

アラート ポリシーは、簡単なものも複雑なものも設定できます。アラート ポリシーを使用すると、1 つの時系列で条件が満たされるかどうか、または複数の時系列が条件を満たす必要があるかどうかを構成できます。以下に例を示します。

  • 特定の API のリクエスト数が 5 分間に 1,000 件を超えた場合、通知を受け取ります。
  • 3 個以上の API で、HTTP 200 レスポンスの 90 パーセンタイルが 100 ミリ秒のレイテンシを超えた場合、オンコール チームに通知します。

次の画像は、API のリクエスト数が 5 分間に 20 件を超えた場合に通知を生成するアラート定義を示しています。

すべての Maps API の API リクエスト数を行に表示し、アラートしきい値を水平線で示しているアラート定義のスクリーンショット。

上記の画像の内容:

  • グラフは、時間の経過に合わせたさまざまな API の API 呼び出し数を示しています。
  • 赤い線はアラートのしきい値を示しています。API 呼び出しが 5 分間にこのしきい値を超えると、アラートがトリガーされます。この例では、1 つの API がしきい値を超えています。

アラート ポリシーの条件が満たされると、Cloud Monitoring によってインシデントが開かれ、通知が送信されます。

  • インシデントは、条件が満たされたときにモニタリング対象リソースに関する情報を格納する永続的なレコードです。条件が満たされなくなると、インシデントは自動的に終了します。アラート ダッシュボードでは、対応待ちのインシデントと終了したインシデントをすべて表示できます。
  • アラート ポリシーを構成するときに、通知の送信先となるユーザーを指定します。 Monitoring は、メール、Cloud モバイルアプリ、PagerDuty や Slack などのサービスを含む、一般的な通知チャンネルをサポートしています。通知チャンネルの全一覧については、通知オプションをご覧ください。

アラートの種類

Cloud Monitoring は、多くの種類のアラートをサポートしています。たとえば、次のように定義できます。

  • 指標しきい値アラート: 指標が特定の期間時間枠において値を上回るまたは下回る場合、あるいは事前定義された割合で指標が増加または減少する場合にアラートをトリガーします。
  • 予算アラート: しきい値ルールを設定し、ルールで設定した予算の割合を費用(実際の費用または予測費用)が超えた場合に、通知をトリガーできます。このアラートでは API 使用量の上限は設定されず、指定した金額に費用が近づいた場合にアラートが通知されるだけです。
  • 割り当てアラート: Google Cloud Platform では、プロジェクトまたは組織によって消費されるリソースの追跡や制限に使用できるさまざまな割り当てを設定しています。使用量が割り当て上限に近づいたら、アラートを使用して通知を送信します。

詳細については、アラート ポリシーの種類をご覧ください。

アラート ポリシーを管理する

Cloud Console または Cloud Monitoring API を使用して、アラート ポリシーをプロジェクトに追加できます。プロジェクトの指標ベースのアラート ポリシーのリストを表示する方法と、それらのポリシーを変更する方法については、以下をご覧ください。

アラートを作成する

アラートを作成すると、次のことができます。

  • 指標データに基づいて、アラートをトリガーする条件を定義します。
  • アラート通知の送信先となる通知チャンネルを定義します。

以下の例は、いずれかの API において、Google Maps Platform サービスの使用率が 5 分間で 2 件のリクエストを超えた場合にトリガーされるアラートの設定方法を示しています。

アラートを作成する手順は次のとおりです。

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. [Alerting] を選択します。
  3. [Edit Notifications Channels] を選択して、アラートが通知を送信する方法を定義します。この例では、メールアドレスを使用します。
    1. [Email] チャンネルで [Add New] を選択します。
    2. メールアドレス表示名を入力します。
    3. [Save] を選択します。
  4. [Alerting] を選択します。
  5. [Create Policy] を選択します。
  6. 期間([7 days] など)を選択します。
  7. [Alert Conditions] で [New condition] を選択します。
    1. [Select a Metric] をクリックし、リソースに [Consumed API] を選択し、指標に [Request Count] を選択してから [Apply] を選択します。
    2. (省略可)グラフの下部には、[service]、[quota_metrics]、API の [method]、指標の [] のリストが表示されます。この情報に基づいてデータをフィルタリングするには、[Add filter] を選択します。たとえば、フィルタを使用して、メソッドgoogle.places.Autocomplete.http と等しい場合にアラートをトリガーするよう指定できます。
    3. [Transform data] で、[Rolling window] に [5 min] を選択し、[Rolling window function] に [mean] を選択します。
    4. [Next] を選択します。
  8. [Configure alert trigger] で、[Threshold value] を 2 に設定して、5 分間のウィンドウで 3 つ以上のリクエストがある場合にアラートをトリガーするよう指定します。 グラフには、選択した期間のアラートの上限を示す赤色の線が表示されます。グラフから、アラートがトリガーされた場所を確認できます。必要に応じて、このグラフを使用して上限を調整できます。
  9. [Next] をクリックします。
  10. [Configure notifications and finalize alert] ページで、次の操作を行います。
    1. 通知チャンネル用に作成したメールアドレスを選択します。
    2. [Name the alert] に「My Test Alert」と入力します。
    3. [Create Policy] を選択します。
  11. API リクエストをいくつか発行します。必ず 5 分以内に API リクエストを 3 つ以上発行してアラートメール通知を生成します。
  12. アラートのメールが届いたら、[アラート] ページに移動します。
    1. アラートのリスト内の表でアラートをクリックすると、詳細が表示されます。
    2. アラート名をクリックすると、アラートをトリガーしたイベントを示すグラフなど、アラートに関する情報が表示されます。

アラートについて詳しくは、以下をご覧ください。