共用方式為


Azure 監視器中的 Kubernetes 監視

Azure 提供一組以 Azure 監視器 為基礎的完整服務,以監視 Kubernetes 基礎結構不同層的健康情況和效能,以及相依於它的應用程式。 這些服務會彼此搭配使用,為在 Azure Kubernetes Service (AKS) 或其他雲端 ( 例如 AWSGCP) 中執行的叢集提供完整的監視解決方案。

您可能對 雲端原生運算基金會認可的雲端原生技術進行了現有投資,或者您的組織可以使用替代工具來收集和分析 Kubernetes 日誌,例如 Splunk 或 Datadog。 您選擇的要部署的 Azure 工具及其設定將取決於特定環境的需求。 您可以選擇將現有的監視解決方案移轉至 Azure 監視器,或將 Azure 服務整合至現有的環境。 例如,您可以在其他雲端中使用 Azure 中的 Prometheus 和 Grafana 受控供應專案,也可以選擇將這些工具的現有安裝與 Azure 中的 Kubernetes 叢集搭配使用。

小提示

本文說明 Azure 監視器的功能,用來監視 Kubernetes 叢集的健康情況和效能,以及在其上執行的工作負載。 請參閱 使用 Azure 監視器和雲端原生工具監視 Kubernetes 叢集 ,以取得如何設定這些服務,以根據管理這些服務的一般角色來監視 Kubernetes 環境不同層的最佳做法。

Kubernetes 階層

以下是典型 Kubernetes 環境的圖解,從基礎架構層開始,一直到應用程式。 每一層都有不同的監視需求,這些需求由不同的 Azure 服務所解決,每個服務如下所述。

具有相關管理角色的 Kubernetes 環境層圖。

網路層級

支援往返 Kubernetes 叢集的流量的虛擬網路元件會使用以下服務來進行監視。

服務 Description
網路監看員 Azure 中的工具套件,可監視 Kubernetes 叢集所使用的虛擬網路,並診斷偵測到的問題。
流量分析 Network Watcher 的一項功能,可以分析流量日誌以提供流量的深入解析。
網路深入分析 Azure 監視器的功能,包含不同網路元件效能和健康情況的視覺化表示法,並提供對屬於網路監看員一部分的網路監視工具的存取權。

容器級別

容器層級包括 Kubernetes 物件,例如部署、容器和複本集、叢集控制平面元件 (包括 API 伺服器、雲端控制器和 kubelet),以及抽象化為節點和節點集區的虛擬機器擴展集。 這些層會使用下列服務進行監控。

服務 Description
Prometheus 的 Azure Monitor 管理服務 Prometheus 是來自 Cloud Native Compute Foundation 的雲端原生指標解決方案,也是用於從 Kubernetes 叢集收集和分析指標資料的最常用工具。 適用於 Prometheus 的 Azure 監視器受控服務是完全受控的解決方案,與 Prometheus 查詢語言 (PromQL) 和 Prometheus 警示相容,並與 Azure 受控 Grafana 整合以進行視覺效果。 此服務支援您對開放原始碼工具的投資,而無需管理您自己的 Prometheus 環境的複雜性。
容器日誌收集 適用於 AKS 和已啟用 Azure Arc 的 Kubernetes 叢集的 Azure 服務,這些叢集會使用容器化版本的 Azure 監視器代理程式 ,從叢集中的每個節點收集 stdout/stderr 記錄和 Kubernetes 事件。 分析 Azure 入口網站中的資料,或使用 Log Analytics 進行查詢。
控制平面記錄收集 控制平面記錄會在 Azure 監視器中實作為 資源記錄 。 建立 診斷設定 ,以在與容器記錄相同的 Log Analytics 工作區中收集這些記錄。
已啟用 Azure Arc 的 Kubernetes 可讓您使用 Azure 作為集中式控制平面,連結至內部部署或其他雲端中執行的 Kubernetes 叢集。 安裝 Arc 代理程式後,您可以使用相同的方法和工具一起監視 AKS 和混合式叢集,包括收集容器記錄 Prometheus 計量。

應用層級

在 Kubernetes 叢集上執行的應用程式工作負載會使用下列服務進行監控。

服務 Description
應用程式深入解析 Azure 監視器的功能,提供應用程式效能監視 (APM),以監視 Kubernetes 叢集上執行的應用程式,從開發到測試,再到生產環境。 使用分散式追蹤快速識別和緩解延遲和可靠性問題。 支援適用於廠商中立檢測的 OpenTelemetry

分析

Azure 監視器提供多種工具來分析其他功能所收集的資料。 從環境中所有叢集的摘要開始,然後向下切入至單一叢集的互動式檢視。 您可以利用各種可用的 Grafana 儀表板,這些儀表板結合了不同 Kubernetes 相關的遙測資料集。 若要主動通知,請根據 Prometheus 指標啟用一組通用警示規則。

服務 Description
統一監控儀表板 Azure 入口網站中的統一監視儀錶板會合併不同服務所收集的資料,以便在單一畫面中進行互動式分析。 取得不同叢集的高階狀態,然後向下切入個別叢集及其元件的詳細資料。
Azure 受控 Grafana Grafana 的完全託管實現,這是一個開源數據可視化平台,通常用於呈現 Prometheus 和其他數據。 多個預先定義的 Grafana 儀表板可用來監視 Kubernetes 和完整堆疊疑難排解。
搭配 Grafana 使用 Azure 監視器儀表板 (預覽) 在 Azure 入口網站中呈現 Grafana 儀錶板,無需設定需求,也無需任何成本。 如果您不需要跨多個資料來源的儀表板,請使用此功能,而非受控 Grafana。

Container Insights 單一和多個叢集檢視的螢幕擷取畫面。

後續步驟