You need to enable JavaScript to run this app.
导航

节点监控

最近更新时间2023.12.14 15:02:39

首次发布时间2023.11.17 15:31:30

托管 Prometheus 控制台中预置了常见的 VKE 集群监控看板,本文为您介绍节点监控看板信息。

vke-node-dashboard

vke-node-dashboard 为集群节点监控看板,展示了集群指定节点的监控信息,包括:

  • 内存信息:内存总量、内存使用量、内存 Requests 等。
  • CPU 信息:CPU 总数、CPU 使用量、CPU 负载、CPU Requests 等。
  • 磁盘信息:磁盘使用率、磁盘读写流量、磁盘读写 IOPS、磁盘 inode 使用率等。
  • 网络信息:网络流入流出流量速率、网络流入流出包速率、网络流入流出丢包率、TCP 连接等。

alt

节点监控看板的指标清单如下表所示。

看板分类看板名称PromQL 语句
节点详情监控内存总量kube_node_status_capacity{cluster=~"$ClusterId",node=~"$Node",resource="memory"}
CPU 总数kube_node_status_capacity{cluster=~"$ClusterId",node=~"$Node",resource="cpu"}
Pod Capacitykube_node_status_capacity{cluster=~"$ClusterId",node=~"$Node",resource="pods"}
CPU Requestssum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="cpu",node=~"$Node"})by(node)
内存 Requestssum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="memory",node="$Node"})by(node)
Pod 数量count(kube_pod_info{cluster="$ClusterId",node="$Node"})
节点内存使用sum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="memory",node="$Node"})by(node)
sum(kube_pod_container_resource_limits{cluster="$ClusterId",resource="memory",node="$Node"})by(node)
kube_node_status_capacity{cluster="$ClusterId",resource="memory",node="$Node"}
sum(node_memory_MemTotal_bytes{cluster="$ClusterId",node="$Node"}-node_memory_MemAvailable_bytes{cluster="$ClusterId",node="$Node"})by(node)
节点 CPU 使用sum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="cpu",node="$Node"})by(node)
sum(kube_pod_container_resource_limits{cluster="$ClusterId",resource="cpu",node="$Node"})by(node)
sum(kube_node_status_capacity{cluster="$ClusterId",resource="cpu",node="$Node"})by(node)
sum (irate(node_cpu_seconds_total{cluster="$ClusterId",mode="user",node="$Node"}[5m])) by(node)
节点 CPU 负载(1m、5m、15m)node_load1{cluster="$ClusterId",node="$Node"}
node_load5{cluster="$ClusterId",node="$Node"}
node_load15{cluster="$ClusterId",node="$Node"}
磁盘使用率avg((node_filesystem_size_bytes{cluster=~"$ClusterId",instance=~"$Node",device!~'rootfs'}-(node_filesystem_avail_bytes{cluster=~"$ClusterId",instance=~"$Node",device!~'rootfs',fstype!~'tmpfs'}))/node_filesystem_size_bytes{cluster=~"$ClusterId",instance=~"$Node",device!~'rootfs'}*100)by(device)
磁盘读写流量rate(node_disk_read_bytes_total{cluster=~"$ClusterId",node=~"$Node",device=~"[a-z]*[a-z]"}[5m])
rate(node_disk_written_bytes_total{cluster=~"$ClusterId",instance=~"$Node",device=~"[a-z]*[a-z]"}[5m])
磁盘 inode 使用率(node_filesystem_files{cluster=~"$ClusterId",node="$Node",device!~'rootfs',fstype!~'tmpfs'}-node_filesystem_files_free{cluster=~"$ClusterId",instance="$Node",device!~'rootfs',fstype!~'tmpfs'})/node_filesystem_files{cluster=~"$ClusterId",instance="$Node",device!~'rootfs',fstype!~'tmpfs'}*100
磁盘读写 IOPSrate(node_disk_writes_completed_total{cluster=~"$ClusterId",node=~"$Node",device=~"[a-z]*[a-z]"}[5m])
rate(node_disk_reads_completed_total{cluster=~"$ClusterId",node=~"$Node",device=~"[a-z]*[a-z]"}[5m])
TCP 连接node_sockstat_TCP_inuse{cluster="$ClusterId",node="$Node"}
node_sockstat_TCP_alloc{cluster="$ClusterId",node="$Node"}
node_sockstat_TCP_tw{cluster="$ClusterId",node="$Node"}
node_netstat_TcpExt_ListenDrops{cluster="$ClusterId",node="$Node"}
node_netstat_Tcp_ActiveOpens{cluster="$ClusterId",node="$Node"}
node_netstat_Tcp_PassiveOpens{cluster="$ClusterId",node="$Node"}
网络流入流出包速率rate(node_network_receive_packets_total{cluster=~"$ClusterId",node=~"$Node"}[5m])
rate(node_network_transmit_packets_total{cluster=~"$ClusterId",node=~"$Node"}[5m])
网络流入流出流量速率rate(node_network_receive_bytes_total{cluster=~"$ClusterId",node=~"$Node"}[5m])
rate(node_network_transmit_bytes_total{cluster=~"$ClusterId",node=~"$Node"}[5m])
网络流入流出丢包率100* sum(rate(container_network_transmit_packets_dropped_total{cluster=~"$ClusterId",node=~"$Node",pod!=""}[5m]))by(node)/sum(rate(container_network_transmit_packets_total{cluster=~"$ClusterId",node="$Node",pod!=""}[5m]))by(node)
100* sum(rate(container_network_receive_packets_dropped_total{cluster=~"$ClusterId",node=~"$Node",pod!=""}[5m]))by(node)/sum(rate(container_network_receive_packets_total{cluster=~"$ClusterId",node="$Node",pod!=""}[5m]))by(node)

说明

如果您需要在托管 Prometheus 中的 Explore 功能或告警中心使用上述 PromQL 语句查看具体的指标或配置告警,请修改或删除语句中关于集群、节点、容器组的变量。例如:将 cluster=~"$Cluster"参数中的$Cluster变量修改为具体的集群 ID ,或直接删除该参数。