監控 Cloud Firestore 活動

本頁面介紹如何監控 Cloud Firestore 使用情況並發現應用程式中的潛在問題。

使用情況儀表板

使用 Google Cloud Platform Console 和 Firebase 控制台中的使用儀表板來查看文件隨時間的讀取、寫入和刪除情況。

存取控制

使用情況儀表板需要monitoring.timeSeries.list Cloud IAM 權限。專案擁有者、編輯者和檢視者角色授予此權限。您也可以透過Cloud Monitoring 角色自訂角色授予此權限。

資料庫使用情況儀表板

若要查看 Cloud Firestore 資料庫的使用量指標,請在 GCP Console 中開啟資料庫使用情況頁面。

  1. 在 Google Cloud Platform Console 中,前往資料庫頁面。

    前往資料庫

  2. 從資料庫清單中選擇所需的資料庫。

  3. 在導覽功能表中,按一下「用法」

  4. 按一下頁面上顯示的訊息中的連結以查看資料庫使用情況。

    GCP Console 中的 Cloud Firestore 資料庫使用情況資訊中心。

聚合使用儀表板

如果您的專案有多個 Cloud Firestore 資料庫,您可以在 GCP Console 或 Firebase 控制台中查看匯總的使用情況指標。

GCP 控制台

在 Google Cloud Platform Console 中,前往專案使用頁面。

前往 GCP 專案專案使用情況

專案使用儀表板顯示一段時間內的文件操作,如下所示:

GCP Console 中的 Cloud Firestore 專案使用資訊中心。

Firebase 控制台

前往 Cloud Firestore 使用頁面(Firebase 控制台)

Firebase 控制台中的 Cloud Firestore 使用量儀表板。

使用情況儀表板和計費報告

Firebase 和 Cloud 控制台中的 Cloud Firestore 使用情況儀表板提供了使用情況的估計。它們可以幫助您識別使用高峰。但是,儀表板並不是計費操作的精確視圖。計費使用量可能會更高。在所有差異情況下,計費報告優先於使用情況儀表板。

導致使用情況儀表板與計費使用情況之間存在差異的操作包括:

  • 進出口業務。這些操作執行的讀取和寫入不會顯示在使用量儀表板中。
  • 無操作僅驗證寫入。僅驗證文件存在或不存在的寫入有助於計費讀取操作,但它們在寫入使用量儀表板中分別顯示為「UPDATE_NOOP」和「DELETE_NOOP」。
  • 無操作寫入。不會導致資料庫變更的操作(例如不變更欄位值的更新或寫入已刪除的文件)可能會在使用儀表板中顯示為「UPDATE_NOOP」或「DELETE_NOOP」。儘管它們顯示為“NOOP”,但它們仍然有助於計費操作。
  • 崩潰的寫道。如果快速連續地對同一文件進行多次寫入,則使用情況儀表板可能會將多個寫入折疊在一起並將它們計為一個。在計費時,每次寫入仍然單獨計數。

    使用儀表板還折疊了欄位轉換的寫入,例如伺服器時間戳記、數字增量和陣列聯合操作。對於欄位轉換,使用情況儀表板可能會將多個操作計為單一操作。

  • 傳回零結果的查詢。結果為零的查詢會產生一次讀取操作的成本。此使用量已計費,但不會顯示在使用量儀表板中。
  • 與聚合查詢相關的讀取操作,例如 COUNT。此使用量已計費,但不會顯示在使用量儀表板中。

刪除的使用量儀表板不會捕捉生存時間 (TTL) 策略執行的自動過期操作。請參考雲端監控中的TTL指標。

安全規則使用

此外,Firebase 控制台還提供安全規則評估儀表板,這是一個有用的、一目了然的規則呼叫視圖。您可以透過Cloud Monitoring中的詳細分析來補充此儀表板。

前往規則

Firebase 控制台中的 Cloud Firestore 規則監控儀表板。

雲端監控指標

Cloud Monitoring從 Google Cloud 產品收集指標、事件和元資料。 Cloud Firestore 控制台中的使用量儀表板會報告相同的指標資料。若要設定自訂儀表板和使用情況警報,請使用 Cloud Monitoring。

Cloud Monitoring 包含以下 Cloud Firestore 指標:

指標名稱描述
文件讀取

成功讀取文檔的數量。您可以按讀取類型細分此指標:尋找或查詢。

此指標不包括託管匯出操作的讀取。

文件寫入

成功寫入文件的數量。您可以按寫入類型細分指標:CREATE 或 UPDATE。

此指標不包括託管導入操作的寫入。

文件刪除成功刪除文件的數量。
活躍連線數

資料庫的活動連線數。

每個活動的移動和 Web SDK都維護一個連接,可以在多個快照偵聽器之間共用。伺服器客戶端庫為每個快照偵聽器建立一個連線。

快照監聽器

所有活動連線中的快照偵聽器數量。

生存時間刪除計數

透過生存時間 (TTL) 策略刪除的文件總數。

存活時間到期到刪除延遲

文件在生存時間 (TTL) 策略下過期與實際刪除之間所經過的時間。

即時更新使用情況

使用活動連接和快照偵聽器指標來衡量即時更新的使用情況。

假設用戶在手機上打開您的應用程式。然後,應用程式連接到 Cloud Firestore 並訂閱 10 個查詢。這會增加您的指標 1 個活動連線和 10 個快照偵聽器。

取樣率

Cloud Firestore 指標每分鐘進行一次取樣,但更新可能最多需要 4 分鐘才能顯示在儀表板中。

延遲指標

後端延遲指標可透過常見的 Google Cloud firestore指標取得。

例如,可以在 Cloud Console 的指標瀏覽器檢視中找到p50 延遲的圖表。

設定 Cloud Monitoring 儀表板

若要使用 Cloud Firestore 指標設定儀表板,請參閱管理自訂儀表板新增儀表板小組件

下一步是什麼