Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

Cloud Firestore のアクティビティをモニタリングする

このページでは、Cloud Firestore の使用状況をモニタリングし、アプリの潜在的な問題を特定する方法について説明します。アプリの使用状況を調べることによって、請求金額を予測することもできます。さらに、何か問題があると思われる場合は、データベースのオペレーションを明確に把握することがトラブルシューティングに役立ちます。

使用状況ダッシュボード

Google Cloud Platform Console と Firebase コンソールには、ドキュメントの読み取り、書き込み、削除の推移を表示する Cloud Firestore 使用状況ダッシュボードがあります。

GCP Console

Cloud Firestore の使用状況のページに移動(GCP Console)

GCP Console の Cloud Firestore 使用状況ダッシュボード。

アクセス制御

使用状況ダッシュボードを使用するには、monitoring.timeSeries.list Cloud IAM 権限が必要です。プロジェクト オーナー、編集者、閲覧者のロールにより、この権限が付与されます。Cloud Monitoring ロールまたはカスタムロールによってこの権限を付与することもできます。

Firebase コンソール

Cloud Firestore の使用状況のページに移動(Firebase コンソール)

Firebase コンソールの Cloud Firestore 使用状況ダッシュボード。

使用状況ダッシュボードと請求レポート

Firebase コンソールと Cloud Console の Cloud Firestore 使用状況ダッシュボードには、使用状況の予想が表示されます。これらは使用量の急増を特定するのに役立ちます。ただし、ダッシュボードには、課金対象のオペレーションは正確には表示されません。課金される使用量はこれよりも多くなる可能性があります。一致しない場合は、請求レポートが使用状況ダッシュボードよりも優先されます。

使用状況ダッシュボードと課金される使用量の不一致の原因となるオペレーションには、次のようなものがあります。

  • インポートとエクスポートのオペレーション。これらのオペレーションで行われた読み取りと書き込みは、使用状況ダッシュボードに表示されません。
  • NoOps の書き込み。フィールド値を変更しない更新や、削除したドキュメントへの書き込みなど、データベースの変更につながらないオペレーションは、課金対象のオペレーションになります。ただし、使用状況ダッシュボードではこれらのオペレーションはカウントされません。
  • 折りたたまれた書き込み。同じドキュメントに複数の書き込みを連続して行う場合、使用状況ダッシュボードでは複数の書き込みがまとめて折りたたまれて 1 回としてカウントされる場合があります。使用量を請求する場合、各書き込みが別々にカウントされます。

    また、使用状況ダッシュボードは、サーバーのタイムスタンプ、数値の増分、配列ユニオン オペレーションなどのフィールド変換の場合も書き込みを折りたたみます。フィールド変換の場合、使用状況ダッシュボードは複数のオペレーションを 1 回のオペレーションとしてカウントします。

  • 0 件の結果を返すクエリ。0 件の結果を返すクエリには 1 回の読み取りオペレーションが発生します。この使用量は課金の対象になりますが、使用状況ダッシュボードには表示されません。

セキュリティ ルールの使用

また、Firebase コンソールにはセキュリティ ルールの評価ダッシュボードが用意され、ルール呼び出しを一目で確認できます。Cloud Monitoring の詳細な分析でこのダッシュボードを補足できます。

[ルール] ページに移動

Firebase コンソールの Cloud Firestore ルールのモニタリング ダッシュボード。

1 日の割り当て

Firebase プロジェクトを作成すると、Google Cloud にもプロジェクトが作成されます。GCP Console の [App Engine の割り当て] ページでは、読み取り、書き込み、インデックス書き込み、削除、保存データ、ネットワーク下り(外向き)など、日々の Cloud Firestore の使用状況に関する情報が追跡されます。

[割り当て] ページに移動

[App Engine の割り当て] ページでの Cloud Firestore の使用状況。

Cloud Monitoring

Cloud Monitoring は、Google Cloud プロダクトから指標、イベント、メタデータを収集します。Cloud Firestore コンソールの使用状況ダッシュボードにも同じ指標データが表示されます。カスタム ダッシュボードと使用状況アラートを設定するには、Cloud Monitoring を使用します。

Cloud Monitoring には、Cloud Firestore の次の指標が含まれます。

指標名 説明
ドキュメントの読み取り

ドキュメントの読み取りの成功回数。読み取りのタイプ(LOOKUP または QUERY)でこの指標を分類できます。

この指標には、マネージド エクスポート オペレーションによる読み取りは含まれません。

ドキュメントの書き込み

ドキュメントの書き込みの成功回数。書き込みのタイプ(CREATE または UPDATE)でこの指標を分類できます。

この指標には、マネージド インポート オペレーションによる書き込みは含まれません。

ドキュメントの削除 ドキュメントの削除の成功回数。
アクティブな接続

データベースへのアクティブな接続数。

アクティブなモバイル SDK とウェブ SDK はそれぞれ接続を 1 つ維持し、その接続は複数のスナップショット リスナー間で共有できます。サーバー クライアント ライブラリは、スナップショット リスナーごとに 1 つの接続を作成します。

