共用方式為


容器深入解析中的大規模記錄收集 (預覽)

高縮放模式是容器深入解析中的一項功能,可讓您從 Azure Kubernetes Service (AKS) 叢集節點收集具有高輸送量的容器主控台 (stdout 和 stderr) 記錄。 此功能可讓您收集每個節點最多 50,000 個記錄/秒。

注意

此功能目前處於公開預覽。 如需詳細資訊,請參閱 Microsoft Azure 預覽版補充使用規定

概觀

啟用高縮放模式時,容器深入解析會執行多個設定變更,進而產生較高的整體輸送量。 這包括使用升級的代理程式和 Azure 監視器資料管線來改善縮放。 這些變更全都是由 Azure 監視器在背景進行,且在啟用此功能之後不需要輸入或設定。

高縮放模式只會影響資料收集層。 容器深入解析體驗的其餘部分會維持不變,而記錄會內嵌到相同的 ContainerLogV2 資料表中。 現有的查詢和警示會繼續運作,因為會收集相同的資料。

若要達到最大支援的記錄輸送量,您應該針對 AKS 叢集節點使用具有 16 個以上 CPU 核心的高階 VM SKU。 使用低階 VM SKU 會影響您的記錄輸送量。

我的叢集是否符合資格?

大規模記錄收集適合在其 Kubernetes 叢集中針對每個節點傳送超過 2,000 個記錄/秒 (或 2 MB/秒),且已針對每個節點傳送最多 50,000 個記錄/秒而設計及測試的環境。 使用下列記錄查詢來判斷您的叢集是否適合大規模記錄收集。

每秒和每個節點的記錄數

ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>" 
| summarize count() by bin(TimeGenerated, 1s), Computer 
| render timechart 

每秒每個節點的記錄大小 (以 MB 為單位)

 ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer 
| render timechart 

必要條件

  • Azure CLI 2.63.0 版或更新版本。
  • 如果已安裝 AKS-preview CLI 延伸模組,則 AKS-preview CLI 延伸模組版本必須是 7.0.0b4 或更高版本。
  • 叢集結構描述必須針對 ContainerLogV2 進行設定
  • 如果 ama-logs 精靈集容器上的預設資源限制 (CPU 和記憶體) 不符合您的記錄規模需求,請連絡 Microsoft 支援管道,以增加 ama-logs 容器的資源限制。

網路防火牆需求

除了監視 Kubernetes 叢集的網路防火牆需求之外,下表中的其他設定還需要根據您的雲端啟用高縮放模式。

雲端 端點 連接埠
Azure 公用雲端 <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
由 21Vianet Cloud 營運的 Microsoft Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Azure Government 雲端 <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

端點是叢集所使用資料收集規則 (DCR) 之資料收集端點 (DCE) 的記錄擷取端點。 當您啟用叢集的高縮放模式時,會建立此 DCE,並以前置詞 MSCI-ingest 開頭。

DCE 記錄擷取端點的螢幕擷取畫面。

限制

預覽版本期間不支援下列案例。 當功能正式推出時,將會加以解決。

  • 具有 Arm64 節點的 AKS 叢集
  • 已啟用 Azure Arc 的 Kubernetes
  • 具有受信任憑證的 HTTP Proxy
  • 透過 Azure 入口網站、Azure 原則、Terraform 和 Bicep 上線
  • 透過 AKS Insights 入口網站體驗中的 [監視設定] 進行設定
  • 從現有的容器深入解析自動移轉

啟用大規模記錄收集

請遵循下列各節中的兩個步驟,為您的叢集啟用高縮放模式。

注意

高記錄縮放模式需要資料收集端點 (DCE) 才能進行擷取。 當您將 DCE 上線時,系統會以每個叢集的前置詞 MSCI-ingest 建立擷取 DCE。 如果已設定 Azure 監視器私人連結範圍,則也會使用前置詞 MSCI-config 來建立 DCE。

更新 configmap

第一個步驟是更新叢集的 configmap,以指示容器深入解析 ama-logs deamonset Pod 以高縮放模式執行。

請遵循設定及部署 ConfigMap 中的指導,下載並更新叢集的 ConfigMap。 您唯一需要針對大規模記錄所做的變更是啟用 agent-settings 下方的 agent_settings.high_log_scale,如下所示:

[agent_settings.high_log_scale] 
  enabled = true 

套用此 configmap 之後,ama-logs-* Pod 會自動重新啟動,並將 ama-logs daemonset Pod 設定為以高縮放模式執行。

啟用監視附加元件的高縮放模式

使用下列 Azure CLI 命令啟用具有高縮放模式的監視附加元件,以根據您的 AKS 組態啟用監視附加元件的高縮放記錄模式。

注意

您可以使用 ARM 範本來啟用監視附加元件的高縮放模式,而不是 CLI。 如需使用 ARM 範本啟用容器深入解析的指導,請參閱啟用容器深入解析。 若要啟用高縮放模式,請在 streams 參數中使用 Microsoft-ContainerLogV2-HighScale 而不是 Microsoft-ContainerLogV2,如使用 ARM 範本設定 DCR 中所述。

現有的 AKS 叢集

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --enable-high-log-scale-mode  

現有的 AKS 私人叢集

az aks enable-addons -a monitoring -g  <resource-group-name> -n <cluster-name> --enable-high-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName> 

新的 AKS 叢集

az aks create -g <cluster-name> -n <cluster-name> enable-addons -a monitoring --enable-high-log-scale-mode  

新的 AKS 私人叢集

如需建立 AKS 私人叢集的詳細資料,請參閱建立私人 Azure Kubernetes Service (AKS) 叢集。 使用其他參數 --enable-high-scale-mode--ampls-resource-id,並使用 Azure 監視器私人連結範圍資源識別碼來設定高記錄縮放模式。

遷移

如果叢集已啟用容器深入解析,則您需要停用它,然後以高縮放模式重新啟用。

  • 由於高縮放模式會使用不同的資料管線,因此您必須確定管線端點不會遭到防火牆或其他網路連線封鎖。
  • 除了資料收集的標準 DCR 之外,高縮放模式還需要資料收集端點 (DCE) 才能進行擷取。 如果您已建立任何使用 Microsoft.ContainerLogV2 的 DCR,則必須將它取代為 Microsoft.ContainerLogV2-HighScale,否則資料將會重複。 如果 DCR 尚未使用 DCR,您也應該建立 DCE 進行擷取,並將其連結至 DCR。 如需相依性的參考,請參閱透過 Azure Resource Manager 上線的容器深入解析。

下一步