使用 Azure 中的診斷設定來監視 Azure Cosmos DB 資料

適用於:NoSQL MongoDB Cassandra Gremlin Table

Azure 中的診斷設定可用來收集資源記錄。 資源會發出 Azure 資源記錄,並提供該資源作業的豐富、經常性資料。 這些記錄會依要求進行擷取,也稱為「資料平面記錄」。資料平面作業的一些範例包括刪除、插入和 readFeed。 這些記錄的內容會依資源類型而有所不同。

系統會自動收集平台計量和活動記錄,您必須建立診斷設定來收集資源記錄,或將其轉送到 Azure 監視器外部。 您可以開啟 Azure Cosmos DB 帳戶的診斷設定,並將資源記錄傳送至下列來源:

  • Log Analytics 工作區
    • 傳送至 Log Analytics 的資料可以寫入 Azure 診斷 (舊版)資源專屬 (預覽) 資料表
  • 事件中樞
  • 儲存體帳戶

注意

建議您在資源專屬模式中建立診斷設定 (適用於 API for Table 以外的所有 API),遵循我們透過 REST API 建立診斷設定的指示。 此選項提供額外的成本最佳化,具有可用於處理資料的改良檢視。

必要條件

建立診斷設定

在這裡,我們會逐步解說建立帳戶診斷設定的程序。

  1. 登入 Azure 入口網站

  2. 瀏覽至 Azure Cosmos DB 帳戶。 開啟 [監視] 區段下方的 [診斷設定] 窗格,然後選取 [新增診斷設定] 選項。

    Sreenshot of the diagnostics selection page.

    重要

    如果帳戶中未啟用「全文檢索查詢」功能,則您可能會看到「啟用全文檢索查詢 [...] 以取得更詳細的記錄」提示。 如果您不想要啟用此功能,則可以放心地忽略此警告。 如需詳細資訊,請參閱啟用全文檢索查詢

  3. 在 [診斷設定] 窗格中,使用您慣用的類別來填入表單。 以下包含的是記錄類別的清單。

    類別 API 定義 索引鍵內容
    DataPlaneRequests 建議用於 API for NoSQL 將後端要求記錄為資料平面作業,即為建立、更新、刪除或擷取帳戶中資料而執行的要求。 RequestchargestatusCodeclientIPaddresspartitionIDresourceTokenPermissionIdresourceTokenPermissionMode
    MongoRequests 適用於 MongoDB 的 API 從前端記錄使用者起始的要求,為 Azure Cosmos DB for MongoDB 要求提供服務。 當您啟用此類別時,請務必停用 DataPlaneRequests。 Requestcharge, opCode, retryCount, piiCommandText
    CassandraRequests 適用於 Apache Cassandra 的 API 從前端記錄使用者起始的要求,為 Azure Cosmos DB for Cassandra 要求提供服務。 operationNamerequestChargepiiCommandText
    GremlinRequests 適用於 Apache Gremlin 的 API 從前端記錄使用者起始的要求,為 Azure Cosmos DB for Gremlin 要求提供服務。 operationName, requestCharge, piiCommandText, retriedDueToRateLimiting
    QueryRuntimeStatistics 適用於 NoSQL 的 API 下表詳細說明針對 API for NoSQL 帳戶執行的查詢作業。 根據預設,系統會將查詢文字和其參數模糊化,以避免透過要求所提供的全文檢索查詢記錄來記錄個人資料。 databasenamepartitionkeyrangeidquerytext
    PartitionKeyStatistics 所有 API 藉由表示分割區索引鍵的預估儲存體大小 (KB),記錄邏輯分割區索引鍵的統計資料。 當您針對儲存體誤差進行疑難排解時,此資料表很有用。 只有在下列條件成立時,才會發出這個 PartitionKeyStatistics 記錄:1. 實體分割區中至少有 1% 的文件具有相同的邏輯分割區索引鍵。 2. 在實體分割區的所有索引鍵中,PartitionKeyStatistics 記錄會擷取儲存體大小最大的前三個索引鍵。 如果不符合上述條件,則無法使用分割區索引鍵統計資料。 如果您的帳戶不符合上述條件也沒有關係,這通常表示您沒有邏輯分割區儲存體誤差。 注意:分割區索引鍵的預估大小會使用取樣方法來計算,該方法會假設實體分割區中的文件大小大致相同。 如果文件大小在實體分割區中不是統一的,則預估分割區索引鍵大小可能不正確。 subscriptionId, regionName, partitionKey, sizeKB
    PartitionKeyRUConsumption API for NoSQL 或 API for Apache Gremlin 記錄分割區索引鍵的每秒彙總 RU/秒耗用量。 針對常用資料分割進行疑難排解時,此資料表很有用。 目前,Azure Cosmos DB 僅針對 API for NoSQL 帳戶和點讀取/寫入、查詢和預存程序作業,報告分割區索引鍵。 subscriptionId, regionName, partitionKey, requestCharge, partitionKeyRangeId
    ControlPlaneRequests 所有 API 記錄有關控制平面作業的詳細資料,其中包括建立帳戶、新增或移除區域、更新帳戶複寫設定等。 operationName, httpstatusCode, httpMethod, region
    TableApiRequests 適用於資料表的 API 從前端記錄使用者起始的要求,為 Azure Cosmos DB for Table 要求提供服務。 operationNamerequestChargepiiCommandText
  4. 當您選取類別詳細資料之後,請將記錄傳送至慣用的目的地。 如果您要將記錄傳送至 Log Analytics 工作區,請務必選取 [資源專屬] 作為目的地資料表。

    Screenshot of the option to enable resource-specific diagnostics.

啟用記錄查詢文字的全文檢索查詢

注意

啟用這項功能可能會導致額外的記錄成本,如需定價詳細資料,請造訪 Azure 監視器定價。 建議您在疑難排解之後停用此功能。

Azure Cosmos DB 提供進階記錄,以進行詳細疑難排解。 啟用全文檢索查詢,您可以在 Azure Cosmos DB 帳戶內檢視所有要求的去模糊化查詢。 您也會授與 Azure Cosmos DB 存取權,以在您的記錄中存取和呈現此資料。

  1. 若要啟用這項功能,請瀏覽至 Azure Cosmos DB 帳戶中的 Features 頁面。

    Screenshot of the navigation process to the Features page.

  2. 選取 Enable。 此設定會在幾分鐘內套用。 所有新內嵌的記錄都會有每個要求的全文檢索或 PIICommand 文字。

    Screenshot of the full-text feature being enabled.

查詢資料

若要了解如何使用這些新啟用的功能進行查詢,請參閱:

下一步