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

工作负载监控

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

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

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

vke-pod-dashboard

vke-pod-dashboard 为容器组监控看板,展示了指定命名空间下容器组(Pod)的监控信息,包括:

  • Pod 内存:内存 requests、内存 limits、内存使用 Top 10、内存使用率 Top 10、内存错误数等。
  • Pod CPU:CPU requests、CPU limits、CPU 使用 Top 10 、CPU 使用率 Top 10、CPU 负载 Top 10 等。
  • Pod 磁盘:磁盘读写 IO Top 10 等。
  • Pod 网络:网络 IO Top 10、Socket 连接数 Top 10、网络丢包 Top 10、网络错误数 Top 10 等。

alt

容器组监控看板的指标清单如下表所示。

看板分类看板名称PromQL 语句
容器组监控CPU requestssum(kube_pod_container_resource_requests{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="cpu"})
CPU limitssum(kube_pod_container_resource_limits{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="cpu"})
内存 requestssum(kube_pod_container_resource_requests{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="memory"})
内存使用 Top 10topk(10,sum(container_memory_working_set_bytes{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container!=""})by (pod))
内存使用率 Top 10(占 limits)topk(10,sum(container_memory_working_set_bytes{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container!=""})by(pod)*100/sum(kube_pod_container_resource_limits{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container!="",resource="memory",unit="byte"})by(pod))
内存 limitssum(kube_pod_container_resource_limits{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="memory"})
CPU 使用 Top 10topk(10,sum(rate(container_cpu_usage_seconds_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container!=""}[5m]))by(pod))
CPU 使用率 Top 10(占 limits)(sum(rate(container_cpu_usage_seconds_total{cluster="$ClusterId",namespace="$Namespace",pod=~"$Pod",container!=""}[5m]))by(pod)/sum(kube_pod_container_resource_limits{cluster="$ClusterId",namespace="$Namespace",pod=~"$Pod",resource="cpu",container!=""})by(pod))*100
内存错误数sum(container_memory_failcnt{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"})by(pod)
网络 IO Top 10topk(10,sum(rate(container_network_receive_bytes_total{cluster=~"$ClusterId",pod=~"$Pod",namespace=~"$Namespace"}[5m]))by (pod))
topk(10,sum(rate(container_network_transmit_bytes_total{cluster=~"$ClusterId",pod=~"$Pod",namespace=~"$Namespace"}[5m]))by (pod))
CPU 负载 Top 10(10s)sum(container_cpu_load_average_10s{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"})by(pod)
网络错误数 Top 10topk(10,sum(rate(container_network_receive_errors_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}[5m]))by(pod))
topk(10,sum(rate(container_network_transmit_errors_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}[5m]))by(pod))
Socket 连接数 Top 10topk(10,sum(container_sockets{cluster=~"$ClusterId",pod=~"$Pod",namespace=~"$Namespace"})by(pod))
网络丢包 Top 10topk(10,sum(rate(container_network_receive_packets_dropped_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}[5m]))by(pod))
topk(10,sum(rate(container_network_transmit_packets_dropped_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}[5m]))by(pod))
磁盘读写 IO Top 10topk(10,sum(rate(container_fs_reads_bytes_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}[5m]))by(pod))
topk(10,sum(rate(container_fs_writes_bytes_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}[5m]))by(pod))
进程数 Top 10topk(10,sum(container_processes{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}) by(pod))

说明

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

vke-container-dashboard

vke-container-dashboard 为容器监控看板,展示了指定命名空间下容器(Container)的监控信息,包括:

  • 容器资源:容器内存使用、容器 CPU 使用等。
  • 容器信息:容器进程、打开文件数、重启次数等。

alt

容器监控看板的指标清单如下表所示。

看板分类看板名称PromQL 语句
容器监控容器内存使用kube_pod_container_resource_requests{resource="memory",cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}
kube_pod_container_resource_limits{resource="memory",cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}
sum(container_memory_working_set_bytes{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""})by(container)
容器 CPU 使用kube_pod_container_resource_requests{resource="cpu",cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}
kube_pod_container_resource_limits{resource="cpu",cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}
irate(container_cpu_usage_seconds_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}[5m])
容器进程container_processes{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}
打开文件数container_file_descriptors{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}
重启次数kube_pod_container_status_restarts_total{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",container=~"$Container",container!=""}

说明

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