Kubernetes之kubeadm集群监控篇—prometheus 查询语句

Prometheus 中获取数据通过 query 进行查询,而 query 的写法是满足 ProQL 的语法。

这里大致介绍下 ProQL 的大致规则:

  • metrics_name:指标名,即CPU、内存、IO这些具体的指标项;
  • metrics_label :指标标签,即通过标签对某个指标名进行过滤。
  • metrics_value :用指标名+标签查出来的结果。

指标名与指标标签的写法如下:

metrics_name{metrics_label1="xxx", metrics_label2="yyy"}
k8s Pod CPU 使用率
query = sum by(pod_name) (rate(container_cpu_usage_seconds_total{pod_name=~"$pod_name"}[1m]))  //CPU使用率,单位%

举例:

  • Prometheus 查询语句
 sum by(pod) (rate (container_cpu_usage_seconds_total{pod!=""}[1m]))
  • granafa 查询语句
 (rate (container_cpu_usage_seconds_total{pod!=""}[1m]))
k8s Pod 内存 占用
query = sum by(pod_name) (container_memory_working_set_bytes{pod_name=~"$pod_name"}) / 1048576 //内存使用率,单位MiB
  • Prometheus 查询语句
sum by(pod) (container_memory_rss{pod!=""})/1024/1024/1024  //内存使用率,单位GB
  • granafa 查询语句
container_memory_rss{pod!=""}/1024/1024/1024
k8s node 内存使用率 (%)
 ceil(node_memory_Active_anon_bytes{job="kubernetes-nodes"}/node_memory_MemTotal_bytes*100)
k8s node cpu使用率 (%)
(1-(sum(increase(node_cpu_seconds_total{mode="idle",instance=~"k8s-.+"}[1m]))by(instance))/(sum(increase(node_cpu_seconds_total[1m]))by(instance)))*100
k8s apiserver组件总请求数
sum by(instance) (rate(apiserver_request_total[1m]))
k8s各组件状态(个数)
sum(kube_pod_container_status_running{namespace="kube-system"})by(container)
k8s 各namespace pod 数
count(kube_pod_container_status_running)by(namespace)

猜你喜欢

转载自blog.csdn.net/cljdsc/article/details/134717575