監視 Azure Cosmos DB
本文章說明:
- 您可以為此服務收集的監視資料類型。
- 分析資料的方式。
注意
如果您已經熟悉此服務和/或 Azure 監視器,只想知道如何分析監視資料,請參閱本文靠近結尾的分析一節。
當您有依賴 Azure 資源的重要應用程式和商務流程時,就需要監視並取得系統的警示。 Azure 監視器服務會從您系統的每個元件收集及彙總計量和記錄。 Azure 監視器讓您能夠檢視可用性、效能及復原能力,並在發生問題時通知您。 您可以使用 Azure 入口網站、PowerShell、Azure CLI、REST API 或用戶端程式庫來設定及檢視監視資料。
- 如需 Azure 監視器的詳細資訊,請參閱 Azure 監視器概觀 (機器翻譯)。
- 如需進一步了解一般如何監視 Azure 資源,請參閱使用 Azure 監視器監視 Azure 資源 (機器翻譯)。
深入解析
Azure 中的某些服務在 Azure 入口網站中有內建的監視儀表板,可提供監視服務的起點。 這些儀表板稱為深入解析,您可以在 Azure 入口網站中 Azure 監視器的深入解析中樞中找到這些儀表板。
Azure Cosmos DB 深入解析
Azure Cosmos DB 深入解析是根據 Azure 監視器的活頁簿功能之功能。 使用 Azure Cosmos DB 深入解析,在統一的互動體驗中檢視所有 Azure Cosmos DB 資源的整體效能、失敗、容量和作業健康情況。
如需 Azure Cosmos DB 深入解析的詳細資訊,請參閱以下文章:
資源類型
Azure 會使用資源類型和識別碼的概念來識別訂用帳戶中的所有內容。 Azure 監視器同樣會依據資源類型將核心監視資料組織成計量和記錄,也稱為命名空間。 不同的計量和記錄適用於不同的資源類型。 您的服務可能會與多個資源類型相關聯。
資源類型也是 Azure 中所執行每個資源的資源識別碼組成部分。 例如,虛擬機器的一種資源類型是 Microsoft.Compute/virtualMachines
。 如需服務及其相關聯資源類型的清單,請參閱資源提供者 (機器翻譯)。
如需 Azure Cosmos DB 的資源類型的詳細資訊,請參閱 Azure Cosmos DB 監視資料參考。
資料存放區
對於 Azure 監視器:
- 計量資料會儲存在 Azure 監視器計量資料庫中。
- 記錄資料會儲存在 Azure 監視器記錄存放區中。 Log Analytics 是可查詢此存放區的 Azure 入口網站工具。
- Azure 活動記錄是個單獨存放區,其介面位於 Azure 入口網站。
您可選擇性地將計量和活動記錄資料路由傳送至 Azure 監視器記錄存放區。 然後,可以使用 Log Analytics 來查詢資料,並將其與其他記錄資料相互關聯。
許多服務可以使用診斷設定,將計量和記錄資料傳送至 Azure 監視器以外的其他儲存位置。 範例包括 Azure 儲存體、託管的合作夥伴系統以及使用事件中樞的非 Azure 合作夥伴系統。
如需進一步了解 Azure 監視器如何儲存資料,請參閱 Azure 監視器資料平台。
Azure 監視器平台計量
Azure 監視器為大多數服務提供平台計量。 這些計量包括:
- 針對每個命名空間個別定義。
- 儲存在 Azure 監視器時間序列計量資料庫中。
- 輕量且能支援近即時警示。
- 用來追蹤資源效能的長期變化。
收集:Azure 監視器會自動收集平台計量。 不需要組態。
路由:通常您也可以將平台計量路由傳送至 Azure 監視器記錄/Log Analytics,以便與其他記錄資料一同查詢。 如需詳細資訊,請參閱計量診斷設定 (機器翻譯)。 如需了解如何設定服務的診斷設定,請參閱在 Azure 監視器中建立診斷設定 (機器翻譯)。
如需 Azure 監視器中所有資源可收集的計量完整清單,請參閱 Azure 監視器中所支援的計量。
Azure 監視器依預設會收集 Azure Cosmos DB 計量。 您無須明確設定任何項目。 大多數計量可從 Azure Cosmos DB 入口網站頁面或 Azure 監視器頁面取得。 根據預設,計量是以一分鐘的細微性收集的。 細微性可能會根據您選擇的計量而不同。 如需預設保留期間的詳細資訊,請參閱 Azure 監視器計量保留期
Azure Cosmos DB 伺服器端計量包括輸送量、儲存空間、可用性、延遲、一致性和系統層級計量。 您可以在用戶端收集要求費用、活動識別碼、例外狀況和堆疊追蹤資訊、HTTP 狀態和子狀態碼、診斷字串的詳細資料。 根據預設,這些計量的保留期間為 7 天。 您可以使用此資料來偵錯問題,或者如果需要連絡 Azure Cosmos DB 支援小組。
容器名稱等計量的維度值不區分大小寫。 這種情況可能會導致使用這類名稱的容器在遙測和動作上出現混淆或衝突。 對這些維度值執行字串比較時,請使用不區分大小寫的比較。
如需 Azure Cosmos DB 的可用計量清單,請參閱 Azure Cosmos DB 監視資料參考。
非 Azure 監視器型計量
此服務提供 Azure 監視器計量資料庫中未包含的其他計量。
- 有關可以協助監視 Azure Cosmos DB 的合作夥伴解決方案和工具的資訊,請參閱使用協力廠商解決方案監視 Azure Cosmos DB。
- 若要在 Azure Cosmos DB 的 Java SDK 中透過使用 Prometheus 計量來實作 Micrometer 計量,請參閱將 Micrometer 用戶端計量用於 Java。
Azure 監視器資源記錄
資源記錄提供對 Azure 資源所完成作業的深入解析。 系統會自動產生記錄,但您必須將其路由傳送至 Azure 監視器記錄,才能儲存或查詢這些記錄。 按類別組織記錄。 指定的命名空間可能會有多個資源記錄類別。
收集:您必須先建立「診斷設定」,並將記錄路由傳送至一個或多個位置,才會開始收集和儲存資源記錄。 在建立診斷設定時,您可以指定要收集的記錄類別。 有多種方式可以建立和維護診斷設定,包括透過 Azure 入口網站、程式設計方式,以及 Azure 原則。
路由傳送:建議的預設設定是將資源記錄路由傳送至 Azure 監視器記錄,以便與其他記錄資料一同查詢。 您也可以使用其他位置,例如 Azure 儲存體、Azure 事件中樞及特定 Microsoft 監視合作夥伴。 如需詳細資訊,請參閱 Azure 資源記錄 (機器翻譯) 和資源記錄目的地 (機器翻譯)。
如需收集、儲存及路由傳送資源記錄的詳細資訊,請參閱 Azure 監視器中的診斷設定 (機器翻譯)。
如需 Azure 監視器中所有可用資源記錄類別的清單,請參閱 Azure 監視器中支援的資源記錄 (機器翻譯)。
Azure 監視器中的所有資源記錄都有相同的標頭欄位,後面接著服務特定的欄位。 一般結構描述如 Azure 監視器資源記錄結構描述中所述。
您可以從A Azure Cosmos DB 帳戶監視診斷記錄,並從 Azure 監視器建立儀表板。 以第二個細微性發生的事件和追蹤之類的資料會儲存為記錄。 例如,如果容器的輸送量有所變更,Azure Cosmos DB 帳戶的屬性就會變更。 記錄會擷取這些事件。 您可以對收集到的資料執行查詢,以分析這些記錄。
如需可用的資源記錄類別、其相關聯的 Log Analytics 資料表,以及 Azure Cosmos DB 的結構描述,請參閱 Azure Cosmos DB 監視資料參考。
Azure 活動記錄 (部分機器翻譯)
活動記錄包含訂用帳戶層級事件,用於追蹤每個 Azure 資源外部可見的作業;例如,建立新的資源或啟動虛擬機器。
收集:活動記錄事件會自動產生並收集至個別存放區中,以便使用者在 Azure 入口網站中檢視。
路由:您可以將活動記錄資料傳送至 Azure 監視器記錄,以便與其他記錄資料一起分析。 您也可以使用其他位置,例如 Azure 儲存體、Azure 事件中樞及特定 Microsoft 監視合作夥伴。 如需進一步了解如何路由傳送活動記錄,請參閱 Azure 活動記錄概觀 (機器翻譯)。
稽核連續備份模式的還原動作
透過使用活動記錄,您可以列出在 Azure Cosmos DB 帳戶上執行連續模式的所有時間點還原清單。 若要了解如何在 Azure 入口網站中檢視這些作業,請參閱稽核連續備份模式的時間點還原動作。
分析監視資料
有許多工具可用來分析監視資料。
Azure 監視器工具
Azure 監視器支援下列基本工具:
計量瀏覽器是 Azure 入口網站中的工具,可讓您檢視和分析 Azure 資源的計量。 如需詳細資訊,請參閱使用 Azure 監視器計量瀏覽器分析計量。
Log Analytics,這是 Azure 入口網站中的工具,可讓您使用 Kusto 查詢語言 (KQL) 來查詢和分析記錄資料。 如需詳細資訊,請參閱開始使用 Azure 監視器中的記錄查詢。
活動記錄在 Azure 入口網站中具有使用者介面,可供檢視和基本搜尋。 若要進行更深入的分析,您必須將資料路由傳送至 Azure 監視器記錄,並在 Log Analytics 中執行更複雜的查詢。
支援更複雜視覺效果的工具包括:
- 儀表板 (機器翻譯) 可讓您將不同類型的資料合併到 Azure 入口網站中的單一窗格。
- 活頁簿 (機器翻譯) 是能在 Azure 入口網站中建立的可自訂報表。 活頁簿可以包含文字、計量及記錄查詢。
- Grafana 是在操作儀表板中表現相當出色的開放平台工具。 您可以使用 Grafana 來建立儀表板,納入 Azure 監視器以外多個來源的資料。
- Power BI (機器翻譯) 是一項商務分析服務,可提供跨各種資料來源的互動式視覺效果。 你可以將 Power BI 設定為自動從 Azure 監視器匯入記錄資料,以利用這些視覺效果。
Azure 監視器匯出工具
您可以使用下列方法將資料從 Azure 監視器中提取至其他工具:
計量:使用計量的 REST API (機器翻譯) 從 Azure 監視器計量資料庫中擷取計量資料。 此 API 支援使用篩選條件運算式來縮小擷取的資料範圍。 如需詳細資訊,請參閱 Azure 監視器 REST API 參考 (機器翻譯)。
記錄:使用 REST API 或相關聯的用戶端程式庫 (機器翻譯)。
另一個選項是工作區資料匯出 (機器翻譯)。
若要開始使用適用於 Azure 監視器的 REST API,請參閱 Azure 監視 REST API 逐步解說 (機器翻譯)。
分析 Azure Cosmos DB 計量
透過在 Azure Cosmos DB 帳戶入口網站瀏覽中選取 [監視] 下的 [計量],您可以使用 Azure 監視器計量瀏覽器將 Azure Cosmos DB 的計量與其他 Azure 服務的計量進行分析。 如需如何使用計量瀏覽器的詳細資訊,請參閱使用 Azure 監視器計量瀏覽器分析計量。
您可以監視 Azure Cosmos DB 資源的伺服器端延遲、要求單位使用量和標準化要求單位使用量。 您可以選取 [要求單位]、[儲存體]、[延遲]、[可用性]、[Cassandra] 等等的專屬計量。
在用戶端,您可以透過收集要求費用、活動識別碼、例外狀況和堆疊追蹤資訊、HTTP 狀態和子狀態程式碼以及診斷字串的計量來偵錯問題。
如需更多資訊和詳細說明,請參閱以下文章:
如需 Azure 監視器中支援的所有資源計量的清單,請參閱支援的 Azure 監視器計量。 如需針對 Azure Cosmos DB 收集的平台計量清單,請參閱監視 Azure Cosmos DB 資料參考計量。
以程式設計方式監視 Azure Cosmos DB
可在入口網站中取得的帳戶層級計量 (例如,帳戶儲存體使用量和要求總數) 無法使用 API for NoSQL 取得。 不過,您可以使用 API for NoSQL 來擷取集合層級的使用量資料。 若要擷取集合層級資料,請使用下列其中一種方法:
若要使用 REST API,請 在集合上執行 GET。 集合的配額和使用量資訊會在回應的
x-ms-resource-quota
和x-ms-resource-usage
標頭中傳回。若要使用 .NET SDK,請使用 DocumentClient.ReadDocumentCollectionAsync 方法,此方法會傳回包含許多使用量屬性 (例如 CollectionSizeUsage、DatabaseUsage、DocumentUsage) 的 ResourceResponse。
若要存取其他計量,請使用 Azure 監視器 SDK。 可用的計量定義可使用此格式來擷取:
https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01
若要擷取個別計量,請使用下列格式:
https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metrics?timespan={StartTime}/{EndTime}&interval={AggregationInterval}&metricnames={MetricName}&aggregation={AggregationType}&`$filter={Filter}&api-version=2018-01-01
若要深入了解,請參閱 Azure 監視 REST API。
分析 Azure Cosmos DB 記錄
Azure 監視器記錄中的資料會儲存在資料表中。 每個資料表都有本身的一組唯一屬性。 Azure 監視器中的所有資源記錄都有相同的欄位,後面接著服務特定的欄位。 一般結構描述如 Azure 監視器資源記錄結構描述中所述。
如需為 Azure Cosmos DB 收集的資源記錄的類型,請參閱 Azure Cosmos DB 監視資料參考。
如需使用 Azure Cosmos DB 的 Azure 監視器記錄的詳細資訊,請參閱以下文章:
Kusto 查詢
您可以使用 Kusto 查詢語言 (KQL) 分析 Azure 監視器記錄/Log Analytics 存放區中的監視資料。
重要
當您從入口網站的服務功能表中選取 [記錄] 時,Log Analytics 會隨即開啟,並將查詢範圍設定為目前的服務。 此範圍表示記錄查詢只會包含該資源類型的資料。 如果您想要執行包含其他 Azure 服務資料的查詢,請從 [Azure 監視器] 功能表中選取 [記錄]。 如需詳細資訊,請參閱 Azure 監視器 Log Analytics 中的記錄查詢範圍和時間範圍。
如需各項服務的常見查詢清單,請參閱 Log Analytics 查詢介面 (機器翻譯)。
在使用 Log Analytics 發出 Kusto 查詢之前,您必須啟用控制平面作業的診斷記錄。 啟用診斷記錄時,您可以在將資料儲存在特定於資源的資料表中或單一 AzureDiagnostics 資料表 (舊版) 中進行選取。 Kusto 査詢的確切文字取決於您選取的收集模式。
- 請參閱針對診斷查詢的問題進行疑難排解,以取得簡單的查詢,協助針對 Azure Cosmos DB 的問題進行疑難排解。
- 請參閱針對 Azure Cosmos DB for NoSQL 的進階診斷查詢問題進行疑難排解,了解使用傳送至 Azure 診斷 (舊版) 和資源特定 (預覽版) 資料表的診斷記錄,以取得更進階的查詢,協助疑難排解 Azure Cosmos DB 帳戶的問題。
以下是一些您可以在 [記錄搜尋] 搜尋列中輸入以利監視 Azure Cosmos DB 資源的查詢。
若要查詢 Azure Cosmos DB 中的所有控制平面記錄:
CDBControlPlaneRequests
若要查詢 Azure Cosmos DB 中的所有資料平面記錄:
CDBDataPlaneRequests
若要查詢已篩選且特定為單一資源的資料平面記錄清單:
CDBDataPlaneRequests
| where AccountName=="<account-name>"
若要取得資料平面記錄的計數,請依資源分組:
CDBDataPlaneRequests
| summarize count() by AccountName
若要產生資料平面記錄的圖表,請依作業類型分組:
CDBDataPlaneRequests
| summarize count() by OperationName
| render piechart
對於可以用於解决 Azure Cosmos DB 問題的 Kusto 査詢,請參閱以下文章:
這些範例只是您可以使用 Kusto 查詢語言 (KQL) 在 Azure 監視器中執行之豐富査詢的一小部分。 如需詳細範例,請參閲 Kusto 査詢的範例。
警示
在監視資料中發現特定狀況時,Azure 監視器警示會主動通知您。 警示可讓您在客戶發現系統發生問題前,就先及早識別和解決問題。 如需詳細資訊,請參閱 Azure 監視器警示。
Azure 資源的常見警示有許多來源。 如需 Azure 資源的常見警示範例,請參閱記錄警示查詢範例 (機器翻譯)。 Azure 監視器基準警示 (AMBA) 網站提供半自動化方法來實作重要的平台計量警示、儀表板和指導方針。 此網站適用於持續擴充的 Azure 服務子集,包括屬於 Azure 登陸區域 (ALZ) 的所有服務。
常見的警示結構描述會將 Azure 監視器警示通知的使用量標準化。 如需詳細資訊,請參閱一般警示結構描述 (機器翻譯)。
警示類型
您可以針對在 Azure 監視器資料平台中的任何計量或記錄資料來源發出警示。 警示有許多不同的類型,具體取決於您監視的服務以及所收集的監視資料。 不同類型的警示各有優缺點。 如需詳細資訊,請參閱選擇正確的監視警示類型 (機器翻譯)。
下列清單介紹可建立的 Azure 監視器警示類型:
- 計量警示 (機器翻譯) 會定期評估資源計量。 這些計量可以是平台計量、自訂計量、Azure 監視器轉換成計量的記錄,或 Application Insights 計量。 計量警示還可以套用多個條件和動態閾值。
- 記錄警示 (機器翻譯) 可讓使用者使用 Log Analytics 查詢,以預先定義的頻率評估資源記錄。
- 活動記錄警示 (機器翻譯) 會在發生符合定義條件的新活動記錄事件時觸發。 資源健康狀態警示和服務健康情況警示是報告服務和資源健康狀態的活動記錄警示。
某些 Azure 服務也支援智慧偵測警示、Prometheus 警示或建議的警示規則。
對於某些服務,若要進行大規模監控,您可以將同一計量警示規則套用至相同 Azure 區域中存在的多個同類型資源。 系統會針對每個受監視的資源傳送個別通知。 如需支援的 Azure 服務和雲端,請參閱使用一個警示規則監視多個資源 (機器翻譯)。
Azure Cosmos DB 警示規則
下表列出了 Azure Cosmos DB 的一些常見和建議的警示規則。
警示類型 | Condition | 描述 |
---|---|---|
要求單位的速率限制 (計量警示) | 維度名稱:StatusCode、運算子:Equals、維度值:429 | 如果容器或資料庫已超過佈建的輸送量限制,則會發出警示。 |
區域已容錯移轉 | 運算子:大於、彙總類型:計數、閾值:1 | 單一區域容錯移轉時。 如果您未啟用服務管理的容錯移轉,此警示將會很有幫助。 |
輪換金鑰 (活動記錄警示) | 事件層級:資訊,狀態:已啟動 | 輪換帳戶金鑰時發出警示。 您可以使用新的金鑰來更新應用程式。 |
如需為 Azure Cosmos DB 建立警示的詳細資訊和說明,請參閱建立計量警示。 若要建立警示以監視邏輯分割區索引鍵的儲存空間是否接近 20 GB,請參閱建立邏輯分割區索引鍵大小警示。
Advisor 建議
對於一些服務,如果在資源作業期間發生重大狀況或有即將到來的變更,入口網站的服務 [概觀] 頁面上會顯示警示。 您可以在左側功能表中 [監視] 底下的 [Advisor 建議] 中找到警示的詳細資訊和建議的修正。 在正常作業期間,不會顯示 Advisor 建議。
如需 Azure Advisor 的詳細資訊,請參閱 Azure Advisor 概觀 (機器翻譯)。
相關內容
- 如需 Azure Cosmos DB 用以自我監視所建立的計量、記錄和其他重要值的參考,請參閱 Azure Cosmos DB 監視資料參考。
- 如需監視 Azure 資源的一般詳細資訊,請參閱使用 Azure 監視器來監視 Azure 資源。