【问题标题】:How to get iostats of a container running in a pod on Kubernetes?如何获取在 Kubernetes 的 pod 中运行的容器的 iostats?
【发布时间】:2021-07-28 16:10:46
【问题描述】:

可以使用 prometheus 跟踪容器的内存和 cpu 资源。但是我们可以跟踪容器的 I/O 吗?有可用的指标吗?

【问题讨论】:

  • 可能是docker stats --no-stream

标签: kubernetes prometheus


【解决方案1】:

如果您使用的是 Docker 容器,您可以使用docker stats 命令检查数据(如评论中提到的P...)。 Here你可以找到更多关于这个命令的信息。

如果您想在不安装任何第三方工具的情况下检查 pod 的 cpu/内存使用情况,那么您可以从 cgroup 获取 pod 的内存和 cpu 使用情况。

  1. 进入 pod 的执行模式 kubectl exec pod_name -- /bin/bash
  2. 转到cd /sys/fs/cgroup/cpu 以获取CPU 使用率运行cat cpuacct.usage
  3. 转到cd /sys/fs/cgroup/memory 以了解内存使用情况运行cat memory.usage_in_bytes

更多信息请查看similar questionHere 你可以找到另一个有趣的问题。你应该知道,那个

pod 内的容器与主机系统部分共享/proc,包括有关内存的路径和 CPU 信息。

另见这篇关于Memory inside Linux containers的文章。

【讨论】:

    猜你喜欢
    • 2015-08-18
    • 2020-05-13
    • 2019-07-21
    • 2022-08-23
    • 2021-04-26
    • 2019-11-22
    • 2020-03-07
    • 2016-07-09
    • 2020-11-22
    相关资源
    最近更新 更多