監控 Azure Cosmos DB

本文說明:

  • 您可以為此服務收集的監視資料類型。
  • 分析資料的方式。

Note

如果你已經熟悉這項服務和/或Azure 監視器,並且只想知道如何分析監控資料,請參考本文末尾的Analyze章節。

當你擁有依賴 Azure 資源的關鍵應用程式和業務流程時,你需要監控並接收系統的警示。 Azure 監視器服務會從您系統的每個元件收集及彙總計量和記錄。 Azure 監視器讓您能夠檢視可用性、效能及復原能力,並在發生問題時通知您。 您可以使用 Azure 入口網站、PowerShell、Azure CLI、REST API 或用戶端程式庫來設定及檢視監視資料。

Insights

Azure 中的某些服務在 Azure 入口網站中有內建的監視儀表板,可提供監視服務的起點。 這些儀表板稱為Insights,您可以在 Azure 入口網站中 Azure 監視器的Insights Hub中找到這些儀表板。

Azure Cosmos DB 洞察

Azure Cosmos DB 深入解析是根據 Azure 監視器的活頁簿功能之功能。 使用 Azure Cosmos DB 深入解析,在統一的互動體驗中檢視所有 Azure Cosmos DB 資源的整體效能、失敗、容量和作業健康情況。

如需 Azure Cosmos DB 深入解析的詳細資訊,請參閱以下文章:

資源類型

Azure 會使用資源類型和識別碼的概念來識別訂用帳戶中的所有內容。 資源類型也是 Azure 中所執行每個資源的資源識別碼組成部分。 例如,虛擬機器的一種資源類型是 Microsoft.Compute/virtualMachines。 如需服務及其相關聯資源類型的清單,請參閱 資源提供者

Azure 監視器同樣會依據資源類型將核心監視資料組織成計量和記錄,也稱為命名空間。 不同的計量和記錄適用於不同的資源類型。 您的服務可能會與多個資源類型相關聯。

如需 Azure Cosmos DB 的資源類型的詳細資訊,請參閱 Azure Cosmos DB 監視資料參考

數據記憶體

Azure 監視器相關資訊:

  • 指標資料會儲存在 Azure 監視器 指標資料庫中。
  • 日誌資料會儲存在 Azure 監視器 日誌儲存庫中。 Log Analytics 是 Azure portal 中的一個工具,可以查詢這個儲存庫。
  • Azure 活動日誌是一個獨立的儲存庫,並在 Azure portal 中有自己的介面。

你可以選擇性地將指標和活動日誌資料導向到 Azure 監視器 日誌儲存庫。 然後,可以使用 Log Analytics 來查詢資料,並將其與其他記錄資料相互關聯。

許多服務可以使用診斷設定,將計量和記錄資料傳送至 Azure 監視器以外的其他儲存位置。 範例包括使用 Event Hubs 的 Azure 儲存體、託管的合作夥伴系統和非 Azure 合作夥伴系統

如需進一步了解 Azure 監視器如何儲存資料,請參閱 Azure 監視器資料平台

Azure 監視器 平台指標

Azure 監視器 為大多數服務提供平台指標。 這些計量包括:

  • 針對每個命名空間個別定義。
  • 儲存在 Azure 監視器 時間序列指標資料庫中。
  • 輕量且能支援近即時警示。
  • 用來追蹤資源效能的長期變化。

Collection: Azure 監視器 自動收集平台指標。 不需要設定。

路由: 您也可以將某些平台指標路由至 Azure 監控日志 / Log Analytics,以便與其他日志數據一同查詢它們。 檢查每個指標的 DS 匯出 設定,以確定您是否可以使用診斷設定將該指標傳送至 Azure 監視器 Logs / Log Analytics。

若要查看 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 監視器 資源日誌

資源記錄提供對 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 資源的操作,觀察這些操作是如何從資源外部進行的;例如,建立新資源或啟動虛擬機器。

Collection:活動日誌事件會自動產生並收集到獨立儲存區,供在 Azure portal 查看。

Routing: 你可以將活動日誌資料傳送到 Azure 監控日誌,這樣你就能和其他日誌資料一起分析。 其他地點如 Azure 儲存體、Azure 事件中樞 以及部分 Microsoft 監控合作夥伴也可用。 如需進一步了解活動記錄的傳送路由,請參閱 Azure 活動記錄概觀

稽核連續備份模式的還原動作

透過使用活動記錄,您可以列出在 Azure Cosmos DB 帳戶上執行連續模式的所有時間點還原清單。 若要了解如何在 Azure 入口網站中檢視這些作業,請參閱稽核連續備份模式的時間點還原動作

分析監視資料

有許多工具可用來分析監視資料。

Azure 監視器 工具

Azure 監視器 支援以下基本工具:

支援更複雜視覺效果的工具包括:

  • 儀表板 可讓您將不同類型的資料合併至 Azure 入口網站的單一面板中。
  • Workbooks,可自訂的報告,可以在Azure portal中建立。 活頁簿可以包含文字、計量及日誌查詢。
  • Grafana,一款在營運儀表板方面表現出色的開放平台工具。 您可以使用 Grafana 來建立儀表板,納入 Azure 監視器以外多個來源的資料。
  • Power BI,一項商業分析服務,提供跨多種資料來源的互動式視覺化。 您可以將Power BI 設定為從 Azure 監視器自動匯入記錄數據,以利用這些視覺效果。

