共用方式為


使用 Azure 監視器分析 Kubernetes 叢集的健康情況和狀態

Azure 監視器會在 Azure 入口網站 中提供一組檢視,結合從 Kubernetes 叢集收集的效能和記錄資料,以協助您分析其健康情況和效能。 本文說明可用的不同檢視,以及如何與它們呈現的資料互動和解譯。

多叢集檢視

若要開啟多叢集檢視,請從 Azure 入口網站中 [監視] 功能表的 [深入解析] 區段中選取 [容器]。 此檢視會顯示跨訂用帳戶中資源群組部署之所有受監視 Kubernetes 叢集的健康情況狀態。 此檢視可讓您快速識別處於嚴重或狀況不良狀態的叢集,也可協助您啟用和設定環境中所有叢集的監控。 如需詳細資訊 ,請參閱啟用 AKS 叢集的監視

顯示 Azure 監視器多叢集儀表板範例的螢幕擷取畫面。

附註

此檢視已不再支援 Azure Stack(預覽版)和非 Azure(預覽版)。

選取 [節點] 欄、在該叢集的單一叢集檢視中開啟 [節點] 索引標籤。 選取使用者組件系統組件欄,開啟叢集的控制器索引標籤,並套用適當的篩選器。

下表說明此檢視中顯示的不同健康情況狀態。 健康情況狀態會將整體叢集狀態計算為三種狀態 中最差 的狀態。 如果這三種狀態中的任何一種為 「未知」,則整體叢集狀態會顯示「 未知」。

狀態 描述
Healthy 未偵測到 VM 的問題,而且它會視需要運作。
警告 偵測到一或多個必須解決的問題,否則健康狀況可能會變得嚴重。
重大 偵測到一或多個必須解決的嚴重問題,才能如預期還原正常作業狀態。
未經授權 使用者沒有讀取工作區中的資料或收集資料的資料收集規則所需的權限。
未找到 包含工作區的工作區、資源群組或訂用帳戶可能已被刪除。
啟用錄製規則 啟用 Prometheus 記錄規則 以解鎖更高效能的資料和 Prometheus 視覺化。
設定錯誤 發生錯誤。
錯誤 嘗試從工作區讀取資料時發生錯誤。
無資料 資料在過去 30 分鐘未傳送至工作區。
未知 如果服務無法與節點或 Pod 建立連線,狀態會變更為 [未知] 狀態。
等待中 針對 Arc 已啟用叢集進行監控設定通常需要約 5 分鐘的時間。 如果叢集與 Azure 中斷連線,此程式可能會延遲。
等待 X 小時 已啟用 Arc 叢集的監視設定所花費的時間比預期長。
失敗 已啟用 Arc 叢集的監視設定失敗。

下表提供計算明細,此計算會在多叢集檢視上控制受監視叢集的健全狀態。

受監視的叢集 狀態 可用性
使用者 Pod Healthy
警告
重大
未知
100%
90 - 99%
<90%
未在過去 30 分鐘內報告
系統 Pod Healthy
警告
重大
未知
100%
N/A
100%
未在過去 30 分鐘內報告
節點 Healthy
警告
重大
未知
>85%
60 - 84%
<60%
未在過去 30 分鐘內報告

單一叢集檢視

若要開啟單一叢集檢視、請從多叢集檢視中選取叢集、或從叢集功能表中選取 * 監控 * 。 此檢視提供多個索引標籤,可讓您向下切入所選叢集的健全狀況和效能。

選項

顯示單一叢集檢視視覺化設定的螢幕擷取畫面。

