Kubernetes 叢集會產生容器深入解析所收集的大量資料。 由於您需支付此資料的擷取和保留費用,因此您想要設定環境以將成本最佳化。 您可以藉由篩除不需要的資料,以及將儲存資料所在的 Log Analytics 工作區設定最佳化,從而大幅降低監視成本。
完成對收集資料的分析並確定哪些資料是不需要收集的後,您可以選擇幾個方法來篩選不需要收集的資料。 此範圍從一組預先定義的成本組態中選取,到利用不同的功能以根據特定準則篩選資料。 本文提供指導步驟,說明如何分析和最佳化容器洞察的資料收集。
分析資料擷取
若要找出節省成本的最佳機會,請分析在不同資料表中收集的資料量。 這項資訊可協助您識別哪些資料表耗用最多資料,並協助您做出有關如何降低成本的明智決策。
您可以使用 Container Insights Usage Runbook,將每個工作區中擷取的數據量可視化,此 Runbook 可從受監視叢集的 [活頁簿 ] 頁面取得 。
報告可讓您依不同的類別來檢視資料使用量,例如資料表、命名空間和記錄來源。 使用這些不同的檢視來判斷您未使用的任何資料,且可以篩除以降低成本。
選取選項以在 Log Analytics 中開啟查詢,您可以在其中執行更詳細的分析,包括檢視所收集的個別記錄。 如需其他可用來分析已收集資料的查詢,請參閱容器見解的查詢記錄。
例如,以下螢幕擷取畫面顯示針對依資料表的記錄查詢所做的修改,該查詢會依命名空間和資料表來顯示資料。
篩選收集的資料
識別出您可以篩選的資料之後,請在容器深入解析中使用不同的組態選項來篩除您不需要的資料。 選項可用來選取預先定義的組態、設定個別參數,以及使用自訂記錄查詢進行詳細篩選。
日誌設定預設
篩選數據最簡單的方式是從 監視 > 監視器設定使用 Azure 入口網站中的記錄預設值。 每個預設都包含根據不同作業和成本設定檔收集的不同資料表集合。 記錄預設是設計來協助您根據常見案例快速設定數據收集。
秘訣
如果您已將叢集設定為使用容器深入解析的 Prometheus 體驗,則可以停用效能收集,因為 Prometheus 正在收集效能資料。
如需選擇日誌預設的詳細資訊,請參閱 使用 Azure 入口網站設定 DCR。
篩選選項
選擇適當的記錄預設之後,您可以使用下表中的不同方法篩選其他數據。 每個選項都可讓您根據不同的準則來篩選資料。 當您完成設定時,應該只會收集分析和警示所需的資料。
篩選依據 | 描述 |
---|---|
資料表 | 如果您想要選擇填入預設的日志群組以外的其他個別數據表,請手動修改 DCR。 例如,您可能想要收集 ContainerLogV2 ,但不要收集包含在相同記錄預設中的 KubeEvents 。 如需 DCR 中使用的資料流清單,請參閱 DCR 中的串流值,並使用其中的指導。 |
容器記錄 | ContainerLogV2 會儲存叢集中容器所產生的 stdout/stderr 記錄。 雖然您可以使用 DCR 來停用整個資料表的收集,但您可以使用叢集的 ConfigMap 個別設定 stderr 和 stdout 記錄的收集。 由於 stdout 和 stderr 設定可以個別設定,因此您可以選擇啟用一個,而不是另一個。如需篩選容器記錄的詳細資訊,請參閱篩選容器記錄。 |
Namespace | Kubernetes 中的命名空間可用來將叢集內的資源分組。 您可以從不需要的特定命名空間中的資源篩除資料。 使用 DCR 時,如果您已啟用 Perf 資料表的收集,則只能依命名空間篩選效能資料。 使用 ConfigMap 篩選 stdout 和 stderr 記錄中特定命名空間的資料。如需依命名空間篩選記錄的詳細資料,請參閱篩選容器記錄和平台記錄篩選 (系統 Kubernetes 命名空間),以取得系統命名空間的詳細資料。 |
Pod 和容器 | 註釋篩選可讓您根據對 Pod 所做的註釋來篩除容器記錄。 使用 ConfigMap,您可以指定是否應該收集個別 Pod 和容器的 stdout 和 stderr 記錄。 如需更新 ConfigMap 以及在 Pod 中設定註釋的詳細資訊,請參閱以註釋為基礎的工作負載篩選。 |
轉換
擷取時間轉換可讓您套用 KQL 查詢來篩選和轉換 Azure 監視器管線中的資料,再將其儲存在 Log Analytics 工作區中。 這可讓您根據無法使用其他選項執行的準則來篩選資料。
例如,您可以選擇根據 ContainerLogV2 中的記錄層級來篩選容器記錄。 您可以將轉換新增至容器深入解析 DCR,以執行下圖中的功能。 在此範例中,只會收集 error
和 critical
層級事件,而忽略任何其他事件。
替代策略是將較不重要的事件儲存至針對基本記錄設定的個別資料表。 事件仍可供疑難排解,但資料擷取的成本會大幅節省。
如需將轉換新增至容器深入解析 DCR 的詳細資訊,包括使用轉換的範例 DCR,請參閱容器深入解析中的資料轉換。
設定定價層
Azure 監視器中的基本記錄提供您在 Log Analytics 工作區中擷取資料時的大量成本折扣,以取得您偶爾用於偵錯和疑難排解的資料。 針對基本記錄設定的資料表會為資料擷取提供顯著的成本折扣,以換取記錄查詢的成本,這表示它們非常適合您所需的資料,但您不常存取。
為基本記錄設定 ContainerLogV2 ,大幅降低容器記錄的數據擷取成本。 如需不同策略,請參閱 AKS 的符合成本效益警示策略 ,以繼續針對基本記錄設定此數據表的容器記錄發出警示。
符合成本效益的警示策略
警示是監視 Azure Kubernetes Service (AKS) 上工作負載的重要部分。 進階警示需要 Log Analytics 工作區中的 分析層級記錄,但對於大量環境或特定類型的記錄,例如稽核記錄,這可能會成本過高。
您可以將保留容器記錄的數據表轉換成 基本記錄 ,並利用Log Analytics平臺的其他符合成本效益策略,大幅降低數據擷取成本。 Azure Monitor 提供針對這些資料表的事件驅動與摘要警示選項,讓您更好地控制成本,同時不必犧牲對 AKS 工作負載的健康狀況和行為可視性。 若要深入瞭解,請參閱 AKS 符合成本效益的警示策略 。
下一步
為了協助您根據從容器深入解析收集的資料來了解預期的成本,請參閱在 Log Analytics 工作區中分析使用量,以分析最近的使用模式。