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 ミリ秒を超えると、アラートがトリガーされます。

Console

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

    [モニタリング] に移動

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

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

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

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

  6. [条件タイプ] を [しきい値] として選択します。

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

    指標のしきい値を追加します。
    図 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'