Cloud Monitoring ダッシュボードを使用する

このページでは、Cloud Monitoring ダッシュボードを使用して、利用可能な指標の表示、カスタム ダッシュボードの作成、アラートの設定を行う方法について説明します。

Datastore モードの Firestore の指標を表示する

Datastore モードの Firestore のさまざまな指標を表示し、グラフを作成するには、Google Cloud コンソールの Cloud Monitoring 内で Metrics Explorer を使用します。グラフの作成の詳細については、Metrics Explorer でグラフを作成するをご覧ください。

Cloud Monitoring ダッシュボードを設定する

Cloud Monitoring では、カスタム ダッシュボードを使用して、自分に関連する情報を体系的に表示できます。たとえば、本番環境でプロジェクトのパフォーマンス指標とアラート ポリシーを表示するダッシュボードを作成できます。

カスタム ダッシュボードの設定の詳細については、カスタム ダッシュボードを管理するダッシュボード ウィジェットを追加するをご覧ください。

エラー率をモニタリングする

モニタリング ダッシュボードを作成して、エラー率をモニタリングし、データベースの可用性を確保できます。可用性とは、データベースが予想される時間枠内で、正常なステータス コードで応答する率を指します。Datastore モードの Firestore の SLA では、有効なリクエストとして分類される情報の詳細を定義します。

エラー率は、エラー レスポンスとなったリクエストの数を、送信されたリクエストの合計数で割ることによって求められます。

エラー率を計算するダッシュボードの例は、4xx または 5xx のエラー コードを持つ有効なリクエストの api/request_count と、すべての有効なリクエストの api/request_count の A/B 比率を計算することで作成できます。

 エラー率で可用性を理解する
図 1. エラー率で可用性を理解します。

図 1 に、Metrics Explorer の api/request_count 指標を使用してエラー率の比率を可視化する方法を示します。

アラート ポリシーを作成する

Cloud Monitoring では、指標条件が変化したときに通知されるアラートを作成できます。これらのアラートを使用すると、ユーザーに影響を与える前に潜在的な問題について通知できます。

アラートの作成の詳細については、指標しきい値アラート ポリシーの作成をご覧ください。

レイテンシ アラート ポリシーを作成する次の例について考えてみます。アラート ポリシーは、5 分間のローリング ウィンドウで p99 レイテンシをチェックします。p99 レイテンシが 5 分間で 250 ミリ秒を超えた場合、アラートがトリガーされます。

コンソール

  1. Google Cloud コンソールで、モニタリングページに移動して、 アラートを選択します。

    [モニタリング] に移動

  2. [ポリシーを作成] を選択します。

  3. [消費した API] リソースから [リクエストのレイテンシ] 指標を選択します。

  4. datastore.googleapis.com のサービス フィルタを追加します。api/request_latencies 指標は 5 分間のローリング ウィンドウでモニタリングされます。

    トリガーを作成する api/request_latencies 指標を選択します。
    図 2. トリガーを作成する api/request_latencies 指標を選択します。
  5. [次へ] をクリックしてトリガーを構成します。

  6. [Condition Types] で [Threshold] を選択します。

    しきい値条件は、250 ミリ秒のしきい値に設定されます。p99 レイテンシ値がローリング ウィンドウ全体(5 分)にわたって維持されると、アラートがトリガーされます。

    指標のしきい値を追加します。
    図 3. 指標のしきい値を追加します。
  7. [しきい値] を [250] に設定します。

  8. [次へ] をクリックして通知を構成します。

  9. アラート ポリシー名を設定し、[次へ] をクリックします。

  10. アラート構成を確認して [ポリシーを作成] をクリックします。

MQL

Monitoring Query Language(MQL)クエリを使用して、同じレイテンシのアラート ポリシーを実装できます。MQL の使用例については、MQL クエリのサンプルをご覧ください。

      fetch consumed_api
      | metric 'serviceruntime.googleapis.com/api/request_latencies'
      | filter (resource.service == 'firestore.googleapis.com')
      | group_by 5m,
          [value_request_latencies_percentile:
            percentile(value.request_latencies, 99)]
      | every 5m
      | condition val() > 0.25 's'