繁体   English   中英

可视化 K8S CPU 资源 Prometheus 和 Grafana

[英]Visualizing K8S CPU resources Prometheus and Grafana

我是 Prometheus 和 Grafana 等监控工具的新手,我想创建代表当前requests and limits resources和使用的仪表板。 此外,这个 pod 里面有 2 个容器。

我的第一个容器的资源如下所示:

 resources:
    requests:
      cpu: "3800m"
      memory: "9500Mi"
    limits:
      cpu: "6500m"
      memory: "9500Mi"

对于第二个容器:

resources:
   limits:
     cpu: 100m
     memory: 100Mi
   requests:
     cpu: 50m
     memory: 50Mi

在 Prometheus 中执行此查询时:

rate(container_cpu_usage_seconds_total{pod=~"MY_POD"}[5m])我得到: 在此处输入图像描述 老实说,我不知道这些返回的数据对资源是否有效。 在 Grafana 上,它看起来像这样: 在此处输入图像描述

此外,我想向仪表板添加有关requests and limits的信息,但我不知道如何缩放仪表板以显示所有数据。

当我执行此查询时: kube_pod_container_resource_requests{pod=~"MY_POD"}我得到:

在此处输入图像描述

与我的资源相比,这看起来很有效。 我也有适当的限制值,但我想在仪表板上表示所有这些数据(使用情况、请求、限制)。 有人可以给我任何提示如何实现这一目标吗?

很简单,只需再添加 2 个查询

如果您不知道在哪里添加,请在 Metrics Browser 和 Options 选项卡下找到 + 符号以添加更多查询

container_cpu_usage_seconds_total这个指标是一个计数器,它会给你核心的 CPU 使用率。

kube_pod_container_resource_requests{pod=~"MY_POD"}kube_pod_container_resource_limits{pod=~"MY_POD"} 如果它只有一个 Pod 意味着没有问题。 但是,如果您有多个 Pod,则意味着尝试使用Sum

  • 查询 A: sum(rate(container_cpu_usage_seconds_total{pod=~"MY_POD"}[5m]))
  • 查询 B: sum(kube_pod_container_resource_requests{pod=~"MY_POD"})
  • 查询 C: sum(kube_pod_container_resource_limits{pod=~"MY_POD"})

如果没有太多细节,这看起来不错,对于更多细节,如容器明智的数据,只需为容器的请求、限制和使用情况再创建三个面板,并在每个查询之后添加by(container)

另一种方法:

为 Pod 和容器创建变量,以便您可以 select 您想要查看的容器并在单个面板中添加 3 个查询,以便面板看起来更动态且噪音更少

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM