編輯

共用方式為


Kubernetes 監視和記錄

Azure Kubernetes Service (AKS)
Azure Log Analytics
Azure 監視器

本文說明 Azure Kubernetes Service (AKS) 監視與 Amazon Elastic Kubernetes Service (Amazon EKS) 的比較。 本文會引導您進行不同的選項,以監視和管理 AKS 叢集及其工作負載的記錄。

注意

本文是一系列文章的一部分,可協助熟悉 Amazon EKS 的專業人員瞭解 AKS

Amazon EKS 監視和記錄

和任何 Kubernetes 服務一樣,EKS 有兩個主要元件:控制平面和背景工作節點。 每個層都有特定的功能。

Amazon EKS 控制平面和叢集監視

Amazon EKS 與 Amazon CloudWatch Logs 整合,可為 Amazon EKS 控制平面提供記錄和監視。 預設不會啟用此整合,但設定時會收集下列記錄:

  • API 伺服器和 API 呼叫。
  • 稽核記錄和用戶互動。
  • 驗證器記錄。
  • 排程器和控制器記錄。

Amazon EKS 會以 Prometheus 文字格式公開端點的控制/metrics平面計量。 CloudWatch Container Insights 可以收集及儲存 Prometheus 計量。 您可以在 EKS 叢集之上部署及自我管理 Prometheus,或使用 適用於 Prometheus 的 Amazon 受控服務。

Amazon EKS 也與 Amazon Web Services (AWS) CloudTrail 整合,以追蹤動作和 API 呼叫。 如需詳細資訊,請參閱 使用 AWS CloudTrail 記錄 Amazon EKS API 呼叫。

Amazon EKS 工作負載監視

CloudWatch Container Insights 可以從部署在 EKS 中的容器化應用程式收集及匯總計量和記錄。 您可以使用 CloudWatch 代理程式的容器化版本,或使用 AWS Distro for OpenTelemetry 作為 DaemonSet,在 Amazon EKS 上實作 Container Insights。 您可以使用 FluentBit 傳送記錄。

AKS 監視和記錄

與其他 Azure 資源一樣,AKS 會產生 平臺計量和資源記錄 ,讓您可用來監視其基本健康情況和效能。

Diagram showing AKS logging and monitoring.

下載此架構的 Visio 檔案

Azure 監視器

AKS 以原生方式與 Azure 監視器整合。 Azure 監視器會將計量和記錄儲存在稱為 Log Analytics工作區的中央位置。 系統會處理和分析這項資料,並提供深入解析和警示。 如需詳細資訊,請參閱 使用 Azure 監視器監視 Azure Kubernetes Service (AKS)。

容器深入解析這項 Azure 監視器功能可收集、編制索引及儲存 AKS 叢集產生的資料。 您可以設定容器深入解析,監視裝載於 AKS 及其他叢集設定的受控 Kubernetes 叢集。 容器深入解析可使用針對 Kubernetes 環境量身打造的視覺效果,監視 AKS 健康情況和效能。 類似於 EKS,為 AKS 叢集啟用 Container Insights 會部署 Log Analytics 代理程式的容器化版本,此代理程式負責將數據傳送至 Log Analytics 工作區。

Microsoft Sentinel

Microsoft Sentinel 在整個企業中提供智慧型安全性分析和威脅情報。 使用 Microsoft Sentinel,您可以取得攻擊偵測、威脅可見度、主動式搜捕和威脅回應的單一解決方案。

Microsoft Sentinel 必須與您的 AKS 連線。 此連接器可讓您將 Azure Kubernetes Service (AKS) 診斷記錄串流至 Microsoft Sentinel,讓您能夠持續監視所有實例中的活動。

將數據源連線到 Microsoft Sentinel 之後,您就可以 使用 Microsoft Sentinel 和 Azure 監視器活頁簿將數據可視化和監視 ,以在建立自定義儀錶板時提供多功能性。

AKS 叢集和工作負載監視

AKS 部署可分成叢集層級元件、受控 AKS 元件、Kubernetes 物件和工作負載、應用程式及外部資源。 下表為監視 AKS 叢集與工作負載應用程式的常見策略。 每個層級都有不同的監視需求。

