0

我正在尝试使用 prometheus 和 grafana 在家庭实验室中使用使用 minikube 部署的单节点 kubernetes 设置一些图表。我还有一些要在集群上使用的压力测试。我想使用 prometheus 测量压力测试的结果,所以我需要以下查询的帮助:

  • 在一段时间内(即 5 分钟),节点/集群以及来自和单个 pod 的 cpu 使用情况。
  • 在一段时间(即 5 分钟)内,按给定名称显示的节点/集群以及来自和单个 pod 的内存使用情况。
  • 在一段时间(即 5 分钟)内,节点/集群以及来自给定名称的单个 pod 的磁盘或文件系统使用情况。
  • 在一段时间内(即 5 分钟),来自给定名称的单个 pod 的延迟。

如果有任何帮助,或者知道 grafana 仪表板(我已经尝试过 737 和 6417),或者提示我需要咨询哪些指标(我已经尝试过rate(container_cpu_usage_seconds_total[5m]),这给了我某种结果用于整个节点的 cpu 使用情况查询)。

4

1 回答 1

0

您可以使用 Prometheus 的标签来获取特定 pod 的指标:

CPU(您不必提供所有标签,如果它是唯一的,则只能选择一个:

sum(rate(container_cpu_usage_seconds_total{pod=~"<your_pod_name>", container=~"<your_container_name>", kubernetes_io_hostname=~"<your_node_name>"}[5m])) by (pod,kubernetes_io_hostname)

内存

sum(container_memory_working_set_bytes{pod=~"<your_pod_name>", container=~"<your_container_name>", kubernetes_io_hostname=~"<your_node_name>"}) by (pod,kubernetes_io_hostname)

磁盘

kubelet_volume_stats_used_bytes{kubernetes_io_hostname=~"<your_node_name>$", persistentvolumeclaim=~".*<your_pod_name>"}

延迟

您可以在您的应用程序(Web 服务器)中收集它吗?通过 Prometheus 客户端(应用程序级别)

于 2021-04-16T08:31:11.557 回答