最近更新时间:2024.02.28 20:05:05
首次发布时间:2024.02.28 20:05:05
容器服务观测允许您监控容器服务集群的基础资源和工作状态。本文为您介绍如何配置容器服务观测功能。
说明
【邀测·申请试用】:该功能目前处于 邀测 阶段,如需使用,请提交申请。
已开启云原生观测功能,详情请参见 开启云原生观测。
容器服务集群监控开启后,您可以配置采集规则,选择需要采集的目标组件、具体指标项及采集间隔。可以根据实际需求丢弃一些不用的指标。
说明
仅支持管理系统默认的采集规则和指标项。不支持管理使用 ServiceMonitor/PodMonitor 等方式配置的自定义采集规则和指标项。
说明
您可以基于系统预置的告警模板,快速完成容器服务集群观测的告警配置。
配置项 | 说明 |
---|---|
告警模版 | 勾选需要的告警模版,允许多选。 |
告警聚合策略 | 在下拉菜单中选择告警聚合策略。详情请参见 创建告警聚合策略。 |
告警通知策略 | 在下拉菜单中选择告警通知策略。系统会使用通知策略中配置的告警等级和联系人组,将告警发送给指定的联系人。详情请参见 创建告警通知策略。 |
说明
如果告警模板无法满足您的要求,也可以在托管 Prometheus 的告警中心配置自定义告警,详情请参见 创建告警规则。
开启集群观测并配置采集规则后,您可以查看系统预置的观测看板。
该看板用于查看集群整体的监控信息,包括:集群节点信息(节点数量、未就绪节点数)、集群内存信息(内存使用量、内存使用率)、集群 CPU 信息(CPU 使用量、CPU 使用率)等。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
节点数量 | count(kube_node_info{cluster="$ClusterId",kernel_version!=""}) |
PIDPressure 节点数量 | count(kube_node_status_condition{cluster="$ClusterId",status="true",condition="PIDPressure"}==1) or vector(0) |
MemoryPressure 节点数量 | count(kube_node_status_condition{cluster="$ClusterId",status="true",condition="MemoryPressure"}==1) or vector(0) |
Not Ready 节点数量 | count(kube_node_info{cluster="$ClusterId",kernel_version!=""})-count(kube_node_status_condition{cluster="$ClusterId",condition="Ready", status="true",node!~"vci.*"} == 1) |
DiskPressure 节点数量 | count(kube_node_status_condition{cluster="$ClusterId",status="true",condition="DiskPressure"}==1) or vector(0) |
NetworkUnavailable 节点数量 | count(kube_node_status_condition{cluster="$ClusterId",status="true",condition="NetworkUnavailable"}==1) or vector(0) |
集群内存使用 | sum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="memory"})by(cluster) |
sum(kube_pod_container_resource_limits{cluster="$ClusterId",resource="memory"})by(cluster) | |
sum(kube_node_status_capacity{cluster="$ClusterId",resource="memory",node!~"vci.*"}) | |
sum(node_memory_MemTotal_bytes{cluster="$ClusterId"}-node_memory_MemAvailable_bytes{cluster="$ClusterId"})by(cluster) | |
集群 CPU 使用 | sum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="cpu"})by(cluster) |
sum(kube_pod_container_resource_limits{cluster="$ClusterId",resource="cpu"})by(cluster) | |
sum (irate(node_cpu_seconds_total{cluster="$ClusterId",mode="user"}[5m])) by(cluster) | |
节点内存使用率 Top 10 | topk(10,(node_memory_MemTotal_bytes{cluster="$ClusterId"}-node_memory_MemAvailable_bytes{cluster="$ClusterId"})/node_memory_MemTotal_bytes{cluster="$ClusterId"})*100 |
节点 CPU 使用率 Top 10 | topk(10,sum(irate(node_cpu_seconds_total{cluster="$ClusterId",mode="user"}[5m]))by(node)/count(count(node_cpu_seconds_total{cluster="$ClusterId"})by(cpu,node))by(node)*100) |
节点磁盘使用率 Top 10 | topk(10,sum(node_filesystem_size_bytes{cluster=~"$ClusterId",device!~'rootfs'}-node_filesystem_avail_bytes{cluster=~"$ClusterId",device!~'rootfs',fstype!~'tmpfs'})by(node)/sum(node_filesystem_size_bytes{cluster=~"$ClusterId",device!~'rootfs'})by(node)*100) |
节点磁盘 Read 速率 Top 10 | topk(10,sum(rate(node_disk_read_bytes_total{cluster=~"$ClusterId",device=~"[a-z]*[a-z]"}[5m]))by(node)) |
节点磁盘 Write 速率 Top 10 | topk(10,sum(rate(node_disk_written_bytes_total{cluster=~"$ClusterId",device=~"[a-z]*[a-z]"}[5m]))by(node)) |
节点网络流量(In)Top 10 | topk(10,sum(rate(node_network_receive_bytes_total{cluster=~"$ClusterId"}[5m]))by(node)) |
节点网络流量(Out)Top 10 | topk(10,sum(rate(node_network_transmit_bytes_total{cluster=~"$ClusterId"}[5m]))by(node)) |
节点 Socket 数 Top 10 | topk(10,node_sockstat_TCP_alloc{cluster=~"$ClusterId"}) |
容器组 CPU 使用 Top 10 | topk(10,sum(rate(container_cpu_usage_seconds_total{cluster="$ClusterId",container!=""}[5m]))by(pod)) |
容器组 CPU 使用率 Top 10(占 requests) | topk(10,sum(rate(container_cpu_usage_seconds_total{cluster="$ClusterId",container!=""}[5m]))by(pod)/sum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="cpu"})by(pod)*100) |
容器组 CPU 使用率 Top 10(占 limits) | topk(10,sum(rate(container_cpu_usage_seconds_total{cluster="$ClusterId",container!=""}[5m]))by(pod)/sum(kube_pod_container_resource_limits{cluster="$ClusterId",resource="cpu"})by(pod)*100) |
容器组内存使用 Top 10 | topk(10,sum(container_memory_working_set_bytes{cluster="$ClusterId",container!=""})by (pod)) |
容器组内存使用率 Top 10(占 requests) | topk(10,sum(container_memory_working_set_bytes{cluster="$ClusterId",container!=""})by(pod)*100/sum(kube_pod_container_resource_requests{cluster="$ClusterId",container!="",resource="memory",unit="byte"})by(pod)) |
容器组内存使用率 Top 10(占 limits) | topk(10,sum(container_memory_working_set_bytes{cluster="$ClusterId",container!=""})by(pod)*100/sum(kube_pod_container_resource_limits{cluster="$ClusterId",container!="",resource="memory",unit="byte"})by(pod)) |
容器组网络流量(In)Top 10 | topk(10,sum(rate(container_network_receive_packets_total{cluster=~"$ClusterId",pod!=""}[5m]))by(pod)) |
容器组网络流量(Out)Top 10 | topk(10,sum(rate(container_network_transmit_packets_total{cluster=~"$ClusterId",pod!=""}[5m]))by(pod)) |
容器组 Socket 连接数 Top 10 | topk(10,sum(container_sockets{cluster="$ClusterId",pod!=""})by(pod)) |
说明
如果您需要在托管 Prometheus 中的 Explore 功能或告警中心使用上述 PromQL 语句查看具体的指标或配置告警,请修改或删除语句中关于集群、节点、容器组的变量。例如:将 cluster=~"$Cluster"
参数中的$Cluster
变量修改为具体的集群 ID ,或直接删除该参数。
该看板用于查看集群命名空间维度的监控信息,包括:命名空间内 NotReady 状态的 Deploment、Statefulset、DaemonSet 数量,命名空间内的内存使用、CPU 使用和 PVC 使用信息。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
NotReady Deployment | count(sum(kube_deployment_spec_replicas{cluster="$ClusterId",namespace="$Namespace"}-kube_deployment_status_replicas_ready{cluster="$ClusterId",namespace="$Namespace"} )by(deployment) !=0)or vector(0) |
NotReady Statefulset | count(sum(kube_statefulset_replicas{cluster="$ClusterId",namespace="$Namespace"}-kube_statefulset_status_replicas_ready{cluster="$ClusterId",namespace="$Namespace"} )by(statefulset)!=0)or vector(0) |
NotReady DaemonSet | count(sum(kube_daemonset_status_number_unavailable{cluster="$ClusterId",namespace="$Namespace"})by(daemonset)!=0)or vector(0) |
内存使用 | sum(kube_pod_container_resource_requests{resource="memory",cluster="$ClusterId",namespace=~"$Namespace"})by(namespace) |
sum(kube_pod_container_resource_limits{resource="memory",cluster="$ClusterId",namespace=~"$Namespace"})by(namespace) | |
sum(rate(container_memory_working_set_bytes{cluster="$ClusterId",namespace=~"$Namespace"}[5m]))by(namespace) | |
CPU 使用 | sum(kube_pod_container_resource_requests{resource="cpu",cluster="$ClusterId",namespace=~"$Namespace"})by(namespace) |
sum(kube_pod_container_resource_limits{resource="cpu",cluster="$ClusterId",namespace=~"$Namespace"})by(namespace) | |
sum(rate(container_cpu_usage_seconds_total{cluster="$ClusterId",namespace=~"$Namespace"}[5m]))by(namespace) | |
PVC 使用 | sum(kube_persistentvolumeclaim_resource_requests_storage_bytes{cluster="$ClusterId",namespace="$Namespace"})by(namespace) |
说明
如果您需要在托管 Prometheus 中的 Explore 功能或告警中心使用上述 PromQL 语句查看具体的指标或配置告警,请修改或删除语句中关于集群、节点、容器组的变量。例如:将 cluster=~"$Cluster"
参数中的$Cluster
变量修改为具体的集群 ID ,或直接删除该参数。
该看板用于查看节点的概览信息,包括:节点内存使用率、节点 CPU 使用率、节点磁盘使用率等。支持同时选择多个节点,满足节点资源使用情况对比。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
节点内存使用率 | (node_memory_MemTotal_bytes{cluster="$ClusterId",node=~"$Node"}-node_memory_MemAvailable_bytes{cluster="$ClusterId",node=~"$Node"})/node_memory_MemTotal_bytes{cluster="$ClusterId",node=~"$Node"}*100 |
节点 CPU 使用率 | sum(irate(node_cpu_seconds_total{cluster="$ClusterId",node=~"$Node",mode="user"}[5m]))by(node)/count(count(node_cpu_seconds_total{cluster="$ClusterId",node=~"$Node"})by(cpu,node))by(node)*100 |
节点磁盘使用率 | sum(node_filesystem_size_bytes{cluster=~"$ClusterId",node=~"$Node",device!~'rootfs'}-node_filesystem_avail_bytes{cluster=~"$ClusterId",node=~"$Node",device!~'rootfs',fstype!~'tmpfs'})by(node)/sum(node_filesystem_size_bytes{cluster=~"$ClusterId",node=~"$Node",device!~'rootfs'})by(node)*100 |
节点磁盘 Read 速率 | sum(rate(node_disk_read_bytes_total{cluster=~"$ClusterId",node=~"$Node",device=~"[a-z]*[a-z]"}[5m]))by(node) |
节点磁盘 Write 速率 | sum(rate(node_disk_written_bytes_total{cluster=~"$ClusterId",node=~"$Node",device=~"[a-z]*[a-z]"}[5m]))by(node) |
节点网络流量(In) | sum(rate(node_network_receive_bytes_total{cluster=~"$ClusterId",node=~"$Node"}[5m]))by(node) |
节点网络流量(Out) | sum(rate(node_network_transmit_bytes_total{cluster=~"$ClusterId",node=~"$Node"}[5m]))by(node) |
节点 Socket 数 | node_sockstat_TCP_alloc{cluster=~"$ClusterId",node=~"$Node"} |
该看板用于查看指定节点的监控信息,包括:节点内存信息(内存使用量、内存使用率)、节点 CPU 信息(CPU 使用量、CPU 使用率、CPU 负载)、磁盘信息(磁盘使用率、磁盘读写 IOPS)等。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
内存总量 | kube_node_status_capacity{cluster=~"$ClusterId",node=~"$Node",resource="memory"} |
CPU 总数 | kube_node_status_capacity{cluster=~"$ClusterId",node=~"$Node",resource="cpu"} |
Pod Capacity | kube_node_status_capacity{cluster=~"$ClusterId",node=~"$Node",resource="pods"} |
CPU Requests | sum(kube_pod_container_resource_requests{cluster="$ClusterId",resource="cpu",node=~"$Node"})by(node) |
内存 Requests | sum(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 |
磁盘读写 IOPS | rate(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 ,或直接删除该参数。
该看板用于查看指定命名空间下无状态负载的监控信息,包括:实例信息(期望实例数、就绪实例数、就绪比例)、CPU 信息(CPU Request、CPU Limits)、内存信息(内存 Request、内存 Limits)、网络信息、磁盘信息等。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
Desired Replicas | max(kube_deployment_spec_replicas{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) |
Ready Replicas | max(kube_deployment_status_replicas_available{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) |
Ready Percent | max(kube_deployment_status_replicas_ready{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) / max(kube_deployment_spec_replicas{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) |
Replicas | max(kube_deployment_status_replicas{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) |
max(kube_deployment_spec_replicas{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
min(kube_deployment_status_replicas_ready{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
min(kube_deployment_status_replicas_available{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
min(kube_deployment_status_replicas_updated{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
min(kube_deployment_status_replicas_unavailable{deployment="$Deployment",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
CPU requests (Total) | sum(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} and ON(namespace, pod) label_join( kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) |
CPU limits(Total) | sum(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} and ON(namespace, pod) label_join( kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) |
内存 requests(Total) | sum(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} and ON(namespace, pod) label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) |
内存 limits(Total) | sum(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} and ON(namespace, pod) label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) |
CPU requests (Single Pod) | avg(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace)) by (resource) |
CPU limits(Single Pod) | avg(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace)) by (resource) |
CPU 用量 | max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by (pod, container, namespace) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) |
内存 requests(Single Pod) | avg(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace)) by (resource) |
内存 limits(Single Pod) | avg(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace)) by (resource) |
内存用量 | max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) |
CPU 使用百分比 | (max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by(container, pod, namespace)/max by(container, pod, namespace) (kube_pod_container_resource_limits{resource="cpu", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) |
(max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by(container, pod, namespace)/max by(container, pod, namespace) (kube_pod_container_resource_requests{resource="cpu", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) | |
内存使用百分比 | (max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" })/max by(container, pod, namespace) (kube_pod_container_resource_limits{resource="memory", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) |
(max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" })/max by(container, pod, namespace) (kube_pod_container_resource_requests{resource="memory", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) | |
网络流量 | sum(rate(container_network_receive_bytes_total{namespace=~"$Namespace",cluster="$ClusterId"}[5m])) by (pod, namespace) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) |
sum(rate(container_network_transmit_bytes_total{namespace=~"$Namespace",cluster="$ClusterId"}[5m])) by (pod, namespace) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) | |
磁盘 IO | max(rate(container_fs_reads_bytes_total{namespace=~"$Namespace",cluster="$ClusterId", container!=""}[5m])) by (pod,container, namespace) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) |
max(rate(container_fs_writes_bytes_total{namespace=~"$Namespace",cluster="$ClusterId", container!=""}[5m])) by (pod,container, namespace) * ON(pod, namespace) group_left avg(label_join(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="ReplicaSet"}, "replicaset", "", "owner_name") * on(replicaset, namespace) group_left(owner_name) kube_replicaset_owner{namespace=~"$Namespace",cluster="$ClusterId",owner_name="$Deployment"}) by (pod, namespace) |
该看板用于查看指定命名空间下有状态负载的监控信息,包括:实例信息(期望实例数、就绪实例数、就绪比例)、CPU 信息(CPU Request、CPU Limits)、内存信息(内存 Request、内存 Limits)、网络信息、磁盘信息等。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
Desired Replicas | max(kube_statefulset_replicas{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) |
Ready Replicas | max(kube_statefulset_status_replicas_ready{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) |
Ready Percent | max(kube_statefulset_status_replicas_ready{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) / max(kube_statefulset_replicas{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) |
Replicas | max(kube_statefulset_replicas{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) |
max(kube_statefulset_status_replicas{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
min(kube_statefulset_status_replicas_ready{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
min(kube_statefulset_status_replicas_available{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
min(kube_statefulset_status_replicas_updated{statefulset="$StatefulSet",namespace=~"$Namespace",cluster="$ClusterId"}) without (instance, pod) | |
CPU requests (Total) | sum(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) |
CPU limits(Total) | sum(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) |
内存 requests(Total) | sum(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) |
内存 limits(Total) | sum(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) |
CPU requests (Single Pod) | avg(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace)) by (resource) |
CPU limits(Single Pod) | avg(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace)) by (resource) |
CPU 用量 | max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by (pod, container, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) |
内存 requests(Single Pod) | avg(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace)) by (resource) |
内存 limits(Single Pod) | avg(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace)) by (resource) |
内存用量 | max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) |
CPU 使用百分比 | (max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by(container, pod, namespace)/max by(container, pod, namespace) (kube_pod_container_resource_limits{resource="cpu", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) |
(max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by(container, pod, namespace)/max by(container, pod, namespace) (kube_pod_container_resource_requests{resource="cpu", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) | |
内存使用百分比 | (max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" })/max by(container, pod, namespace) (kube_pod_container_resource_limits{resource="memory", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) |
(max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" })/max by(container, pod, namespace) (kube_pod_container_resource_requests{resource="memory", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) | |
网络流量 | sum(rate(container_network_receive_bytes_total{namespace=~"$Namespace",cluster="$ClusterId"}[5m])) by (pod, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) |
sum(rate(container_network_transmit_bytes_total{namespace=~"$Namespace",cluster="$ClusterId"}[5m])) by (pod, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) | |
磁盘 IO | max(rate(container_fs_reads_bytes_total{namespace=~"$Namespace",cluster="$ClusterId", container!=""}[5m])) by (pod,container, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) |
max(rate(container_fs_writes_bytes_total{namespace=~"$Namespace",cluster="$ClusterId", container!=""}[5m])) by (pod,container, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="StatefulSet", owner_name="$StatefulSet"}) by (pod, namespace) |
该看板用于查看指定命名空间下守护进程的监控信息,包括:CPU 信息(CPU Request、CPU Limits)、内存信息(内存 Request、内存 Limits)、网络信息、磁盘信息等。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
CPU requests (Total) | sum(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) |
CPU limits(Total) | sum(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) |
内存 requests(Total) | sum(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) |
内存 limits(Total) | sum(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} and ON(namespace, pod) kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) |
CPU requests (Single Pod) | avg(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace)) by (resource) |
CPU limits(Single Pod) | avg(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="cpu",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace)) by (resource) |
CPU 用量 | max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by (pod, container, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) |
内存 requests(Single Pod) | avg(kube_pod_container_resource_requests{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace)) by (resource) |
内存 limits(Single Pod) | avg(kube_pod_container_resource_limits{namespace=~"$Namespace",cluster="$ClusterId",resource="memory",container!=""} * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace)) by (resource) |
内存用量 | max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) |
CPU 使用百分比 | (max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by(container, pod, namespace)/max by(container, pod, namespace) (kube_pod_container_resource_limits{resource="cpu", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) |
(max(rate(container_cpu_usage_seconds_total{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" }[5m])) by(container, pod, namespace)/max by(container, pod, namespace) (kube_pod_container_resource_requests{resource="cpu", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) | |
内存使用百分比 | (max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" })/max by(container, pod, namespace) (kube_pod_container_resource_limits{resource="memory", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) |
(max by(container, pod, namespace) (container_memory_working_set_bytes{namespace=~"$Namespace",cluster="$ClusterId", container!="", image!="" })/max by(container, pod, namespace) (kube_pod_container_resource_requests{resource="memory", namespace=~"$Namespace",cluster="$ClusterId"})) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) | |
网络流量 | sum(rate(container_network_receive_bytes_total{namespace=~"$Namespace",cluster="$ClusterId"}[5m])) by (pod, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) |
sum(rate(container_network_transmit_bytes_total{namespace=~"$Namespace",cluster="$ClusterId"}[5m])) by (pod, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) | |
磁盘 IO | max(rate(container_fs_reads_bytes_total{namespace=~"$Namespace",cluster="$ClusterId" , container!=""}[5m])) by (pod,container, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) |
max(rate(container_fs_writes_bytes_total{namespace=~"$Namespace",cluster="$ClusterId" , container!=""}[5m])) by (pod,container, namespace) * ON(pod, namespace) group_left avg(kube_pod_owner{namespace=~"$Namespace",cluster="$ClusterId", owner_kind="DaemonSet", owner_name="$DaemonSet"}) by (pod, namespace) |
该看板用于查看指定命名空间下容器组(Pod)的监控信息,包括:Pod 内存信息(内存使用量、内存使用率)、Pod CPU 信息(CPU 使用量、CPU 使用率)、Pod 网络信息(流入速率、流出速率)等。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
说明
您可以查看单个容器组的监控信息,也可以选择 All,查看全部容器组的监控信息。
该看板的指标清单如下表所示。
看板名称 | PromQL 语句 |
---|---|
CPU requests | sum(kube_pod_container_resource_requests{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="cpu"}) |
CPU limits | sum(kube_pod_container_resource_limits{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="cpu"}) |
内存 requests | sum(kube_pod_container_resource_requests{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="memory"}) |
内存使用 Top 10 | topk(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)) |
内存 limits | sum(kube_pod_container_resource_limits{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod",resource="memory"}) |
CPU 使用 Top 10 | topk(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 10 | topk(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 10 | topk(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 10 | topk(10,sum(container_sockets{cluster=~"$ClusterId",pod=~"$Pod",namespace=~"$Namespace"})by(pod)) |
网络丢包 Top 10 | topk(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 10 | topk(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 10 | topk(10,sum(container_processes{cluster="$ClusterId",namespace=~"$Namespace",pod=~"$Pod"}) by(pod)) |
说明
如果您需要在托管 Prometheus 中的 Explore 功能或告警中心使用上述 PromQL 语句查看具体的指标或配置告警,请修改或删除语句中关于集群、节点、容器组的变量。例如:将 cluster=~"$Cluster"
参数中的$Cluster
变量修改为具体的集群 ID ,或直接删除该参数。
该看板用于查看指定命名空间下容器(Container)的监控信息,包括:Container 内存信息(内存使用量、内存使用率)、Container CPU 信息(CPU 使用量、CPU 使用率)等。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
说明
您可以查看单个 Container 的监控信息,也可以选择 All,查看所有 Container 的监控信息。
该看板的指标清单如下表所示。
看板名称 | 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 ,或直接删除该参数。
您可以查看命名空间下所有或指定 PVC 的监控信息,包括:容量使用率和 inode 使用率。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。
该看板的指标清单如下表所示。
看板名称 | 指标单位 | PromQL 语句 |
---|---|---|
容量使用率 | % | (kubelet_volume_stats_used_bytes{cluster="$clusterId",namespace="$namespace",persistentvolumeclaim=~"$pvc"}/kubelet_volume_stats_capacity_bytes{cluster="$clusterId",namespace="$namespace",persistentvolumeclaim=~"$pvc"})*100 |
inode 使用率 | % | (kubelet_volume_stats_inodes_used{cluster="$clusterId",namespace="$namespace",persistentvolumeclaim=~"$pvc"}/(kubelet_volume_stats_inodes{cluster="$clusterId",namespace="$namespace",persistentvolumeclaim=~"$pvc"}))*100 |
说明
如果您需要在托管 Prometheus 中的 Explore 功能或告警中心使用上述 PromQL 语句查看具体的指标或配置告警,请修改或删除语句中关于集群、节点、容器组的变量。例如:将 cluster=~"$Cluster"
参数中的$Cluster
变量修改为具体的集群 ID ,或直接删除该参数。
您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询。