Kubernetes API server 监控
借助 Site24x7 的 Kubernetes API Server 监控,深入了解 Kubernetes 集群控制平面的运行状况。跟踪 Kubernetes API server(容器化环境的控制中心)的关键指标,以及节点、Pod 和工作负载的健康状态与性能,确保集群的最佳运行。
通过请求处理、响应大小、资源使用、Webhook 活动和身份验证尝试等详细指标,您可以:
- 识别 API server 性能中的瓶颈。
- 检测已弃用 API 和不安全 TLS 连接等安全风险。
- 通过分析工作负载和存储来优化资源分配。
支持的版本:
此功能从 Linux 服务器监控代理版本 19.9.0 起受支持。
控制平面监控及其他最新功能需要您将 Kubernetes 代理升级至最新版本。
注意
如果您尚未添加 Kubernetes 监视器,请按照以下步骤添加一个。
添加 API server 监视器
要启用 Kubernetes API server 监视器,请执行以下步骤:
- 登录您的 Site24x7 账户。
- 导航至 K8s > 单击集群监视器名称旁边的汉堡包图标,然后选择编辑。
- 在编辑页面中,在筛选资源部分下,单击资源类型旁边的下拉菜单,选择 Kubernetes API Server。
- 单击保存。
保存后,Site24x7 Kubernetes API server 监视器将获取所有 API server 指标。您可以通过导航至 K8s > 选择集群 > API Servers 来查看这些指标。
支持的指标:
| 指标 | 描述 | 单位 |
| Audit Events Generated | 在最近一次轮询间隔内生成并发送至审计后端的审计事件数量 | Count |
| Audit Requests Rejected | 在最近一次轮询间隔内,由于审计日志后端发生错误而被拒绝的 API server 请求数量 | Count |
| Current Inqueue Requests | 轮询期间此 API server 中排队请求的最大数量 | Count |
| Kube Aggregator X509 Insecure SHA1 | 在最近一次轮询间隔内,向服务证书中含有不安全 SHA1 签名的服务器发出的请求数量,或因不安全 SHA1 签名导致的连接失败数量(两者取其一,取决于运行时环境) | Count |
| Webhooks X509 Insecure SHA1 | 在最近一次轮询间隔内,向服务证书中含有不安全 SHA1 签名的服务器发出的请求数量,或因不安全 SHA1 签名导致的连接失败数量(两者取其一,取决于运行时环境) | Count |
| Aborted Requests | 在最近一次轮询间隔内,API server 中止的请求数量(可能由于超时) | Count |
| Deprecated API Requests | 在最近一次轮询时间内,已请求的已弃用 API 数量 | Count |
| TLS Handshake Errors | 在最近一次轮询间隔内,因 TLS 握手错误而被丢弃的请求数量 | Count |
| Average Webhook Admission Duration | 在最近一次轮询间隔内,准入 Webhook 处理的准入审查请求的平均时长 | Seconds |
| Webhook Admission Requests | 在最近一次轮询间隔内,准入 Webhook 接收并处理的准入审查请求总数 | Count |
| Total Webhook Admission Duration | 在最近一次轮询间隔内,准入 Webhook 处理所有准入审查请求所花费的总时间 | Seconds |
| Average Webhook Controller Duration | 在最近一次轮询间隔内,准入控制器处理的准入审查请求的平均时长 | Seconds |
| Webhook Controller Requests | 在最近一次轮询间隔内,准入控制器接收并处理的准入审查请求总数 | Count |
| Total Webhook Controller Duration | 在最近一次轮询间隔内,准入控制器处理所有准入审查请求所花费的总时间 | Seconds |
| Average Etcd Duration | 在轮询间隔内,向 etcd 服务器发出请求所花费的平均秒数/每请求 | Seconds |
| Etcd Requests | 在轮询间隔内,向 etcd 服务器发出的请求总数 | Count |
| Total Etcd Duration | 在轮询间隔内,向 etcd 服务器发出请求的延迟总和 | Seconds |
| Process Resident Memory | 在最近一次轮询间隔内,API server 进程使用的常驻内存大小 | Bytes |
| Process CPU Time | 在最近一次轮询间隔内,API server 进程消耗的 CPU 时间 | Seconds |
| Process Open File Descriptors | 在最近一次轮询间隔内,API server 进程打开的文件描述符数量 | Count |
| Process Virtual Memory | 在最近一次轮询间隔内,API server 进程使用的虚拟内存大小 | Bytes |
| Go Threads | 在最近一次轮询间隔内,API server 进程的 Go 运行时创建的 OS 线程数量 | Count |
| Go Routines | 在最近一次轮询间隔内,API server 进程当前存在的 Go 协程数量 | Count |
| Request Count | 在最近一次轮询间隔内,向 Kubernetes API server 发出的请求总数 | Count |
| Current Inflight Requests | 在最近一次轮询间隔内,API server 当前使用的进行中请求限制的最大数量 | Count |
| Average Response Size | 在最近一次轮询间隔内,Kubernetes API server 每个请求发送的响应大小 | Bytes |
| Response Count | 在最近一次轮询间隔内,API server 响应的请求总数 | Count |
| Total Responses Size | 在最近一次轮询间隔内,Kubernetes API server 为所有请求发送的响应总大小 | Bytes |
| Storage Objects | 在最近一次轮询间隔内,存储在 API server 底层存储中的对象总数 | Count |
| Average Request Duration | 在最近一次轮询间隔内,API server 处理 HTTP 请求的时长 | Seconds |
| Requests Count | 在最近一次轮询间隔内,API server 处理的 HTTP 请求总数 | Count |
| Total Requests Duration | 在最近一次轮询间隔内,API server 处理 HTTP 请求的总时长 | Seconds |
| Storage Database File Size | 在最近一次轮询间隔内,API server 使用的存储数据库文件实际分配的总大小 | Bytes |
| Resource Name | 资源的名称 | Text |
| Average Request Duration | 在最近一次轮询间隔内,API server 处理 HTTP 请求的时长(按资源分组) | Seconds |
| Requests Handled | 在最近一次轮询间隔内,API server 处理的 HTTP 请求总数(按资源分组) | Count |
| Total Requests Duration | 在最近一次轮询间隔内,API server 处理 HTTP 请求的总时长(按资源分组) | Seconds |
| Average Response Size | 在最近一次轮询间隔内,API server 每个请求发送的响应大小(按资源分组) | Bytes |
| Response Count | 在最近一次轮询间隔内,API server 响应的请求总数(按资源分组) | Count |
| Total Responses Size | 在最近一次轮询间隔内,API server 为所有请求发送的响应总大小(按资源分组) | Bytes |
| Total Requests | 在最近一次轮询间隔内,向 API server 发出的请求数量(按资源分组) | Count |
| Response Code | 请求的响应代码编号 | Number represented as text (no unit) |
| Total Requests | 在最近一次轮询间隔内,向 API server 发出的请求数量(按代码分组) | Count |
| Total Rest Client Requests | 在最近一次轮询间隔内,从 API server 向外部服务或 API 发出的 HTTP 请求总数(按代码分组) | Count |
| Verb | 请求的动词操作 | Text |
| Total Requests | 在最近一次轮询间隔内,向 API server 发出的请求数量(按动词分组) | Count |
| Total Rest Client Requests | 在最近一次轮询间隔内,从 API server 向外部服务或 API 发出的 HTTP 请求总数(按动词分组) | Count |
| Host | 服务的主机名 | Text |
| Total Rest Client Requests | 在最近一次轮询间隔内,从 API server 向外部服务或 API 发出的 HTTP 请求总数(按主机名分组) | Count |
| Resource Name | 资源的名称 | Text |
| Storage Objects | 在最近一次轮询间隔内,存储在 API server 底层存储中的对象总数(按资源分组) | Count |
| Resource Name | 资源的名称 | Text |
| Verb | 动词的名称 | Text |
| Active Long-Running Requests | 在最近一次轮询间隔内,所有活跃的长时间运行 API server 请求的数量(按资源和动词的组合分组) | Count |
| Service Name | 请求调用的 gRPC 服务名称 | Text |
| Methods | 正在调用的 gRPC 方法名称 | Text |
| Total Requests | 在最近一次轮询间隔内,客户端以服务和方法组合完成的 gRPC 请求总数 | Count |
| Code | 代码的名称(gRPC 请求的最终状态) | Text |
| Total Requests | 在最近一次轮询间隔内,客户端以该代码完成的 gRPC 请求总数 | Count |
| Name | API 功能的名称 | Text |
| StageName | API 功能的阶段名称 | Text |
| Feature Status | 启用/禁用(1/0)状态 | Text |
| Resource Name | 操作或任务工作队列的名称 | Text |
| Total Workqueue Adds | 在最近一次轮询间隔内,工作队列处理的添加总数(按操作名称分组) | Count |
| Workqueue Depth | 在最近一次轮询中,工作队列中待处理的操作或任务数量(按操作名称分组) | Count |
| Authentication Duration (Success), Authentication Duration (Failed) | 在最近一次轮询间隔内,身份验证所花费的总时长(按结果分组) | Seconds |
| Authentication Attempts (Success), Authentication Attempts (Failed) | 在最近一次轮询间隔内,身份验证尝试总次数(按结果分组) | Count |
| Average Authentication Duration (Success), Average Authentication Duration (Failed) | 在最近一次轮询间隔内,每个请求进行身份验证所花费的平均时间(按结果分组) | Seconds |
相关链接:
-
本页内容
- 支持的版本
- 添加 API server 监视器
- 支持的指标
