KubeSphere 资源监控共分为八个层级:Cluster(集群),Node(节点),Workspace(企业空间),Namespace(项目),Workload(工作负载),Pod(容器组),Container(容器),Component( KubeSphere 核心组件)。

Cluster

指标名 说明 单位
cluster_cpu_utilisation 集群 CPU 使用率
cluster_cpu_usage 集群 CPU 用量 Core
cluster_cpu_total 集群 CPU 总量 Core
cluster_load1 集群 1 分钟 CPU 平均负载[^1]
cluster_load5 集群 5 分钟 CPU 平均负载
cluster_load15 集群 15 分钟 CPU 平均负载
cluster_memory_utilisation 集群内存使用率
cluster_memory_available 集群可用内存 Byte
cluster_memory_total 集群内存总量 Byte
cluster_memory_usage_wo_cache 集群内存使用量[^2] Byte
cluster_net_utilisation 集群网络数据传输速率 Byte/s
cluster_net_bytes_transmitted 集群网络数据发送速率 Byte/s
cluster_net_bytes_received 集群网络数据接受速率 Byte/s
cluster_disk_read_iops 集群磁盘每秒读次数 次/s
cluster_disk_write_iops 集群磁盘每秒写次数 次/s
cluster_disk_read_throughput 集群磁盘每秒读取数据量 Byte/s
cluster_disk_write_throughput 集群磁盘每秒写入数据量 Byte/s
cluster_disk_size_usage 集群磁盘使用量 Byte
cluster_disk_size_utilisation 集群磁盘使用率
cluster_disk_size_capacity 集群磁盘总容量 Byte
cluster_disk_size_available 集群磁盘可用大小 Byte
cluster_disk_inode_total 集群 inode 总数
cluster_disk_inode_usage 集群 inode 已使用数
cluster_disk_inode_utilisation 集群 inode 使用率
cluster_node_online 集群节点在线数
cluster_node_offline 集群节点下线数
cluster_node_offline_ratio 集群节点下线比例
cluster_node_total 集群节点总数
cluster_pod_count 集群中调度完成[^3] Pod 数量
cluster_pod_quota 集群各节点 Pod 最大容纳量[^4]总和
cluster_pod_utilisation 集群 Pod 最大容纳量使用率
cluster_pod_running_count 集群中处于 Running 阶段[^5]的 Pod 数量
cluster_pod_succeeded_count 集群中处于 Succeeded 阶段的 Pod 数量
cluster_pod_abnormal_count 集群中异常 Pod [^6]数量
cluster_pod_abnormal_ratio 集群中异常 Pod 比例 [^7]
cluster_ingresses_extensions_count 集群 Ingress 数
cluster_cronjob_count 集群 CronJob 数
cluster_pvc_count 集群 PersistentVolumeClaim 数
cluster_daemonset_count 集群 DaemonSet 数
cluster_deployment_count 集群 Deployment 数
cluster_endpoint_count 集群 Endpoint 数
cluster_hpa_count 集群 Horizontal Pod Autoscaler 数
cluster_job_count 集群 Job 数
cluster_statefulset_count 集群 StatefulSet 数
cluster_replicaset_count 集群 ReplicaSet 数
cluster_service_count 集群 Service 数
cluster_secret_count 集群 Secret 数
cluster_namespace_count 集群 Namespace 数

【说明】

[^1] 指单位时间内,单位 CPU 运行队列中处于可运行或不可中断状态的平均进程数。如果数值大于 1,表示 CPU 不足以服务进程,有进程在等待。

[^2] 不包含 buffer、 cache。

[^3] Pod 已经被调度到节点上,即 status.conditions.PodScheduled = true 。参考:Pod Lifecycle

[^4] 节点 Pod 最大容纳量一般默认 110 个 Pod。参考:kubelet Options

[^5] Running 阶段表示该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态。参考:Pod Lifecycle

[^6] 异常 Pod:如果一个 Pod 的 status.conditions.ContainersReady 字段值为 false,说明该 Pod 不可用。我们在判定 Pod 是否异常时,还需要考虑到 Pod 可能正处于 ContainerCreating 状态或者 Succeeded 已完成阶段。综合以上情况,异常 Pod 总数的算法可表示为: Abnormal Pods = Total Pods - ContainersReady Pods - ContainerCreating Pods - Succeeded Pods 。