等級 描述 監視需求
叢集層級元件 將虛擬機擴展集抽象化為 AKS 節點和節點集區 節點狀態和資源使用率,包括 CPU、記憶體、磁碟和網路
受控 AKS 元件 AKS 控制平面元件,包括 API 伺服器、雲端控制器和 kubelet 從命名空間控制平面記錄和計量kube-system
Kubernetes 物件和工作負載 Kubernetes 物件,例如部署、容器和副本集 資源使用率和失敗
應用程式 在 AKS 叢集上執行的應用程式工作負載 結構特定的監視功能,但包括應用程式記錄檔和服務交易
外部 不屬於 AKS 的外部資源,但需要叢集延展性和管理 為各元件專屬
  • 叢集層級元件:您可以使用現有的容器深入解析檢視和報表來監視叢集層級元件,藉此掌握其健康情況、整備程度、效能、CPU 和記憶體資源使用率,以及趨勢。

  • 受控 AKS 元件:您可以使用計量瀏覽器檢視 Inflight Requests 計數器。 這項檢視包含要求延遲和工作佇列處理時間。

  • Kubernetes 物件和工作負載:您可以使用現有的容器深入解析檢視和報表來監視部署、控制器、Pod 和容器。 使用節點控制器檢視,檢視節點和控制器上執行的 Pod 健康情況和效能,以及 CPU 和記憶體的資源耗用量。

    從 Container Insights 容器 檢視中,您可以檢視容器的健康情況和效能,或選取個別容器並即時監視其事件和記錄。 如需使用此檢視和分析容器健康情況和效能的詳細資訊,請參閱 使用 Container Insights 監視 Kubernetes 叢集效能。

  • 應用程式:您可以使用 Application Insights 監視在 AKS 和其他環境中執行的應用程式。 Application Insights 是一款應用程式效能管理工具,可支援多種程式設計語言。 視您的需求而定,您可以檢測應用程式程式代碼來擷取要求、追蹤、記錄、例外狀況、自定義計量和端對端交易,並將此數據傳送至 Application Insights。 如果您有 Java 應用程式,則可以提供監視,而不需要檢測程式代碼。 如需詳細資訊,請參閱 Kubernetes 的零檢測應用程式監視。

  • 外部元件:您可以使用 Prometheus 和 Grafana 或其他工具來監視外部元件,例如服務網格、輸入和輸出。 您可以使用 Azure 監視器功能來監視工作負載應用程式使用的任何平臺即服務(PaaS),例如資料庫和其他 Azure 資源。

第三方監視解決方案

您可以在 AKS 節點集區中設定第三方監視解決方案,例如 Grafana 或 Prometheus。

  • 對於 Grafana,Grafana Labs 會提供重要 API 伺服器計量檢視的儀錶板。 您可以在現有的 Grafana 伺服器上使用此儀錶板,或在 Azure 中設定新的 Grafana 伺服器。 如需詳細資訊,請參閱 在 Grafana 中監視您的 Azure 服務。

  • Prometheus 是來自 Cloud Native Compute Foundation 的熱門開放原始碼計量監視解決方案。 您可以將 Prometheus 與 Azure 監視器整合,因此您不需要設定和管理 Prometheus 伺服器與市集。

    Container Insights 提供順暢的上線體驗,以收集 Prometheus 計量。 您可以透過導出者或 Pod 應用程式公開 Prometheus 計量端點,而 Container Insights 的容器化代理程式可以擷取計量。 Container Insights 補充並完成端對端 AKS 監視,包括記錄收集,Prometheus 作為獨立工具不提供。 如需詳細資訊,請參閱 使用容器深入解析設定 Prometheus 計量的擷取。

AKS 監視成本

Azure 監視器定價模型主要以每天內嵌到 Log Analytics 工作區的數據量為基礎。 成本會因您選取的方案和保留期間而有所不同。

啟用 Container Insights 之前,請先預估成本,並瞭解如何控制數據擷取及其成本。 如需詳細指引,請參閱 估計監視 AKS 叢集的成本。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

其他投稿人:

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步