スナップショット リスナー

すべてのアクティブな接続全体でのスナップショット リスナーの数。

ルール評価

書き込みまたは読み取りリクエストに応答して実行された Cloud Firestore ルールの評価数。この指標はリクエストの結果(ALLOW、DENY、ERROR)で分類できます。

リアルタイム アップデートの使用状況

アクティブな接続とスナップショット リスナーの指標を使用して、リアルタイム アップデートの使用状況を測定します。

たとえば、ユーザーがスマートフォン上でアプリを開くとします。するとアプリは Cloud Firestore に接続し、10 個のクエリにサブスクライブします。これにより、アクティブな接続の指標は 1、スナップショット リスナーの指標は 10 増加します。

サンプリング レート

Cloud Firestore の指標は 1 分ごとにサンプリングされますが、更新がダッシュボードに表示されるまでに最長で 4 分かかることがあります。

これらの指標を使用して、Cloud Firestore ダッシュボードを次のように設定できます。

Cloud Monitoring ダッシュボードでの Cloud Firestore の使用状況。

Cloud Monitoring を使用して Cloud Firestore のモニタリングを開始するには、次の手順を行います。

Cloud Monitoring ワークスペースを作成する

Cloud Monitoring を使用して Cloud Firestore をモニタリングするには、プロジェクト用にワークスペースを設定する必要があります。ワークスペースでは、1 つ以上のプロジェクトから得られるモニタリング情報が整理して示されます。ワークスペースを設定したら、カスタムのダッシュボードとアラート ポリシーを作成できます。

  1. Cloud Monitoring のページを開く

    プロジェクトがすでにワークスペースに含まれている場合は、Cloud Monitoring のページが開きます。それ以外の場合は、プロジェクト用のワークスペースを選択します。

  2. [新しいワークスペースの作成] オプションを選択するか、既存のワークスペースを選択します。

  3. [追加] をクリックします。ワークスペースが作成されると、Cloud Monitoring のページが開きます。

ダッシュボードを作成してグラフを追加する

Cloud Monitoring で収集された Cloud Firestore の指標を、独自のグラフとダッシュボードに表示します。

続行する前に、プロジェクトが Cloud Monitoring ワークスペースに含まれていることを確認してください。

  1. Cloud Monitoring ページでワークスペースを開き、[ダッシュボード] ページに移動します。

    [ダッシュボード] ページに移動

  2. [Create Dashboard] をクリックし、ダッシュボードの名前を入力します。

  3. 右上隅にある [Add Chart] をクリックします。

  4. [Add Chart] ウィンドウで、グラフのタイトルを入力します。[Metric] タブをクリックします。

  5. [Find resource type and metric] フィールドに「Cloud Firestore」と入力します。データが自動入力されるプルダウンから、Cloud Firestore の指標の 1 つを選択します。

  6. 同じグラフに指標を追加するには、[Add Metric] をクリックし、上記の手順を繰り返します。

  7. 必要に応じて、グラフを調整します。たとえば、[Filter] フィールドで [+ Add a filter] をクリックします。スクロールして、グラフのフィルタリングを適用する指標の値または範囲を選択します。

  8. [Save] をクリックします。

Cloud Monitoring グラフの詳細については、グラフの操作をご覧ください。

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

Cloud Firestore の指標に基づいてアラート ポリシーを作成できます。次の手順に沿って、特定の Cloud Firestore の指標が特定のしきい値に到達するとメールで通知するアラート ポリシーを作成できます。

続行する前に、プロジェクトが Cloud Monitoring ワークスペースに含まれていることを確認してください。

  1. Cloud Monitoring ページでワークスペースを開き、[Alerting] ページに移動します。

    [Create New Alerting Policy] ページに移動

  2. [Create Policy] をクリックします。

  3. アラート ポリシーの名前を入力します。

  4. Cloud Firestore のいずれかの指標に基づくアラートの条件を追加します。[Add Condition] をクリックします。

  5. [Target] を選択します。[Find resource type and metric] フィールドに「Cloud Firestore」と入力します。データが自動入力されるプルダウンから、Cloud Firestore の指標の 1 つを選択します。

  6. [Policy triggers] で、プルダウン フィールドを使用してアラート条件を定義します。

  7. アラート ポリシーに通知チャネルを追加します。[Notifications] で [Add Notification Channel] をクリックします。プルダウン メニューから [Email] を選択します。

  8. [Email address] フィールドにメールアドレスを入力します。[Add] をクリックします。

  9. 必要に応じて、ドキュメントのフィールドに情報を入力します。この情報は、メール通知に追加情報として付加されます。

  10. [Save] をクリックします。

Cloud Firestore の使用量が構成済みのしきい値を超えると、メールによるアラートが届きます。Cloud Firestore のアラートメールの例。

アラート ポリシーの詳細については、通知の概要をご覧ください。

次のステップ