【问题标题】:Prometheus queries to get the cpu and memory request of only pods which are in running statePrometheus 查询仅获取处于运行状态的 Pod 的 CPU 和内存请求
【发布时间】:2019-03-29 06:16:24
【问题描述】:

在我的 kubernetes 集群中,我有一些正在运行的 pod 和许多处于“已完成”状态的 pod。我使用查询,例如, kube_pod_container_resource_requests_cpu_cores{namespace="default"} 获取默认命名空间中 Pod 的 cpu 请求。这给了我所有 pod 的 cpu 请求。但是,我想要的只是处于“运行”状态的 pod 的 cpu 请求。知道如何实现这一目标吗?谢谢

【问题讨论】:

    标签: kubernetes prometheus


    【解决方案1】:

    请尝试以下查询:

    kube_pod_container_resource_requests_cpu_cores{job="kube-state-metrics"} * on (endpoint, instance, job, namespace, pod, service) group_left(phase) (kube_pod_status_phase{phase=~"^(Pending|Running)$"} == 1)
    

    它利用Prometheus matching operator 来选择带有正则表达式匹配的标签 - 这里只有处于运行或待定状态的 Pod。

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 2020-09-01
      • 2021-05-09
      • 1970-01-01
      • 2019-06-29
      • 2019-07-26
      • 2021-12-23
      • 2019-12-22
      • 2019-05-04
      相关资源
      最近更新 更多