Option 描述
可視化 可讓您選取用來填入檢視的資料來源。 受控 Prometheus 視覺效果是慣用的設定,它會使用儲存在 Azure 監視器工作區中的 Prometheus 計量。 當您為叢集 啟用受管理 Prometheus 時,會啟用這些選項。 Log Analytics 可視化 使用儲存在 Log Analytics 工作區中的效能資料。 如果您未在 記錄設定檔中收集效能資料,則可能不會收集此資料。 如果未為叢集啟用受管 Prometheus,則無法使用此選項。
Refresh 重新整理檢視中的資料。
監視器設定 開啟叢集的監控組態設定。 如需詳細資訊 ,請參閱啟用 AKS 叢集的監視
查看 Grafana 顯示連結到叢集的 Azure 監視器工作區的任何受控 Grafana 執行個體的清單。 您可以開啟執行個體的儀表板,或檢視執行個體的組態。
建議的警示 設定叢集的建議警示。 如需詳細資訊,請參閱 建立 Kubernetes 叢集的建議警示
檢視所有叢集 開啟 多叢集檢視

篩選數據

單一叢集檢視中的每個索引標籤都提供篩選所呈現資料的選項。 每個索引標籤都有已收集資料的時間範圍篩選器。 「 節點」、「 控制器」和 「容器 」索引標籤可讓您選取「 新增過濾器」、以新增篩選器資料、或依節點或命名空間新增篩選器資料。

概觀索引標籤

[ 概觀 ] 索引標籤提供一組磚,顯示該叢集的運作狀態和效能。 如果您未啟用某些監視功能,則這些其中幾個圖格可能會被停用。 在此情況下,磚會提供啟動叢集上線程式的選項。 如需詳細資訊,請參閱 使用 Azure 入口網站啟用 Kubernetes 監視

節點、控制器和容器索引標籤

節點」、「 控制器」和 「容器 」索引標籤會顯示叢集的這些資源清單。 如果您未收集叢集的效能資料,則會停用索引標籤。 在此情況下,索引標籤會提供啟動叢集上線程式的選項。 如需詳細資訊,請參閱 使用 Azure 入口網站啟用 Kubernetes 監視

狀態

狀態 欄位中的 圖示會指出項目的線上狀態,如下表所述。

圖示 狀態
等候中或已暫停
上次回報的執行,但未回應的時間超過 30 分鐘
已成功停止或無法停止
失敗狀態

選擇指標

節點」、「 控制器」和 「容器 」索引標籤包含一個選項,可選取用於檢視中值的指標。

顯示容器節點效能檢視的螢幕擷取畫面。

若要檢閱記憶體使用率,請在 [計量] 下拉式清單中選取 [記憶體 RSS] 或 [記憶體工作集]。 只有 Kubernetes 1.8 版和更新版本才支援記憶體 RSS。 否則,您會以 NaN % 的形式檢視 Min % 的值,這是一個數值資料類型值,代表未定義或無法顯示的值。

記憶體工作集顯示所包含的常駐記憶體和虛擬記憶體 (快取),而且是應用程式正在使用的記憶體總計。 記憶體 RSS 只會顯示主要記憶體 (只顯示常駐記憶體)。 此計量會顯示可用記憶體的實際容量。

  • 常駐記憶體或主要記憶體是叢集節點可以使用的電腦記憶體實際數量。
  • 虛擬記憶體是作業系統保留的硬碟空間,用於在記憶體壓力下將資料從記憶體交換到磁碟,然後在需要時再將其擷取回記憶體。

選取計量計算

百分位數選取器會定義如何在選取的時間範圍內彙總度量。 彙總欄的標題會變更以符合所選選項。

顯示資料篩選的百分位數選取範圍螢幕擷取畫面。

趨勢欄

當您將滑鼠暫留在 [趨勢] 資料行底下的長條圖上方時,每個長條圖都會依據所選取的計量,在 15 分鐘的取樣期間內顯示 CPU 或記憶體使用量。 使用鍵盤選取趨勢圖之後,請使用 Alt+Page Up 鍵或 Alt+Page Down 鍵,輪流查看每一個橫條。 您會得到如同與滑鼠指標懸停在橫條上時一樣的詳細資料。

顯示趨勢橫條圖暫留範例的螢幕擷取畫面。