[^7] 异常 Pod 比例:异常 Pod 数 / 非 Succeeded Pod 数。

Node

指标名 说明 单位
node_cpu_utilisation 节点 CPU 使用率
node_cpu_total 节点 CPU 总量 Core
node_cpu_usage 节点 CPU 用量 Core
node_load1 节点 1 分钟 CPU 平均负载
node_load5 节点 5 分钟 CPU 平均负载
node_load15 节点 15 分钟 CPU 平均负载
node_memory_utilisation 节点内存使用率
node_memory_usage_wo_cache 节点内存使用量[^1] Byte
node_memory_available 节点可用内存 Byte
node_memory_total 节点内存总量 Byte
node_net_utilisation 节点网络数据传输速率 Byte/s
node_net_bytes_transmitted 节点网络数据发送速率 Byte/s
node_net_bytes_received 节点网络数据接受速率 Byte/s
node_disk_read_iops 节点磁盘每秒读次数 次/s
node_disk_write_iops 节点磁盘每秒写次数 次/s
node_disk_read_throughput 节点磁盘每秒读取数据量 Byte/s
node_disk_write_throughput 节点磁盘每秒写入数据量 Byte/s
node_disk_size_capacity 节点磁盘总容量 Byte
node_disk_size_available 节点磁盘可用大小 Byte
node_disk_size_usage 节点磁盘使用量 Byte
node_disk_size_utilisation 节点磁盘使用率
node_disk_inode_total 节点 inode 总数
node_disk_inode_usage 节点 inode 已使用数
node_disk_inode_utilisation 节点 inode 使用率
node_pod_count 节点调度完成 Pod 数量
node_pod_quota 节点 Pod 最大容纳量
node_pod_utilisation 节点 Pod 最大容纳量使用率
node_pod_running_count 节点中处于 Running 阶段的 Pod 数量
node_pod_succeeded_count 节点中处于 Succeeded 阶段的 Pod 数量
node_pod_abnormal_count 节点异常 Pod 数量
node_pod_abnormal_ratio 节点异常 Pod 比例

【说明】

[^1] 不包含 buffer、 cache。

Workspace

指标名 说明 单位
workspace_cpu_usage 企业空间 CPU 用量 Core
workspace_memory_usage 企业空间内存使用量(包含缓存) Byte
workspace_memory_usage_wo_cache 企业空间内存使用量 Byte
workspace_net_bytes_transmitted 企业空间网络数据发送速率 Byte/s
workspace_net_bytes_received 企业空间网络数据接受速率 Byte/s
workspace_pod_count 企业空间内非终止阶段 Pod 数量[^1]
workspace_pod_running_count 企业空间内处于 Running 阶段的 Pod 数量
workspace_pod_succeeded_count 企业空间内处于 Succeeded 阶段的 Pod 数量
workspace_pod_abnormal_count 企业空间异常 Pod 数量
workspace_pod_abnormal_ratio 企业空间异常 Pod 比例
workspace_ingresses_extensions_count 企业空间 Ingress 数
workspace_cronjob_count 企业空间 CronJob 数
workspace_pvc_count 企业空间 PersistentVolumeClaim 数
workspace_daemonset_count 企业空间 DaemonSet 数
workspace_deployment_count 企业空间 Deployment 数
workspace_endpoint_count 企业空间 Endpoint 数
workspace_hpa_count 企业空间 Horizontal Pod Autoscaler 数
workspace_job_count 企业空间 Job 数
workspace_statefulset_count 企业空间 StatefulSet 数
workspace_replicaset_count 企业空间 ReplicaSet 数
workspace_service_count 企业空间 Service 数
workspace_secret_count 企业空间 Secret 数
workspace_all_project_count 企业空间下项目总数

【说明】

[^1] 非终止阶段的 Pod 指处于 Pending、Running、Unkown 阶段的 Pod,不包含被成功终止,或者因非 0 状态退出被系统终止的 Pod。参考:Pod Lifecycle

若 Workspace Monitoring API 设置了查询参数 type 为 statistics,则返回企业空间统计信息:

指标名 说明 单位
workspace_all_organization_count 集群企业空间总数
workspace_all_account_count 集群账号总数
workspace_all_project_count 集群项目总数
workspace_all_devops_project_count[^1] 集群 DevOps 工程总数
workspace_namespace_count 企业空间项目总数
workspace_devops_project_count 企业空间 DevOps 工程总数
workspace_member_count 企业空间成员数
workspace_role_count[^2] 企业空间角色数

