Kubernetes kubelet 监控
Kubernetes kubelet 是主节点代理,负责确保每个节点上的容器正常运行和健康。监控 kubelet 有助于排查 Pod 启动失败、追踪容器运行时错误、检测 PLEG 过期,并确保整个集群中一致的 Pod 生命周期管理。Site24x7 自动发现并监控每个 Kubernetes 节点上运行的 kubelet。
工作原理
Site24x7 代理从每个节点采集以下 kubelet 指标:
- kubelet 进程的运行时和进程级指标。
- Pod 生命周期和容器状态指标。
- 容器运行时操作计数、错误和持续时间。
- Pod 启动和工作节点操作计时。
- 存储操作成功与失败追踪。
- Cgroup 管理器操作持续时间。
- PLEG(Pod 生命周期事件生成器)重新列举间隔和持续时间。
这些指标有助于检测调度延迟、启动失败、容器运行时错误以及 Pod 生命周期事件的性能下降。
前提条件
- 安装 Site24x7 Kubernetes 代理版本 22.1.00 或更高版本。
- 对于现有客户,请将 Kubernetes 代理升级至 22.1.00 或更高版本。
Note
启用 kubelet 监控之前,Site24x7 Kubernetes 代理必须已安装并在集群上运行。
查看 Kubernetes Kubelet 监视器
升级代理后,Site24x7 Kubernetes 监控代理将立即获取所有 kubelet 监控指标。
查看 Kubernetes Kubelet 监视器:
- 登录您的 Site24x7 账户。
- 导航至 K8s,然后选择集群名称。
- 点击 Kubelet。
这将打开该特定集群中的 kubelet 监视器列表。选择任意一个可查看该监视器的详细分析。

