使用 Cloud Monitoring 監控資料庫

本頁說明如何使用 Cloud Monitoring 資訊主頁查看可用指標、建立自訂資訊主頁,以及設定快訊。

查看與 MongoDB 相容的 Firestore 指標

如要查看不同的與 MongoDB 相容的 Firestore 指標並建立圖表,請使用下列任一工具:

  • Google Cloud 控制台 Firestore 部分的「監控」頁面。 這個頁面包含預先定義的監控資訊主頁。你也可以建立最多一個自訂資訊主頁。如要存取資料庫的「監控」頁面,請按照下列步驟操作:

    1. 在 Google Cloud 控制台中,開啟 Firestore 的「Databases」(資料庫) 頁面。

      前往「資料庫」

    2. 從清單中選取資料庫。

    3. 在導覽選單中,按一下「Monitoring」(監控) 開啟資訊主頁。

  • 在 Google Cloud 控制台的 Cloud Monitoring 中,如要進一步瞭解如何建立圖表,請參閱「使用 Metrics Explorer 建立圖表」一文。

受監控資源

Cloud Monitoring 中的受監控資源代表邏輯或實體實體,例如虛擬機器、資料庫或應用程式。受監控的資源包含一組獨特的指標,可用於探索、透過資訊主頁回報,或用於建立快訊。每項資源也有一組資源標籤,這些鍵/值組合會保存資源的其他資訊。資源標籤適用於與資源相關聯的所有指標。

使用 Cloud Monitoring API,透過下列資源監控與 MongoDB 相容的 Firestore 效能:

資源 說明
firestore.googleapis.com/Database 受控資源類型,可提供 projectlocationdatabase_id 的詳細資料。如果建立資料庫時未指定名稱,系統會使用「database_id」標籤。(default)

指標

如需 Firestore 指標的完整清單,請參閱「Firestore 指標」。以下各節說明部分可用指標

服務執行階段指標

serviceruntime指標提供專案流量的概略總覽。大多數 Google Cloud API 都能提供這些指標。consumed_api受監控的資源類型包含這些常見指標。這些指標每 30 分鐘取樣一次,因此資料會經過平滑處理。

serviceruntime 指標的重要資源標籤是 method。這個標籤代表呼叫的基礎 RPC 方法。您呼叫的 SDK 方法名稱不一定與基礎 RPC 方法相同。這是因為 SDK 提供高階 API 抽象層級。不過,如要瞭解應用程式與 Firestore 的互動方式,請務必根據 RPC 方法名稱瞭解指標。

如要瞭解特定 SDK 方法的基礎 RPC 方法,請參閱 API 說明文件

請使用下列服務執行階段指標監控資料庫。

api/request_latencies

api/request_latencies 指標會提供所有已完成要求的延遲分布情形。

Firestore 會記錄 Firestore 服務元件的指標。延遲時間指標包括 Firestore 收到要求到完成傳送回應的時間,包括與儲存層的互動。因此,這些指標不包含用戶端與 Firestore 服務之間的來回延遲時間 (rtt)。

文件作業指標

Firestore 會提供讀取、寫入和刪除次數。寫入指標會細分「CREATE」和「UPDATE」作業。這些指標與 CRUD 作業一致。

您可以使用下列指標,瞭解資料庫是讀取密集型還是寫入密集型,以及新文件與已刪除文件的比率。

  • document/delete_ops_count:成功刪除的文件數量。
  • document/read_ops_count:從查詢或查閱作業成功讀取文件的次數。
  • document/write_ops_count:成功寫入文件的次數。

索引指標

您可以將索引寫入率與 document/write_ops_count 指標進行比較,瞭解索引扇出。

  • index/write_count:索引寫入次數。

存留時間指標

與 MongoDB 相容的 Firestore 存留時間指標可用於監控強制執行的 TTL 政策效果。

  • document/ttl_deletion_count:由存留時間服務刪除的文件總數。
  • document/ttl_expiration_to_deletion_delays:文件存留時間到期後,實際刪除文件所經過的時間。

建立自訂 Cloud Monitoring 資訊主頁

在 Cloud Monitoring 中,您可以透過自訂資訊主頁,有條不紊地顯示與您相關的資訊。舉例來說,您可以建立資訊主頁,顯示正式環境中專案的成效指標和快訊政策。

如要進一步瞭解如何設定自訂資訊主頁,請參閱「管理自訂資訊主頁」和「新增資訊主頁小工具」。

建立快訊政策

您可以透過 Cloud Monitoring 建立快訊,在指標條件發生變化時收到通知。您可透過這些警示,在潛在問題影響使用者前收到通知。

如要進一步瞭解如何建立快訊,請參閱建立指標閾值快訊政策

請參考以下範例,瞭解如何建立延遲快訊政策。快訊政策會檢查 5 分鐘滾動週期內的第 99 個百分位數延遲時間。如果 p99 延遲時間超過 250 毫秒且持續 5 分鐘,就會觸發快訊。

控制台

  1. 前往 Google Cloud 控制台的「Monitoring」(監控) 頁面,然後選取「Alerting」(快訊)

    前往「Monitoring」頁面

  2. 選取「建立政策」

  3. 從「已使用的 API」資源中選取「要求延遲」指標。

  4. 為 Firestore Native 資料庫新增 firestore.googleapis.com 的服務篩選條件。

  5. 按一下「下一步」來設定觸發條件。

  6. 選取「門檻」做為「條件類型」

    門檻條件設為 250 毫秒的門檻值。如果第 99 個百分位數的延遲時間值在整個滾動視窗期間 (5 分鐘) 保持不變,系統就會觸發快訊。

  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'