在下一個範例中,清單中第一個節點 aks-nodepool1- 的 [容器] 值是 25。 此值是已部署的容器總數彙總。

顯示每個節點的容器彙總範例螢幕擷取畫面。

屬性窗格

選取任何項目以開啟屬性窗格,其中顯示所選項目的屬性。 選取 Linux 節點時,[本機磁碟容量] 區段也會顯示可用磁碟空間,以及提供給節點的每一個磁碟使用百比。 您也可以從此窗格中,選取窗格頂端的 [ 即時事件 ] 索引標籤,以檢視 Kubernetes 容器記錄 (stdout/stderror)、事件和 Pod 度量。 如需此功能的詳細資訊,請參閱如何即時檢視 Kubernetes 記錄、事件和 Pod 計量

檢視記錄資料

若要根據預先定義的記錄搜尋來檢視所選資源的記錄資料,請從屬性窗格中選取 [在 Log Analytics 中檢視事件]。 如需此資料和日誌查詢的詳細資訊,請參閱 如何查詢容器日誌

節點標籤

下表說明 節點 頁籤中的欄。

資料行 描述
名稱 主機的名稱。
狀態 節點狀態的 Kubernetes 檢視。
最小 %、平均 %、第 50 百分位、第 90 百分位、第 95 百分位、最大 % 根據選定期間內的百分位數計算的平均節點百分比。
最小、平均、第 50、第 90、第 95、最大 根據所選時間範圍內的百分位數計算節點的平均實際值。 平均值是依據為節點設定的 CPU/記憶體限制測量所得。 若為 Pod 和容器,則是指主機所報告的平均值。
容器 容器的數目。
Uptime 呈現自節點啟動或重新啟動以來經過的時間。
控制器 僅適用於容器與 Pod。 顯示位在哪一個控制器之中。 並非所有 Pod 都位在控制器之中,因此有些可能會顯示 N/A
趨勢最小 %、平均 %、第 50 %、第 90 %、第 95 %、最大 % 長條圖趨勢代表控制器的平均百分位數計量百分比。

節點 索引標籤 中的列階層遵循 Kubernetes 物件模型。 展開節點以檢視其 Pod。 若有超過一個容器被分組至 Pod,它們會以最後一個資料列的形式顯示於階層中。 當主機有處理器或記憶體的壓力時,您也可檢視主機上有多少非 Pod 相關的工作負載正在執行。

顯示效能檢視中 Kubernetes 節點階層的範例螢幕擷取畫面。

Windows Server 容器會顯示在清單中所有 Linux 型節點之後。 當您展開 Windows Server 節點時,可以檢視在該節點上執行的一或多個 Pod 和容器。 選取節點之後,[屬性] 窗格會顯示版本資訊。

顯示已列出 Windows Server 節點的節點階層範例螢幕擷取畫面。

執行 Linux OS 的 Azure 容器執行個體虛擬節點會顯示在清單中最後一個 AKS 叢集節點的後面。 當您展開容器執行個體虛擬節點時,可以檢視在該節點上執行的一或多個容器執行個體 Pod 和容器。 系統不會收集和報告節點的指標,而僅對 Pod 進行收集和報告。

顯示已列出容器執行個體的節點階層範例螢幕擷取畫面。

從展開的節點中,您可以從在該節點上執行的 Pod 或容器向下切入到控制器,以檢視針對該控制器篩選出來的效能資料。 在 [控制器] 欄中,選取該特定節點的值。

顯示在效能檢視中從節點向下切入至控制器的螢幕擷取畫面。

「其他處理程序」項目視圖旨在協助您清楚瞭解節點上高資源使用率的根本原因。 此資訊可幫助您區分容器化處理序與非容器化處理序之間的使用量。 這些是在您的節點上執行的非容器處理序,並包含下列項目:

  • 自主管理或托管的 Kubernetes 非容器化程序
  • 容器運行時進程
  • 庫貝萊特
  • 節點上執行的系統程序
  • 在節點硬體或 VM 上執行的其他非 Kubernetes 工作負載