【说明】

[^1] 前四个指标适用于 /kapis/devops.kubesphere.io/v1alpha2/workspaces

[^2] 后四个指标适用于 /kapis/devops.kubesphere.io/v1alpha2/workspaces/{workspace}

Namespace

指标名 说明 单位
namespace_cpu_usage 项目 CPU 用量 Core
namespace_memory_usage 项目内存使用量(包含缓存) Byte
namespace_memory_usage_wo_cache 项目内存使用量 Byte
namespace_net_bytes_transmitted 项目网络数据发送速率 Byte/s
namespace_net_bytes_received 项目网络数据接受速率 Byte/s
namespace_pod_count 项目内非终止阶段 Pod 数量
namespace_pod_running_count 项目内处于 Running 阶段的 Pod 数量
namespace_pod_succeeded_count 项目内处于 Succeeded 阶段的 Pod 数量
namespace_pod_abnormal_count 项目异常 Pod 数量
namespace_pod_abnormal_ratio 项目异常 Pod 比例
namespace_cronjob_count 项目 CronJob 数
namespace_pvc_count 项目 PersistentVolumeClaim 数
namespace_daemonset_count 项目 DaemonSet 数
namespace_deployment_count 项目 Deployment 数
namespace_endpoint_count 项目 Endpoint 数
namespace_hpa_count 项目 Horizontal Pod Autoscaler 数
namespace_job_count 项目 Job 数
namespace_statefulset_count 项目 StatefulSet 数
namespace_replicaset_count 项目 ReplicaSet 数
namespace_service_count 项目 Service 数
namespace_secret_count 项目 Secret 数
namespace_ingresses_extensions_count 项目 Ingress 数

Workload

指标名 说明 单位
workload_pod_cpu_usage 工作负载[^1] CPU 用量 Core
workload_pod_memory_usage 工作负载内存使用量(包含缓存) Byte
workload_pod_memory_usage_wo_cache 工作负载内存使用量 Byte
workload_pod_net_bytes_transmitted 工作负载网络数据发送速率 Byte/s
workload_pod_net_bytes_received 工作负载网络数据接受速率 Byte/s
workload_deployment_replica Deployment 期望副本数
workload_deployment_replica_available Deployment 可用副本数[^2]
workload_deployment_unavailable_replicas_ratio Deployment 不可用副本数比例[^3]
workload_statefulset_replica StatefulSet 期望副本数
workload_statefulset_replica_available StatefulSet 可用副本数
workload_statefulset_unavailable_replicas_ratio StatefulSet 不可用副本数比例
workload_daemonset_replica DaemonSet 期望副本数
workload_daemonset_replica_available DaemonSet 可用副本数
workload_daemonset_unavailable_replicas_ratio DaemonSet 不可用副本数比例

【说明】

[^1] 目前支持的工作负载类型包括:Deployment,StatefulSet 和 DaemonSet。

[^2] 可用副本指工作负载创建出的 Pod 处于可用状态,即该 Pod 的 status.conditions.ContainersReady 字段值为 true。

[^3] 不可用副本数比例:不可用副本数 / 期望副本数。

Pod

指标名 说明 单位
pod_cpu_usage 容器组 CPU 用量 Core
pod_memory_usage 容器组内存使用量(包含缓存) Byte
pod_memory_usage_wo_cache 容器组内存使用量 Byte
pod_net_bytes_transmitted 容器组网络数据发送速率 Byte/s
pod_net_bytes_received 容器组网络数据接受速率 Byte/s

Container

指标名 说明 单位
container_cpu_usage 容器 CPU 用量 Core
container_memory_usage 容器内存使用量(包含缓存) Byte
container_memory_usage_wo_cache 容器内存使用量 Byte

Component

