Loading
close

常用指标

time 更新时间:2024-08-20 19:36:26

监控指标是可观测服务提供的核心能力之一,对云平台的运维和管理起到了至关重要的作用。这里对云平台的服务、节点、命名空间等常用指标进行如下说明。

kube-apiserver

基于社区 kube-apiserver v1.28.2 定制。该组件负责暴露 Kubernetes API,是访问集群的唯一入口。kube-apiserver 提供了关于其性能和运行状况的相关指标,如请求延迟、响应大小等。

名称 类型 说明
apiserver_request_duration_seconds_bucket Histogram 该指标用于统计 API Server 客户端对 API Server 不同请求的访问时延分布。
请求维度包括:
   1. Verb:请求的类型,例如 GET、POST、PUT、DELETE等
   2. Group:API 组,即相关 API 接口的集合,用于扩展 Kubernetes API
   3. Version:API 版本,例如 v1、v1beta1 等
   4. Resource:请求针对的资源类型,例如 Pod、Service、Lease 等
   5. Subresource:资源的子资源,例如 Pod 详细信息、Pod 日志等
   6. Scope:请求的范围,例如命名空间维度的资源(Namespace-scoped)或集群维度的资源(Cluster-scope)
   7. Component:发起请求的组件的名称,例如 kube-controller-manager、kube-scheduler 等