Azure 監視器 匯出工具

你可以透過以下方法將 Azure 監視器 的資料輸出到其他工具:

要開始使用 Azure 監視器 REST API,請參閱 Azure monitoring REST API walkthrough

分析 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 來擷取集合層級的使用量資料。 若要擷取集合層級資料,請使用下列其中一種方法:

若要存取其他計量,請使用 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 監視器 Logs / Log Analytics store 中的監控資料。

Important

當你在入口網站服務選單中選擇 Logs,Log Analytics 就會開啟,查詢範圍設為目前的服務。 此範圍表示記錄查詢只會包含該資源類型的資料。 如果你想執行包含其他Azure服務資料的查詢,請從Azure 監視器選單中選擇Logs。 詳情請參閱 Azure 監視器 Log Analytics 中的日誌查詢範圍和時間範圍

如需任何服務的常見查詢清單,請參閱 Log Analytics查詢介面

在使用 Log Analytics 發出 Kusto 查詢之前,您必須啟用控制平面作業的診斷記錄。 啟用診斷記錄時,您可以在將資料儲存在特定於資源的資料表中或單一 AzureDiagnostics 資料表 (舊版) 中進行選取。 Kusto 査詢的確切文字取決於您選取的收集模式

以下是一些您可以在 [記錄搜尋] 搜尋列中輸入以利監視 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 査詢的範例

Alerts

在監視資料中發現特定狀況時,Azure 監視器警示會主動通知您。 警示可讓您在客戶發現系統發生問題前,就先及早識別和解決問題。 如需詳細資訊,請參閱 Azure 監視器警示

Azure 資源有許多常見的警報來源。 如需查看有關 Azure 資源的常見警示範例,請參閱 記錄警示查詢範例Azure 監控基線警示(AMBA)網站提供一種半自動化方法,以實施重要的平台指標警示、儀表板及指引。 此網站適用於持續擴充的 Azure 服務子集,包括屬於 Azure 登陸區域 (ALZ) 的所有服務。

通用警報架構標準化了 Azure 監視器 警報通知的使用方式。 如需詳細資訊,請參閱 常見警示架構

警示類型

你可以在 Azure 監視器 資料平台上對任何指標或日誌資料來源發出警示。 警示有許多不同的類型,具體取決於您監視的服務以及所收集的監視資料。 不同類型的警示各有優缺點。 欲了解更多資訊,請參閱 選擇正確的監控警示類型

以下清單描述您可以建立的 Azure 監視器 警示類型:

  • 指標警示 會定期評估資源指標。 指標可以是平台指標、自訂指標、Azure 監視器 的日誌轉換成指標,或是 Application Insights 指標。 計量警示還可以套用多個條件和動態閾值。
  • 日誌警示 允許使用者使用 Log Analytics 查詢,以預先定義的頻率評估資源日誌。
  • 當發生符合已定義條件的新活動記錄事件時,就會觸發活動記錄警示。 資源健康狀態 警示與 Service Health 警示是活動記錄警示,用於報告您的服務與資源健康狀況。

某些 Azure 服務也支援智慧偵測警示Prometheus 警示建議的警示規則

對某些服務,你可以透過對同一 Azure 區域內多個同類型資源套用相同的指標警示規則來大規模監控。 系統會針對每個受監視的資源傳送個別通知。 關於支援的Azure服務與雲端,請參見 以單一警示規則監控多資源

Azure Cosmos DB 警示規則

下表列出了 Azure Cosmos DB 的一些常見和建議的警示規則。

警示類型 狀況 Description
要求單位的速率限制 (計量警示) 維度名稱:StatusCode、運算子:Equals、維度值:429 如果容器或資料庫超過布建的輸送量限制,則警示。
區域容錯移轉 運算子:大於、彙總類型:計數、閾值:1 單一區域容錯移轉時。 如果您未啟用服務管理的容錯移轉,此警示將會很有幫助。
輪換金鑰 (活動記錄警示) 事件層級:資訊狀態:已啟動 輪換帳戶金鑰時發出警示。 您可以使用新的金鑰來更新應用程式。

如需為 Azure Cosmos DB 建立警示的詳細資訊和說明,請參閱建立計量警示。 若要建立警示以監視邏輯分割區索引鍵的儲存空間是否接近 20 GB,請參閱建立邏輯分割區索引鍵大小警示

顧問建議

對於某些服務,如果在資源作業期間發生重大狀況或迫在眉睫的變更,入口網站中的服務 概觀 頁面上會顯示警示。 您可以在左側功能表的 [監視] 底下的 [建議修正] 中找到警示的詳細資訊和建議。 在正常作業期間,不會顯示 Advisor 建議。

如需 Azure Advisor 的詳細資訊,請參閱 Azure Advisor 概觀