指标名 说明 单位
etcd_server_list etcd 集群节点列表[^1]
etcd_server_total etcd 集群节点总数
etcd_server_up_total etcd 集群在线节点数
etcd_server_has_leader etcd 集群各节点是否有 leader[^2]
etcd_server_leader_changes etcd 集群各节点观察到 leader 变化数( 1h 内)
etcd_server_proposals_failed_rate etcd 集群各节点提案失败[^3]频率平均数 次/s
etcd_server_proposals_applied_rate etcd 集群各节点提案应用频率平均数 次/s
etcd_server_proposals_committed_rate etcd 集群各节提案提交频率平均数 次/s
etcd_server_proposals_pending_count etcd 集群各节点排队提案数平均值
etcd_mvcc_db_size etcd 集群各节点数据库大小平均值 Byte
etcd_network_client_grpc_received_bytes etcd 集群向 gRPC 客户端发送数据速率 Byte/s
etcd_network_client_grpc_sent_bytes etcd 集群接受 gRPC 客户端数据速率 Byte/s
etcd_grpc_call_rate etcd 集群 gRPC 请求速率 次/s
etcd_grpc_call_failed_rate etcd 集群 gRPC 请求失败速率 次/s
etcd_grpc_server_msg_received_rate etcd 集群 gRPC 流式消息接收速率 次/s
etcd_grpc_server_msg_sent_rate etcd 集群 gRPC 流式消息发送速率 次/s
etcd_disk_wal_fsync_duration etcd 集群各节点 WAL 日志同步时间平均值
etcd_disk_wal_fsync_duration_quantile etcd 集群 WAL 日志同步时间平均值(按分位数统计)[^4]
etcd_disk_backend_commit_duration etcd 集群各节点库同步时间[^5]平均值
etcd_disk_backend_commit_duration_quantile etcd 集群各节点库同步时间平均值(按分位数统计)
apiserver_up_sum APIServer [^6]在线实例数
apiserver_request_rate APIServer 每秒接受请求数
apiserver_request_by_verb_rate APIServer 每秒接受请求数(按 HTTP 请求方法分类统计)
apiserver_request_latencies APIServer 请求平均迟延
apiserver_request_by_verb_latencies APIServer 请求平均迟延(按 HTTP 请求方法分类统计)
scheduler_up_sum 调度器[^7]在线实例数
scheduler_schedule_attempts 调度器累计调度次数 [^8]
scheduler_schedule_attempt_rate 调度器调度频率 次/s
scheduler_e2e_scheduling_latency 调度器调度延迟
scheduler_e2e_scheduling_latency_quantile 调度器调度延迟(按分位数统计)
controller_manager_up_sum Controller Manager[^9] 在线实例数
coredns_up_sum CoreDNS 在线实例数
coredns_cache_hits CoreDNS 缓存命中频率 次/s
coredns_cache_misses CoreDNS 缓存未命中频率 次/s
coredns_dns_request_rate CoreDNS 每秒请求数
coredns_dns_request_duration CoreDNS 请求耗时
coredns_dns_request_duration_quantile CoreDNS 请求耗时(按分位数统计)
coredns_dns_request_by_type_rate CoreDNS 每秒请求数(按请求类型分类统计)
coredns_dns_request_by_rcode_rate CoreDNS 每秒请求数(按 rcode 分类统计)
coredns_panic_rate CoreDNS 异常发生频率 次/s
coredns_proxy_request_rate CoreDNS 代理每秒请求数
coredns_proxy_request_duration CoreDNS 代理请求耗时
coredns_proxy_request_duration_quantile CoreDNS 代理请求耗时(按分位数统计)
prometheus_up_sum Prometheus 在线实例数量
prometheus_tsdb_head_samples_appended_rate Prometheus 每秒存储监控指标数

【说明】

[^1] 如果某一节点返回值为 1 说明该 etcd 节点在线,0 说明节点下线。

[^2] 如果某一节点返回值为 0 说明该节点没有leader ,即该节点不可使用;如果集群中,所有节点都没有任何 leader ,则整个集群不可用。

[^3] 中英文对照说明:提案(consensus proposals),失败提案(failed proposals),已提交提案(commited proposals),应用提案(applied proposals),排队提案(pending proposals)。

[^4] 支持三种分位数统计:99th 百分位数、90th 百分位数、中位数。

[^5] 反映磁盘 I/O 延迟。如果数值过高,通常表示磁盘问题。

[^6] 指 kube-apiserver。

[^7] 指 kube-scheduler。

[^8] 按调度结果分类统计:error(因调度器异常而无法调度的 Pod 数量),scheduled(成功被调度的 Pod 数量),unschedulable(无法被调度的 Pod 数量)。

[^9] 指 kube-controller-manager。