支持的指标
下表列出了每次轮询间隔采集的所有 kubelet 指标。
使用率
| 指标名称 | 描述 | 单位 |
|---|---|---|
| 运行中的 Pod 数 | 在上次轮询时间内,具有运行中 Pod 沙盒的 Pod 总数。 | 数量 |
| Pod 启动数 | 在上次轮询周期内,kubelet 首次发现 Pod 到 Pod 开始运行的次数。 | 数量 |
| REST 客户端请求总数 | 在上次轮询周期内,HTTP 请求的总数量。 | 数量 |
| 容器日志文件系统使用量 | 在上次轮询时间内,容器日志在文件系统上占用的总字节数。 | 字节 |
| 进程 CPU 时间 | 在上次轮询周期内,kubelet 进程消耗的 CPU 时间。 | 秒 |
| 进程打开的文件描述符数 | 在上次轮询时间内,kubelet 进程打开的文件描述符数量。 | 数量 |
| 容器状态 | ||
| 处于创建状态的容器数 | 在上次轮询时间内,当前处于已创建状态的容器数量。 | 数量 |
| 处于退出状态的容器数 | 在上次轮询时间内,当前处于已退出状态的容器数量。 | 数量 |
| 处于运行状态的容器数 | 在上次轮询时间内,当前处于运行状态的容器数量。 | 数量 |
| Pod 启动持续时间 | ||
| 平均 Pod 启动持续时间 | 在上次轮询周期内,kubelet 每个 Pod 从启动到运行的平均耗时。 | 秒 |
| Pod 启动总持续时间 | 在上次轮询周期内,kubelet 启动 Pod 到运行的总耗时。 | 秒 |
| 运行时操作 | ||
| Kubelet 运行时操作数 | 在上次轮询周期内,运行时操作的总数量。 | 数量 |
| Kubelet 运行时操作错误数 | 在上次轮询周期内,运行时操作错误的总数量。 | 数量 |
| 运行时操作持续时间 | ||
| 平均运行时操作持续时间 | 在上次轮询周期内,每次运行时操作的平均耗时。 | 秒 |
| 运行时操作总持续时间 | 在上次轮询周期内,运行时操作的总耗时。 | 秒 |
| 进程内存使用量 | ||
| 进程常驻内存 | 在上次轮询周期内,kubelet 进程使用的常驻内存大小(字节)。 | 字节 |
| 进程虚拟内存 | 在上次轮询周期内,kubelet 进程使用的虚拟内存大小(字节)。 | 字节 |
| Go 使用情况 | ||
| Go 线程数 | 在上次轮询周期内,kubelet 进程中 Go 运行时创建的操作系统线程数量。 | 数量 |
| Goroutine 数 | 在上次轮询周期内,kubelet 进程当前存在的 goroutine 数量。 | 数量 |
操作
| 指标名称 | 描述 | 单位 |
|---|---|---|
| Pod 工作节点启动数 | 在上次轮询周期内,启动了工作节点的 Pod 总数。 | 数量 |
| Cgroup 管理器操作数 | 在上次轮询周期内,cgroup 管理器操作的总数量。 | 数量 |
| Pod 工作节点操作 | ||
| Pod 工作节点操作 - 创建 | 在上次轮询周期内,kubelet 为创建操作同步的 Pod 总数。 | 数量 |
| Pod 工作节点操作 - 同步 | 在上次轮询周期内,kubelet 为同步操作同步的 Pod 总数。 | 数量 |
| Pod 工作节点操作 - 更新 | 在上次轮询周期内,kubelet 为更新操作同步的 Pod 总数。 | 数量 |
| Pod 工作节点操作持续时间 | ||
| 平均 Pod 工作节点操作持续时间 - 创建 | 在上次轮询周期内,kubelet 每个 Pod 执行创建操作同步的平均耗时。 | 秒 |
| 平均 Pod 工作节点操作持续时间 - 同步 | 在上次轮询周期内,kubelet 每个 Pod 执行同步操作同步的平均耗时。 | 秒 |
| 平均 Pod 工作节点操作持续时间 - 更新 | 在上次轮询周期内,kubelet 每个 Pod 执行更新操作同步的平均耗时。 | 秒 |
| Pod 工作节点启动持续时间 | ||
| 平均 Pod 工作节点启动持续时间 | 在上次轮询周期内,kubelet 发现 Pod 并启动工作节点的平均耗时。 | 秒 |
| Pod 工作节点启动总持续时间 | 在上次轮询周期内,kubelet 从发现 Pod 到启动工作节点的总耗时。 | 秒 |
| 存储操作 | ||
| 存储操作 - 成功 | 在上次轮询周期内,状态为成功的存储操作总数。 | 数量 |
| 存储操作 - 失败 | 在上次轮询周期内,kubelet 从发现 Pod 到启动工作节点的总耗时。 | 数量 |
| 存储操作持续时间 | ||
| 平均存储操作持续时间 - 成功 | 在上次轮询周期内,每次状态为成功的存储操作的平均耗时。 | 秒 |
| 平均存储操作持续时间 - 失败 | 在上次轮询周期内,每次状态为 fail-unknown 的存储操作的平均耗时。 | 秒 |
| Cgroup 管理器操作持续时间 | ||
| 平均 Cgroup 管理器操作持续时间 | 在上次轮询周期内,每次 cgroup 管理器操作的平均耗时。 | 秒 |
| Cgroup 管理器操作总持续时间 | 在上次轮询周期内,cgroup 管理器操作的总耗时。 | 秒 |
Pod 生命周期事件生成器 (PLEG)
| 指标名称 | 描述 | 单位 |
|---|---|---|
| PLEG 重新列举次数 | 在上次轮询周期内,PLEG 重新列举的总次数。 | 数量 |
| PLEG 最近活跃时间 | PLEG 最近一次活跃的时间戳(秒)。 | 时间戳 |
| 自 PLEG 最近活跃以来的时间 | 自 PLEG 最后一次报告事件以来的经过时间(秒),表明 PLEG 可能已过期。 | 秒 |
| PLEG 丢弃事件数 | 在上次轮询周期内,PLEG 中丢弃事件的数量。 | 数量 |
| PLEG 重新列举间隔 | ||
| 平均 PLEG 重新列举间隔 | 在上次轮询周期内,PLEG 中两次 Pod 重新列举之间的平均时间。 | 秒 |
| PLEG 重新列举总间隔 | 在上次轮询周期内,PLEG 中两次 Pod 重新列举之间的总时间。 | 秒 |
| PLEG 重新列举持续时间 | ||
| 平均 PLEG 重新列举持续时间 | 在上次轮询周期内,PLEG 中每次 Pod 重新列举的平均耗时。 | 秒 |
| PLEG 重新列举总持续时间 | 在上次轮询周期内,PLEG 中 Pod 重新列举的总耗时。 | 秒 |
