你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Kubernetes 群集的建议警报规则
Azure Monitor 中的警报会主动识别与 Azure 资源的运行状况和性能相关的问题。 本文介绍如何启用和编辑为 Kubernetes 群集预定义的一组建议的指标警报规则。
启用建议的警报规则
使用以下方法之一为群集启用建议的警报规则。 可以为同一群集启用 Prometheus 和平台指标警报规则。
注意
若要在已启用 Arc 的 Kubernetes 群集上启用建议的警报,ARM 模板是唯一受支持的方法。
使用 Azure 门户时,Prometheus 规则组将在群集所在的同一区域中创建。
编辑建议的警报规则
创建完规则组后,无法在门户中使用相同的页面编辑规则。 对于 Prometheus 指标,必须编辑规则组以修改其中的任何规则,包括启用尚未启用的任何规则。 对于平台指标,可以编辑每个警报规则。
禁用警报规则组
禁用规则组以停止在其中接收来自规则的警报。
建议的警报规则详细信息
下表列出了每个建议的警报规则的详细信息。 GitHub 中提供了每个规则的源代码以及来自 Prometheus 社区的故障排除指南。
Prometheus 社区警报规则
群集级别警报
警报名称 | 说明 | 默认阈值 | 时间范围(分钟) |
---|---|---|---|
KubeCPUQuotaOvercommit | 在过去 5 分钟内,分配给命名空间的 CPU 资源配额超过群集节点上可用 CPU 资源 50% 以上。 | >1.5 | 5 |
KubeMemoryQuotaOvercommit | 在过去 5 分钟内,分配给命名空间的内存资源配额超过群集节点上可用内存资源 50% 以上。 | >1.5 | 5 |
KubeContainerOOMKilledCount | 在过去 5 分钟内,Pod 中的一个或多个容器因内存不足 (OOM) 事件而被终止。 | >0 | 5 |
KubeClientErrors | 在过去 15 分钟内,Kubernetes API 请求中的客户端错误率(以 5xx 开头的 HTTP 状态代码)超过 API 总请求率的 1%。 | >0.01 | 15 |
KubePersistentVolumeFillingUp | 根据可用空间比率、已用空间和过去 6 小时可用空间的预测线性趋势,永久性卷正在被填满,预计可用空间将耗尽。 在过去 60 分钟内评估了这些情况。 | 空值 | 60 |
KubePersistentVolumeInodesFillingUp | 在过去 15 分钟内,某个永久性卷中的 inode 少于 3% 可用。 | <0.03 | 15 |
KubePersistentVolumeErrors | 在过去 5 分钟内,一个或多个永久性卷处于失败或挂起阶段。 | >0 | 5 |
KubeContainerWaiting | 在过去 60 分钟内,Kubernetes Pod 中的一个或多个容器处于等待状态。 | >0 | 60 |
KubeDaemonSetNotScheduled | 在过去 15 分钟内,一个或多个 Pod 没有在任何节点上有日程安排。 | >0 | 15 |
KubeDaemonSetMisScheduled | 在过去 15 分钟内,群集中错误安排了一个或多个 Pod。 | >0 | 15 |
KubeQuotaAlmostFull | 过去 15 分钟内,Kubernetes 资源配额的利用率在硬上限的 90% 到 100% 之间。 | >0.9 <1 | 15 |
节点级别警报
警报名称 | 说明 | 默认阈值 | 时间范围(分钟) |
---|---|---|---|
KubeNodeUnreachable | 在过去 15 分钟内,节点无法访问。 | 1 | 15 |
KubeNodeReadinessFlapping | 在过去 15 分钟内,节点的就绪状态已更改了 2 次以上。 | 2 | 15 |
Pod 级别警报
警报名称 | 说明 | 默认阈值 | 时间范围(分钟) |
---|---|---|---|
KubePVUsageHigh | 在过去 15 分钟内,Pod 上的永久性卷 (PV) 的平均使用率超过 80%。 | >0.8 | 15 |
KubeDeploymentReplicasMismatch | 在过去 10 分钟内,所需副本数与可用副本数不匹配。 | 空值 | 10 |
KubeStatefulSetReplicasMismatch | 在过去 15 分钟内,StatefulSet 中的就绪副本数与 StatefulSet 中的副本总数不匹配。 | 空值 | 15 |
KubeHpaReplicasMismatch | 在过去 15 分钟内,群集中的水平 Pod 自动缩放程序未匹配所需的副本数。 | 空值 | 15 |
KubeHpaMaxedOut | 在过去 15 分钟内,群集中的水平 Pod 自动缩放程序 (HPA) 在最大副本上运行。 | 空值 | 15 |
KubePodCrashLooping | 在过去 15 分钟内,一个或多个 Pod 处于 CrashLoopBackOff 状态,即 Pod 一直在启动后崩溃,并且无法成功恢复。 | >=1 | 15 |
KubeJobStale | 在过去 6 小时内,至少有一个作业实例未成功完成。 | >0 | 360 |
KubePodContainerRestart | 在过去一小时内,Kubernetes 群集中 Pod 内的一个或多个容器至少被重启了一次。 | >0 | 15 |
KubePodReadyStateLow | 在过去 5 分钟内,Kubernetes 群集中任何部署或守护程序集处于就绪状态的 Pod 百分比低于 80%。 | <0.8 | 5 |
KubePodFailedState | 过去 5 分钟内,一个或多个 Pod 处于失败状态。 | >0 | 5 |
KubePodNotReadyByController | 在过去 15 分钟内,一个或多个 Pod 未处于就绪状态(即处于“挂起”或“未知”阶段)。 | >0 | 15 |
KubeStatefulSetGenerationMismatch | 在过去 15 分钟内,观察到的 Kubernetes StatefulSet 的生成与其元数据生成不匹配。 | 空值 | 15 |
KubeJobFailed | 在过去 15 分钟内,一个或多个 Kubernetes 作业失败。 | >0 | 15 |
KubeContainerAverageCPUHigh | 在过去 5 分钟内,每个容器的平均 CPU 使用率超过 95%。 | >0.95 | 5 |
KubeContainerAverageMemoryHigh | 在过去 5 分钟内,每个容器的平均内存使用率超过 95%。 | >0.95 | 10 |
KubeletPodStartUpLatencyHigh | 在过去 10 分钟内,Pod 启动延迟的第 99 百分位超过 60 秒。 | >60 | 10 |
平台指标警报规则
警报名称 | 说明 | 默认阈值 | 时间范围(分钟) |
---|---|---|---|
节点 CPU 百分比大于 95% | 在过去 5 分钟内,节点 CPU 百分比大于 95%。 | 95 | 5 |
节点内存工作集百分比大于 100% | 在过去 5 分钟内,节点内存工作集百分比大于 100%。 | 100 | 5 |
旧容器见解指标警报(预览版)
容器见解中的指标规则已于 2024 年 5 月 31 日停用。 这些规则之前处于公共预览版,但由于本文中介绍的新的建议的指标警报现已推出,这些规则将停用而不会正式发布。
如果你已启用这些旧警报规则,则应禁用它们并启用新体验。
禁用指标警报规则
- 从群集的“见解”菜单中,选择“建议的警报(预览版)”。
- 将每个警报规则的状态更改为“禁用”。
旧警报映射
下表将每个旧容器见解指标警报映射为等效的建议 Prometheus 指标警报。
建议的自定义指标警报 | 建议的等效 Prometheus/Platform 指标警报 | 条件 |
---|---|---|
已完成作业计数 | KubeJobStale(Pod 级别警报) | 在过去 6 小时内,至少有一个作业实例未成功完成。 |
容器 CPU 百分比 | KubeContainerAverageCPUHigh(Pod 级别警报) | 在过去 5 分钟内,每个容器的平均 CPU 使用率超过 95%。 |
容器工作集内存利用率 (%) | KubeContainerAverageMemoryHigh(Pod 级别警报) | 在过去 5 分钟内,每个容器的平均内存使用率超过 95%。 |
故障 Pod 计数 | KubePodFailedState(Pod 级别警报) | 过去 5 分钟内,一个或多个 Pod 处于失败状态。 |
节点 CPU 利用率 (%) | 节点 CPU 百分比大于 95%(Platform 指标) | 在过去 5 分钟内,节点 CPU 百分比大于 95%。 |
节点磁盘使用率 (%) | 空值 | 节点的磁盘平均使用率大于 80%。 |
节点未就绪状态 | KubeNodeUnreachable(节点级别警报) | 在过去 15 分钟内,节点无法访问。 |
节点工作集内存利用率 (%) | 节点内存工作集百分比大于 100% | 在过去 5 分钟内,节点内存工作集百分比大于 100%。 |
OOM 终止的容器数 | KubeContainerOOMKilledCount(群集级别警报) | 在过去 5 分钟内,Pod 中的一个或多个容器因内存不足 (OOM) 事件而被终止。 |
永久性卷使用率 (%) | KubePVUsageHigh(Pod 级别警报) | 在过去 15 分钟内,Pod 上的永久性卷 (PV) 的平均使用率超过 80%。 |
已就绪 Pod 百分比 | KubePodReadyStateLow(Pod 级别警报) | 在过去 5 分钟内,Kubernetes 群集中任何部署或守护程序集处于就绪状态的 Pod 百分比低于 80%。 |
重启容器计数 | KubePodContainerRestart(Pod 级别警报) | 在过去一小时内,Kubernetes 群集中 Pod 内的一个或多个容器至少被重启了一次。 |