Kubernetes Etcd 监控
Etcd 是 Kubernetes 控制面的唯一数据来源,存储所有集群数据,包括节点信息、ConfigMap、密钥和服务发现详情。借助 Site24x7 的 Kubernetes etcd 监控,您可以持续跟踪这一分布式键值存储的性能和健康状况,从而维持集群的稳定性和响应能力。
深入了解关键 etcd 指标,如请求延迟、Leader 选举事件、数据库大小和快照持续时间。这些洞察帮助您:
-
识别性能瓶颈和可能影响 API 服务器响应速度的慢速磁盘写入。
-
检测 Leader 不稳定性、数据一致性问题以及仲裁失败状态,在其影响集群之前提前发现。
-
监控磁盘使用量和压缩活动,防止存储膨胀,确保写入操作顺畅。
-
设置主动阈值和告警,避免 etcd 宕机,维持控制面可用性。
通过 Site24x7 维护健康、受良好监控的 etcd 层,提前发现问题,确保 Kubernetes 集群平稳运行。
支持的版本
此功能从 Linux 服务器监控代理 21.0.0 版本开始支持。
控制面监控及其他最新功能需要您将 Kubernetes 代理升级到最新版本。
注意
如果您尚未添加 Kubernetes 监视器,请 按照以下步骤添加一个。
Etcd 监视器
代理升级后,Site24x7 Kubernetes 监控代理将立即获取所有 etcd 指标。
要导航到您的 Etcd 监视器:
- 登录您的 Site24x7 账户。
- 导航至 K8s > 选择集群 > Etcd。这将打开该集群中的 etcd 监视器列表,点击其中一个即可查看该监视器的详细信息。
支持的指标
使用率
| 指标 | 描述 | 单位 |
|---|---|---|
| 配置信息 | ||
| Version | 当前 etcd 服务器版本 | Text |
| Role | etcd 成员在集群中的角色(leader 或 follower) | Text |
| Server ID | etcd 服务器实例的唯一标识符 | Text |
| Leader 切换事件 | ||
| Leader Transition Events | etcd 集群中发生的 Leader 变更次数 | Count |
| Etcd 提案 | ||
| Proposals Committed | 已提交到 Raft 日志的提案数量,表示成功完成的共识写入 | Count |
| Proposals Applied | 应用到状态机的已提交提案数量,确保已提交的提案得到应用 | Count |
| Proposals Pending | 等待提交的提案数量;数量过多表示存在瓶颈,例如客户端负载过高或成员无法提交提案 | Count |
| Proposals Failed | 在提交或应用过程中失败的提案数量 | Count |
| 读取索引失败和慢速应用 | ||
| Failed Read Indexes | 失败的读取索引请求数 | Count |
| Slow Apply Requests | 超过延迟阈值的应用操作数 | Count |
| Slow Read Indexes | 超过延迟阈值的读取索引请求数 | Count |
| 后端存储配额大小 | ||
| Backend Storage Quota Size | 后端数据库 (DB) 配置的最大存储配额 | Bytes |
| Etcd 服务器客户端请求 | ||
| Etcd Server Client Requests | 服务器处理的客户端请求总数 | Count |
| 服务器租约到期 | ||
| Server Lease Expired | 检测到的已过期租约数量 | Count |
| 健康检查 | ||
| Health Check Failures | 失败的健康检查次数 | Count |
| Heartbeat Send Failures | 失败的心跳传输次数 | Count |
| Successful Health Checks | 成功的健康检查响应次数 | Count |
| Go 使用情况 | ||
| Go Threads | Go 运行时创建的 OS 线程数 | Count |
| Go Routines | 进程中活跃的 Go 协程数 | Count |
| 进程 CPU 时间 | ||
| Process CPU Time | 进程消耗的 CPU 总时间 | Seconds |
| 进程内存使用量 | ||
| Process Resident Memory | 当前在 RAM 中使用的内存 | Bytes |
| Process Virtual Memory | 已分配的总虚拟内存 | Bytes |
| 打开的文件描述符 | ||
| Process Open File Descriptors | 进程打开的文件描述符数量;如果文件描述符耗尽,etcd 可能因无法创建新的预写日志 (WAL) 文件而崩溃 | Count |
| Maximum Open File Descriptors | 进程允许的最大文件描述符数 | Count |
| OS 文件描述符 | ||
| File Descriptors Used | OS 层面当前已使用的文件描述符数 | Count |
| File Descriptors | OS 层面可用的文件描述符总数 | Count |
对等节点
| 指标 | 描述 | 单位 |
|---|---|---|
| 对等节点检查 | ||
| Peer Name | 集群通信中对等节点的名称 | Text |
| Average P2P Round Trip Latency | 对等节点之间的平均延迟 | Seconds |
| P2P Round Trip Latency | 对等节点之间的当前往返延迟 | Seconds |
| P2P Traffic In | 从对等节点接收的字节数 | Bytes |
| P2P Traffic Out | 发送到对等节点的字节数 | Bytes |
| P2P Traffic In Failures | 失败的入站对等通信次数 | Count |
| P2P Traffic Out Failures | 失败的出站对等通信次数 | Count |
| Active P2P Connections | 活跃对等连接数 | Count |
| Disconnected P2P | 已断开连接的对等节点数 | Count |
gRPC
| 指标 | 描述 | 单位 |
|---|---|---|
| gRPC 代理缓存 | ||
| gRPC Proxy Cache Hits | gRPC 代理中成功缓存命中的次数 | Count |
| gRPC Proxy Cache Keys | gRPC 代理缓存中当前的键数量 | Count |
| gRPC Proxy Cache Misses | gRPC 代理中缓存未命中的次数 | Count |
| gRPC 代理合并 | ||
| gRPC Proxy Events Coalescing | 代理中合并的事件数 | Count |
| gRPC Proxy Watchers Coalescing | 代理中合并的监听器数 | Count |
| 网络使用率 | ||
| Network Client gRPC Received | 通过 gRPC 客户端连接接收的字节数 | Bytes |
| Network Client gRPC Sent | 通过 gRPC 客户端连接发送的字节数 | Bytes |
磁盘与快照
| 指标 | 描述 | 单位 |
|---|---|---|
| 平均 WAL Fsync 持续时间 | ||
| Average WAL Fsync Duration | 对预写日志执行 fsync 的平均时间 | Seconds |
| WAL Fsync | ||
| WAL Fsync | WAL 的 fsync 操作次数 | Count |
| 平均磁盘后端提交持续时间 | ||
| Average Disk Backend Commit Duration | 提交后端 DB 变更的平均时间 | Seconds |
| 磁盘后端提交 | ||
| Disk Backend Commit | 后端提交操作次数 | Count |
| 磁盘 WAL 写入字节数 | ||
| Disk WAL Write Bytes | 写入 WAL 的字节数 | Bytes |
| 快照 Fsync 和保存持续时间 | ||
| Average Snapshot DB Fsync Duration | 对数据库快照执行 fsync 的平均时间 | Seconds |
| Average Snapshot Save Duration | 保存快照的平均时间 | Seconds |
| Average Snapshot Fsync Duration | 对快照文件执行 fsync 的平均时间 | Seconds |
| 快照详情 | ||
| Snapshot DB Fsync | 对数据库快照执行 fsync 的次数;数值过高表明存在磁盘延迟或问题,可能导致集群不稳定 | Count |
| Snapshot Save | 快照保存操作的次数 | Count |
| Snapshot Fsync | 对快照文件执行 fsync 的次数 | Count |
| 平均快照保存序列化持续时间 | ||
| Average Snap Save Marshalling Duration | 保存快照前序列化数据的平均时间 | Seconds |
| 快照保存序列化 | ||
| Snap Save Marshalling | 快照保存的序列化操作次数 | Count |
| 平均快照保存总持续时间 | ||
| Average Snap Save Total Duration | 保存快照的平均总时间(etcd_debugging 命名空间指标) | Seconds |
| 快照保存总次数 | ||
| Snap Save Total | 快照保存的总次数(etcd_debugging 命名空间指标) | Count |
MVCC 与存储
| 指标 | 描述 | 单位 |
|---|---|---|
| 事件 | ||
| MVCC Events | 生成的 MVCC 事件数 | Count |
| MVCC Pending Events | 待处理的 MVCC 事件数 | Count |
| MVCC 数据库 | ||
| MVCC Database Size | MVCC 数据库的总大小 | Bytes |
| MVCC Database Utilization | 已分配 DB 空间的使用百分比 | Percent |
| MVCC 键与范围 | ||
| MVCC Keys | MVCC 数据库中存储的键数量 | Count |
| MVCC Range (Debug) | 用于调试的范围查询次数 | Count |
| 活跃监听器和流 | ||
| MVCC Slow Watcher | 超过延迟阈值的监听器数量 | Count |
| MVCC Watch Stream | 活跃监听流的数量 | Count |
| MVCC Watcher | 监听器总数 | Count |
| MVCC 操作 | ||
| MVCC Delete | 删除操作次数 | Count |
| MVCC Put | 写入操作次数 | Count |
| MVCC Transactions | 事务操作次数 | Count |
| MVCC DB Compaction Keys | ||
| MVCC DB Compaction Keys | 数据库中已压缩的键数量 | Count |
| 存储操作 | ||
| Store Expires | 键过期次数 | Count |
| Store Reads | 读取操作次数 | Count |
| Store Writes | 写入操作次数 | Count |
| Store Watch Requests | 监听请求次数 | Count |
| Store Watchers | 存储中活跃监听器的数量 | Count |
| 数据库和索引压缩持续时间 | ||
| Average MVCC DB Compaction Pause Duration | 数据库压缩期间的平均暂停时间 | Seconds |
| Average MVCC DB Compaction Duration | 数据库压缩的平均持续时间 | Seconds |
| Average MVCC Index Compaction Pause Duration | 索引压缩期间的平均暂停时间 | Seconds |
| 数据库和索引压缩 | ||
| MVCC DB Compaction Pause | 数据库压缩期间的暂停次数 | Count |
| MVCC DB Compaction Total | 数据库压缩操作总次数 | Count |
| MVCC Index Compaction Pause | 索引压缩期间的暂停次数 | Count |