API Server Histogram 的 Bucket 阈值为 {0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.25, 1.5, 1.75, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 40, 50, 60}。单位:个。
apiserver_request_duration_seconds_sum Counter 对 API Server 不同请求的访问时延总和。请求维度 ,同上。单位:秒。
apiserver_request_duration_seconds_count Counter 对 API Server 不同请求的访问时延计数。请求维度 ,同上。单位:个。
apiserver_response_sizes_bucket Histogram 对 API Server 不同请求的响应大小分布。请求维度 ,同上。单位:个。
apiserver_response_sizes_sum Counter 对 API Server 不同请求的响应大小总和。请求维度 ,同上。单位:bytes。
apiserver_request_total Counter 对 API Server 不同请求的计数。请求维度包括 Verb、Group、Version、Resource、Subresource、Scope、Component、HTTP contentType(响应HTTP的数据格式)、HTTP code (响应的HTTP状态码)。单位:个。
up{job=”kube-apiserver-discovery”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”kube-apiserver-discovery”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

kube-scheduler

基于社区 kube-scheduler v1.28.2 定制。该组件在 Kubernetes 集群中负责调度容器到集群节点。kube-scheduler 提供了用于监控调度器性能和运行状况的相关指标,如调度器的调度延迟、调度队列 Pod 数量等。

名称 类型 说明
scheduler_scheduler_cache_size Gauge 调度器缓存中节点、Pod 和 AssumedPod(假定要调度的 Pod)的数量。单位:个。
scheduler_pending_pods Gauge Pending Pod 的数量。队列种类如下:
   1. unschedulable:unschedulableQ 的 Pod 数量,即不可调度的 Pod 数量
   2. backoff:backoffQ的Pod 数量,即因为某种原因暂时不能被调度的 Pod 数量
   3. active:activeQ的Pod 数量,即准备就绪并等待被调度的 Pod 数量
   4. gated:gatedQ 的数量,即被阻塞并等待调度的 Pod 数量
单位:个。
scheduler_pod_scheduling_attempts_bucket Histogram 调度器成功调度 Pod 的尝试次数分布,Bucket 阈值为 {1, 2, 4, 8, 16}。单位:个。
rest_client_requests_total Counter 从状态值(Status Code)、方法(Method)和主机(Host)维度分析HTTP请求数。单位:个。
rest_client_request_duration_seconds_bucket Histogram 从方法(Verb)和 URL 维度分析 HTTP 请求时延分布,Bucket 阈值为 {0.001, 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512}。单位:个。
up{job=”kube-scheduler-discovery”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”kube-scheduler-discovery”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

kube-controller-manager

基于社区 kube-controller-manager v1.28.2 定制。该组件在 Kubernetes 集群的控制平面,负责管理多种控制器,如 StatefulSet Controller、Deployment Controller 等。kube-controller-manager 提供了对其自身性能和健康状态的相关指标,如队列长度、请求时延等。

名称 类型 说明
workqueue_adds_total Counter Workqueue 处理的新增事件(Adds)数量。单位:个。
workqueue_depth Gauge Workqueue 当前队列深度。如果队列深度长时间保持在较高水平,表明 Controller 不能及时处理队列中的任务,导致任务堆积。单位:个。
workqueue_queue_duration_seconds_bucket Histogram 任务在 Workqueue 中存在的时长。Bucket 阈值为 {10^(-8), 10^(-7), 10^(-6), 10^(-5), 10^(-4), 10^(-3), 10^(-2), 10^(-1),  1, 10}。单位:个。
rest_client_requests_total Counter 从状态值(Status Code)、方法(Method)和主机(Host)维度分析 HTTP 请求数。单位:个。
rest_client_request_duration_seconds_bucket Histogram 从方法(Verb)和 URL 维度分析 HTTP 请求时延分布,Bucket 阈值为 {0.001, 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512}。单位:个。
up{job=”kube-controller-manager-discovery”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”kube-controller-manager-discovery”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

kubelet

基于社区 kubelet v1.28.2 定制。该组件是 Kubernetes 集群中的核心组件之一,负责管理节点上的容器和容器运行时。Kubelet 内部实现了一套自监控机制,生成了一系列反映节点以及容器整体状态的监控指标。

名称 类型 说明
kubelet_volume_stats_available_bytes Gauge 挂载到节点上的持久卷(Persistent Volumes,PV)当前可用容量。单位:bytes。
kubelet_volume_stats_capacity_bytes Gauge 挂载到节点上的持久卷(Persistent Volumes,PV)总容量。单位:bytes。
up{job=”kubelet”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”kubelet”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

kubernetes-cadvisor

基于社区 kubelet v1.28.2 定制。该组件作为 kubelet 的一部分运行,负责收集容器和节点的性能和资源使用情况,包括 CPU、内存、网络等相关指标。并且 kubernetes-cadvisor 生成的监控数据用于支持 kubelet 的资源调度和管理。

名称 类型 说明
container_cpu_usage_seconds_total Counter 容器累计使用的 CPU 时间。单位:秒。
container_memory_working_set_bytes Gauge 容器内存已使用量。单位:bytes。
container_network_receive_bytes_total Counter 容器网络累积接收数据流量。单位:bytes。
container_network_transmit_bytes_total Counter 容器网络累积传输数据流量。单位:bytes。
container_network_receive_packets_total Counter 容器网络累积接收数据包。单位:packets。
container_network_transmit_bytes_total Counter 容器网络累积发送数据包。单位:packets。
up{job=”kubernetes-cadvisor”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”kubernetes-cadvisor”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

kube-state-metrics

基于社区 kube-state-metrics v2.10.1 定制。该组件通过监听 Kubernetes API 服务生成相关监控指标。这些指标反映了 Kubernetes 内部各种资源对象的运行状况,如 pods、deployments 和 nodes 等。

名称 类型 说明
kube_pod_info Gauge Pod 的相关信息,如 Pod 的名称、所在命名空间和所在节点等。
kube_pod_owner Gauge Pod 拥有者的信息,即Pod归属于某个控制器或对象管理。如 Deployment、ReplicaSet、DaemonSet和Node等。
kube_pod_status_phase Gauge Pod 当前阶段的状态:
   1:表示成功(Succeeded)、运行(Running)
   0:表示失败(Failed)、挂起(Pending)、未知(Unknown)
kube_pod_container_status_waiting_reason Gauge 容器当前处于等待状态的原因,相关 reason 如下:
   CrashLoopBackOff:容器启动后崩溃
   ImagePullBackOff:容器镜像无法拉取
   ErrImagePull:尝试拉取镜像时发生错误
   ContainerCreating:容器正在创建中
   PodInitializing:Pod 正在初始化,容器等待 Pod 完成初始化
kube_pod_container_status_running Gauge 容器当前运行状态:
   1:表示运行(Running)
   0:表示停止(Stopped)
kube_pod_container_status_ready Gauge 容器就绪状态:
   1:表示就绪(Ready)
   0:表示未就绪(NotReady)
kube_pod_container_status_terminated_reason Gauge 容器当前处于终止状态的原因,相关 reason 如下:
   Completed:容器成功完成其预定任务并退出
   Error:容器执行期间发生错误,导致其退出
   OOMKilled:容器因为超出内存限制被操作系统终止(Out of Memory Killed)
   ContainerStopped:容器被手动停止或因为其他原因被停止
   DeadlineExceeded:容器在指定的时间限制内没有完成其任务,超出时间限制被终止
kube_pod_container_status_restarts_total Counter 容器重启累计次数。单位:次。
kube_namespace_labels Gauge 命名空间的标签信息,如 Namespace 名称等。
kube_node_labels Gauge 节点的相关标签信息,如节点的名称、节点上相关服务启用/禁用的状态等。
kube_node_status_condition Gauge Kubernetes 节点的状态条件信息,包括节点 Status、Condition 等。
kube_node_status_capacity Gauge Kubernetes 节点的资源容量信息,如 CPU 的核数(Core),内存的大小(Byte),存储的容量(Byte)。
kube_persistentvolumeclaim_status_phase Gauge PVC 当前状态, 其中 phase 有以下几种状态:
   Bound:指标返回值为 0,表示 PVC 未绑定 PV;指标返回值为 1,表示 PVC 已绑定 PV
   Lost :指标返回值为 0,表示 PVC 未解绑 PV;指标返回值为 1,表示 PVC 已解绑 PV
   Pending :指标返回值为 0,表示 PVC 未挂起;指标返回值为 1,表示 PVC 已挂起
kube_resourcequota Gauge Kubernetes 资源配额的配置信息,包括配额限制大小、当前资源已使用量。
up{job=”kube-state-metrics”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”kube-state-metrics”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

etcd

基于社区 etcd v3.5.10 定制。该组件为 Kubernetes 提供了高可用、一致性的分布式存储服务。etcd 还内置了一些关键指标,包括 etcd 集群的健康状况、性能、请求处理等。

名称 类型 说明
etcd_server_has_leader Gauge etcd 基于 Raft 实现一致性算法。在 Raft 中,etcd 会将集群中的某个成员(Member)选举为“Leader”,即主节点,而其他成员则作为“Follower”,即从节点。Leader 会定期向所有 Member 发送心跳,以保持集群稳定。此指标表示etcd Member中是否存在Leader:
   1:有主节点
   0:没有主节点
etcd_server_is_leader Gauge etcd Member是否是Leader:
   1:是
   0:不是
etcd_server_leader_changes_seen_total Counter 过去一段时间内,etcd Member 的切主次数,即 Leader 更换的次数。单位:次。
etcd_server_proposals_failed_total Counter 处理失败的 Proposal 数量。单位:个。
etcd_server_proposals_pending Gauge 正在等待处理的 Proposal 数量。单位:个。
etcd_disk_wal_fsync_duration_seconds_sum Counter etcd 在写入 WAL 时,进行文件同步操作所花费的时间。单位:秒。
etcd_disk_wal_fsync_duration_seconds_count Counter etcd 在写入 WAL 时,进行文件同步操作的次数。单位:次。
etcd_disk_wal_fsync_duration_seconds_bucket Histogram etcd 在写入 WAL 时,进行文件同步操作延迟分布。单位:个。
Bucket 阈值为{0.001, 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512, 1.024, 2.048, 4.096, 8.192}。
etcd_disk_backend_commit_duration_seconds_sum Counter etcd 执行数据提交操作时所花费的总时间。单位:秒。
etcd_disk_backend_commit_duration_seconds_count Counter etcd 执行数据提交操作的次数。单位:次。
etcd_disk_backend_commit_duration_seconds_bucket Histogram etcd 执行数据提交操作所花费的时间分布。单位:个。
Bucket 阈值为{0.001, 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512, 1.024, 2.048, 4.096, 8.192}。
up{job=”etcd”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”etcd”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

coredns

基于社区 coredns v1.10.1 定制。该组件为 Kubernetes 集群提供了灵活且功能强大的 DNS 服务。CoreDNS 还内置了一些关键指标,如 CoreDNS 的运行状态、性能和健康状况等。

名称 类型 说明
coredns_cache_hits_total Counter CoreDNS 缓存命中个数。单位:个。
coredns_cache_misses_total Counter CoreDNS 缓存未命中个数。单位:个。
coredns_dns_requests_total Counter DNS 请求的总数。单位:个。
coredns_dns_responses_total Counter DNS 返回码的总数。单位:个。
coredns_dns_request_duration_seconds_sum Counter DNS 请求处理的总持续时间。单位:秒。
coredns_dns_request_duration_seconds_bucket Histogram DNS 请求处理的时延分布。单位:个。
Bucket 阈值为{0.001, 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512, 1.024, 2.048, 4.096, 8.192}。
coredns_panics_total Counter CoreDNS 实例发生 Panic 次数。单位:次。
up{job=”coredns”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”coredns”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

ceph-mgr

基于社区 ceph-mgr v14.2.22 定制。该组件用于管理、配置和监控 Ceph 集群。其生成相关监控指标,包括 Ceph 集群的健康状态、性能、容量、对象和池统计等。

名称 类型 说明
ceph_osd_metadata Gauge Ceph OSD (对象存储守护进程)元数据信息。
ceph_osd_up Gauge Ceph OSD状态:
   1: Up
   0: Down
ceph_osd_in Gauge OSD 实例是否处于活动状态:
   1:处于活动状态
   0:处于非活动状态
ceph_osd_stat_bytes Gauge Ceph OSD 存储容量。单位:bytes。
ceph_osd_stat_bytes_used Gauge Ceph OSD 已使用的存储容量。单位:bytes。
ceph_osd_recovery_ops Counter Ceph OSD 处理恢复操作的次数。单位:次。
ceph_pool_metadata Gauge Ceph 存储池(Pool)元数据信息。
ceph_pool_stored Gauge Ceph 存储池中已使用的存储容量。单位:bytes。
ceph_pool_max_avail Gauge Ceph 存储池中可用的最大存储容量。单位:bytes。
ceph_pool_rd_iops Gauge Ceph 存储池中读操作的 IOPS。单位:操作次数每秒(IOPS)。
ceph_pool_wr_iops Gauge Ceph 存储池中写操作的 IOPS。单位:操作次数每秒(IOPS)。
ceph_pool_rd_throughput Gauge Ceph 存储池中读操作吞吐量。单位:字节每秒(Bps)。
ceph_pool_wr_throughput Gauge Ceph 存储池中写操作吞吐量。单位:字节每秒(Bps)。
ceph_cluster_total_bytes Gauge Ceph 集群总存储容量。单位:bytes。
ceph_cluster_total_used_bytes Gauge Ceph 集群中已使用的总存储容量。单位:bytes。
ceph_mon_quorum_status Gauge Ceph 存储控制服务状态:
   1: Up
   0:Down
up{job=”ceph-mgr”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”ceph-mgr”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。

node-exporter

基于社区 node-exporter v1.6.1 定制。该组件是通过 *NIX 内核暴露硬件和操作系统指标的 Prometheus 指标导出器。其生成的指标,包括节点的 CPU 、内存、磁盘 I/O、网络流量、文件系统、系统负载等。

名称 类型 说明
node_load1 Gauge 节点1分钟内平均负载。
node_load5 Gauge 节点5分钟内平均负载。
node_load15 Gauge 节点15分钟内平均负载。
node_uname_info Gauge 节点操作系统的基本信息描述,包括节点的操作系统名称、操作系统的内核版本、构建内核版本的日期等。
node_procs_blocked Gauge 节点操作系统当前被阻塞的进程数。单位:个。
node_procs_running Gauge 节点操作系统当前正在运行的进程数。单位:个。
node_nf_conntrack_entries Gauge 节点 Netfilter 当前连接跟踪表(conntrack)条目数量。单位:个。
node_nf_conntrack_entries_limit Gauge 节点 Netfilter 连接跟踪表的最大条目限制数量。单位:个。
node_cpu_seconds_total Counter 节点 CPU 在不同的工作模式下累积消耗时间,模式包括:
   User :用户态(应用程序)消耗 CPU 的时间
   System:内核态(操作系统内核)消耗 CPU 时间
   Idle:CPU 处于空闲状态的时间
   Iowait:CPU 等待 I/O 操作完成的时间
   Irq:CPU 在处理硬中断(硬件中断)时消耗的时间
   Softirq:CPU 在处理软中断(即软件中断)时消耗的时间
   Nice:CPU 执行用户空间进程时,由于进程的优先级调整所消耗的时间
   Steal:虚拟化环境中,当前虚拟机等待其他虚拟机释放 CPU 资源的时间
node_memory_MemFree_bytes Gauge 节点空闲的内存大小。单位:bytes。
node_memory_Buffers_bytes Gauge 节点缓冲区内存大小。单位:bytes。
node_memory_Cached_bytes Gauge 节点缓存大小。单位:bytes。
node_memory_Slab_bytes Gauge 节点操作系统内核缓存的大小。单位:bytes。
node_memory_MemTotal_bytes Gauge 节点物理内存总量。单位:bytes。
node_memory_HugePages_Total Gauge 节点操作系统中配置的大页(HugePages)总数量。单位:页(Pages)。
node_memory_HugePages_Free Gauge 节点操作系统中当前未使用的空闲大页(HugePages)的数量。单位:页(Pages)。
node_memory_Hugepagesize_bytes Gauge 节点操作系统中配置的每个大页(HugePages)的大小。单位:bytes。
node_disk_read_time_seconds_total Counter 节点磁盘读操作所消耗的总时间。单位:秒。
node_disk_write_time_seconds_total Counter 节点磁盘写操作所消耗的总时间。单位:秒。
node_disk_reads_completed_total Counter 节点磁盘完成的读操作次数。单位:次。
node_disk_writes_completed_total Counter 节点磁盘完成的写操作次数。单位:次。
node_disk_read_bytes_total Counter 成功读取节点磁盘的总字节数。单位:次。
node_disk_written_bytes_total Counter 成功写入节点磁盘的总字节数。单位:次。
node_disk_io_time_seconds_total Counter 磁盘 I/O 操作总共消耗的时间。单位:秒。
node_network_receive_errs_total Counter 节点网络接口接收数据包过程发生的错误总次数。单位:次。
node_network_transmit_errs_total Counter 节点网络接口发送数据包过程发生的错误总次数。单位:次。
node_network_receive_bytes_total Counter 节点网络接口接收的总数据流量。单位:bytes。device 代表集群中不同的网络类型,可选值如下:
   br-roller:部署网络
   br-pub:控制台网络
   br-mgmt:管理网络
   br-storage:存储集群管理网络
   br-storagepub:存储集群业务网络
node_network_transmit_bytes_total Counter 节点网络接口发送的总数据流量。单位:bytes。device 代表集群中不同的网络类型,可选值如下:
   br-roller:部署网络
   br-pub:控制台网络
   br-mgmt:管理网络
   br-storage:存储集群管理网络
   br-storagepub:存储集群业务网络
ecms_node_network_receive_byte_rate Gauge 【平台自研指标】节点网络接口接收的数据流量速率。单位:Bps。device 代表集群中不同的网络类型,可选值如下:
   br-vxlan:业务心跳网络
   br-ex:外部网络
   br-prv.*:私有网络,.* 表示平台支持对接多个私有网络
ecms_node_network_transmit_byte_rate Gauge 【平台自研指标】节点网络接口发送的数据流量速率。单位:Bps。device 代表集群中不同的网络类型,可选值如下:
   br-vxlan:业务心跳网络
   br-ex:外部网络
   br-prv.*:私有网络,.* 表示平台支持对接多个私有网络
node_network_receive_packets_total Counter 节点网络接口接受的总数据包。单位:packets。device 代表集群中不同的网络类型,可选值如下:
   br-roller:部署网络
   br-pub:控制台网络
   br-mgmt:管理网络
   br-storage:存储集群管理网络
   br-storagepub:存储集群业务网络
node_network_transmit_packets_total Counter 节点网络接口发送的总数据包。单位:packets。device 代表集群中不同的网络类型,可选值如下:
   br-roller:部署网络
   br-pub:控制台网络
   br-mgmt:管理网络
   br-storage:存储集群管理网络
   br-storagepub:存储集群业务网络
ecms_node_network_receive_packet_rate Gauge 【平台自研指标】节点网络接口接收的数据包速率。单位:pps。device 代表集群中不同的网络类型,可选值如下:
   br-vxlan:业务心跳网络
   br-ex:外部网络
   br-prv.*:私有网络,.* 表示平台支持对接多个私有网络
ecms_node_network_transmit_packet_rate Gauge 【平台自研指标】节点网络接口发送的数据包速率。单位:pps。device 代表集群中不同的网络类型,可选值如下:
   br-vxlan:业务心跳网络
   br-ex:外部网络
   br-prv.*:私有网络,.* 表示平台支持对接多个私有网络
up{job=”node-exporter”} Gauge 监控目标健康状态:
   1:表示健康
   0:表示异常
scrape_duration_seconds{job=”node-exporter”} Gauge Prometheus 每次拉取指标数据所花费的时间。单位:秒。
此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品