其他處理序的值為 Total usage from CAdvisor - Usage from containerized process

控制器分頁

控制器 索引 標籤可讓您檢視控制器、虛擬節點控制器和未連線至控制器的虛擬節點網繭的效能健全狀況。

顯示 \<名稱>控制器效能檢視的螢幕擷取畫面。

列層級的結構是從控制器開始的。 當您展開控制器時,可以檢視一或多個 Pod。 展開 Pod,最後一個資料夾會顯示分組至 Pod 的容器。 從展開的控制器中,您可以向下切入到控制器執行所在的節點,以檢視針對該節點所篩選的效能資料。 未連線到控制器的容器執行個體會列為清單中的最後一個。

顯示列出容器執行個體 Pod 範例控制器階層的螢幕擷取畫面。

針對特定控制器,選取「節點」欄下的值。

顯示在效能檢視中從控制器向下切入至節點範例的螢幕擷取畫面。

下表說明 [控制器] 標籤中的欄位。

資料行 描述
名稱 控制器的名稱。
狀態 容器執行完成後的彙總狀態。 狀態圖示會根據 Pod 所提供的功能顯示計數。 其會顯示最差的兩個狀態。 當您將滑鼠暫留在狀態上方時,會顯示容器中所有 Pod 的彙總狀態。 如果沒有就緒狀態,則狀態值會顯示 (0)
最小 %、平均 %、第 50 百分位、第 90 百分位、第 95 百分位、最大 % 針對所選取計量和百分位數之每個實體的平均百分比彙總平均值。
最小、平均、第 50、第 90、第 95、最大 容器針對所選取百分位數的平均 CPU millicore 或記憶體效能彙總。 平均值是從為 Pod 設定的 CPU/記憶體限制測量所得。
容器 該控制器或 Pod 的容器總數。
Restarts 容器重新啟動計數的彙總。
Uptime 代表自容器啟動以來經過的時間。
Node 僅適用於容器與 Pod。 顯示位在哪一個控制器之中。
趨勢最小 %、平均 %、第 50 %、第 90 %、第 95 %、最大 % 長條圖趨勢代表控制器的平均百分位數計量。

容器分頁

「容器」索引標籤可讓您檢視容器的效能健康情況。

螢幕擷取畫面顯示 \<名稱>容器效能檢視。

您可以從容器向下切入到 Pod 或節點,以檢視針對該物件所篩選的效能資料。 針對特定容器,選取 [Pod] 或 [Node] 欄的值。

顯示在效能檢視中從節點向下切入至容器範例的螢幕擷取畫面。

下表說明 [容器] 標籤頁面中的欄位。

資料行 描述
名稱 容器的名稱。
狀態 容器的狀態。
最小 %、平均 %、第 50 百分位、第 90 百分位、第 95 百分位、最大 % 針對所選取計量和百分位數之每個實體的平均百分比彙總。
最小、平均、第 50、第 90、第 95、最大 容器針對所選取百分位數的平均 CPU millicore 或記憶體效能彙總。 平均值是從為 Pod 設定的 CPU/記憶體限制測量所得。
Pod Pod 所在的容器。
Node  容器所在的節點。
Restarts 代表自容器啟動以來經過的時間。
Uptime 代表自容器啟動或重新啟動以來經過的時間。
趨勢最小 %、平均 %、第 50 %、第 90 %、第 95 %、最大 % 長條圖趨勢顯示容器的平均百分位指標百分比。

下一步

  • 請參閱使用容器深入解析建立效能警示,以了解如何建立高 CPU 和記憶體使用率的警示,以支援您的 DevOps 或作業流程和程序。
  • 請參閱記錄查詢範例來查看預先定義的查詢和範例,以進行評估或自訂來警示、視覺化或分析您的叢集。