Kubernetes 叢集的建議警示規則
Azure 監視器中的警示 會主動識別與 Azure 資源健康情況和效能相關的問題。 本文說明如何啟用和編輯針對 Kubernetes 叢集預先定義的一組建議計量警示規則。
警示規則的類型
Kubernetes 叢集使用兩種類型的計量警示規則。
警示規則類型 | 描述 |
---|---|
Prometheus 計量警示規則 (預覽) | 在適用於 Prometheus 的 Azure 監視器受控服務中使用從 Kubernetes 叢集收集的計量數據。 這些規則需要 在您的叢集 上啟用 Prometheus,並儲存在 Prometheus 規則群組中。 |
平臺計量警示規則 | 使用從 AKS 叢集自動收集的計量,並儲存為 Azure 監視器警示規則。 |
啟用建議的警示規則
使用下列其中一種方法,為您的叢集啟用建議的警示規則。 您可以為相同的叢集啟用 Prometheus 和平台計量警示規則。
使用 Azure 入口網站,Prometheus 規則群組將會建立在與叢集相同的區域中。
編輯建議的警示規則
建立規則群組之後,您無法在入口網站中使用相同頁面來編輯規則。 針對 Prometheus 計量,您必須編輯規則群組以修改其中的任何規則,包括啟用尚未啟用的任何規則。 針對平台計量,您可以編輯每個警示規則。
停用警示規則群組
停用規則群組以停止接收來自規則的警示。
檢視 Prometheus 警示規則群組或平臺計量警示規則,如編輯建議的警示規則中所述。
從 [概 觀] 功能表中,選取 [ 停用]。
建議的警示規則詳細數據
下表列出每個建議警示規則的詳細數據。 GitHub 中提供每個的原始程式碼,以及 Prometheus 社群的疑難解答指南。
Prometheus 社群警示規則
叢集層級警示
警示名稱 | 描述 | 預設閾值 | 時間範圍 (分鐘) |
---|---|---|---|
KubeCPUQuotaOvercommit | 配置給命名空間的CPU資源配額在過去5分鐘內超過叢集節點上可用的CPU資源超過50%。 | >1.5 | 5 |
KubeMemoryQuotaOvercommit | 配置給命名空間的記憶體資源配額在過去 5 分鐘內超過叢集節點上可用的記憶體資源超過 50%。 | >1.5 | 5 |
因 OOM 而終止的容器數目大於 0 | Pod 內的一或多個容器在過去 5 分鐘內因記憶體不足 (OOM) 事件而終止。 | >0 | 5 |
KubeClientErrors | Kubernetes API 要求中從 5xx 開始的用戶端錯誤率(HTTP 狀態代碼)超過過去 15 分鐘 API 要求總數的 1%。 | >0.01 | 15 |
KubePersistentVolumeFillingUp | 永續性磁碟區會填滿,且預期會用盡可用空間比率、已使用空間,以及過去 6 小時內可用空間的預測線性趨勢。 過去 60 分鐘會評估這些條件。 | N/A | 60 |
KubePersistentVolumeInodesFillingUp | 在過去15分鐘內,永續性磁碟區內的inode少於3%。 | <0.03 | 15 |
KubePersistentVolumeErrors | 過去 5 分鐘,一或多個永續性磁碟區處於失敗或擱置階段。 | >0 | 5 |
KubeContainerWaiting | Kubernetes Pod 內的一或多個容器在過去 60 分鐘內處於等候狀態。 | >0 | 60 |
KubeDaemonSetNotScheduled | 過去15分鐘內,不會在任何節點上排程一或多個Pod。 | >0 | 15 |
KubeDaemonSetMisScheduled | 在過去15分鐘內,叢集中有一或多個Pod排程錯誤。 | >0 | 15 |
KubeQuotaAlmostFull | Kubernetes 資源配額的使用率在過去 15 分鐘硬性限制的 90% 到 100% 之間。 | >0.9 <1 | 15 |
節點層級警示
警示名稱 | 描述 | 預設閾值 | 時間範圍 (分鐘) |
---|---|---|---|
KubeNodeUnreachable | 過去15分鐘無法連線到節點。 | 1 | 15 |
KubeNodeReadinessFlapping | 節點的整備狀態在過去 15 分鐘內已變更超過 2 次。 | 2 | 15 |
Pod 層級警示
警示名稱 | 描述 | 預設閾值 | 時間範圍 (分鐘) |
---|---|---|---|
平均 PV 使用率大於 80% | Pod 上的永續性磁碟區 (PVs) 平均使用量在過去 15 分鐘內超過 80%。 | >0.8 | 15 |
KubeDeploymentReplicasMismatch | 所需的複本數目與過去 10 分鐘的可用複本數目不符。 | N/A | 10 |
KubeStatefulSetReplicasMismatch | StatefulSet 中的就緒複本數目與 StatefulSet 中過去 15 分鐘內的複本總數不符。 | N/A | 15 |
KubeHpaReplicasMismatch | 叢集中的水準 Pod 自動調整程式在過去 15 分鐘內不符合所需的複本數目。 | N/A | 15 |
KubeHpaMaxedOut | 叢集中的水準 Pod 自動調整程式 (HPA) 在過去 15 分鐘內已以最大複本執行。 | N/A | 15 |
KubePodCrashLooping | 一或多個 Pod 處於 CrashLoopBackOff 條件中,Pod 會在啟動後持續損毀,且在過去 15 分鐘內無法成功復原。 | >=1 | 15 |
KubeJobStale | 在過去6小時內,至少有一個作業實例未成功完成。 | >0 | 360 |
Pod 容器在過去 1 小時內重新啟動 | Kubernetes 叢集中 Pod 內的一或多個容器至少在過去一小時內重新啟動一次。 | >0 | 15 |
Pod 的就緒狀態小於 80% | 過去 5 分鐘內,處於就緒狀態的 Pod 百分比低於 Kubernetes 叢集中任何部署或精靈集的 80%。 | <0.8 | 5 |
處於失敗狀態的 Pod 數目大於 0。 | 過去 5 分鐘內,一或多個 Pod 處於失敗狀態。 | >0 | 5 |
KubePodNotReadyByController | 過去15分鐘內,一或多個Pod未處於就緒狀態(也就是「擱置」或「未知」階段。 | >0 | 15 |
KubeStatefulSetGenerationMismatch | 觀察到的 Kubernetes StatefulSet 世代與過去 15 分鐘的元數據產生不符。 | N/A | 15 |
KubeJobFailed | 過去 15 分鐘內,一或多個 Kubernetes 作業失敗。 | >0 | 15 |
每個容器的平均 CPU 使用率大於 95% | 過去5分鐘,每個容器的平均CPU使用量超過95%。 | >0.95 | 5 |
每個容器的平均記憶體使用率大於 95% | 過去5分鐘,每個容器的平均記憶體使用量超過95%。 | >0.95 | 10 |
KubeletPodStartUpLatencyHigh | Pod 啟動延遲的第 99 個百分位數在過去 10 分鐘內超過 60 秒。 | >60 | 10 |
平臺計量警示規則
警示名稱 | 描述 | 預設閾值 | 時間範圍 (分鐘) |
---|---|---|---|
節點 CPU 百分比大於 95% | 過去 5 分鐘節點 CPU 百分比大於 95%。 | 95 | 5 |
節點記憶體工作集百分比大於 100% | 過去 5 分鐘節點記憶體工作集百分比大於 95%。 | 100 | 5 |
舊版容器深入解析計量警示 (預覽)
容器深入解析中的計量規則將於 2024 年 5 月 31 日淘汰(先前已於 2026 年 3 月 14 日宣佈)。 自 2023 年 8 月 15 日以來,這些規則尚未可供使用入口網站建立。 這些規則處於公開預覽狀態,但將會在未達到正式運作的情況下淘汰,因為本文所述的新建議計量警示現已推出。
如果您已經啟用這些舊版警示規則,您應該停用這些規則並啟用新的體驗。
停用計量警示規則
- 從叢集的 [深入解析] 功能表中,選取 [建議的警示][預覽]。
- 將每個警示規則的狀態變更為 [已停用]。
下一步
- 閱讀 Azure 監視器中不同的警示規則類型的相關資訊。
- 閱讀適用於 Prometheus 的 Azure 監視器受管理服務中的警示規則群組的相關資訊。