docker度量存在于不同环境或版本的不同位置



我需要收集诸如cpu、内存和I/O之类的docker度量,但我注意到在我的Ubuntu 14.04上,度量的位置与我的CoreOs系统中的位置不同:

例如:

ubuntu中的docker cpu指标位于以下位置:

/sys/fs/cgroup/cpuacct/docker/<dockerLongId>/cpuacct.stat

CoreOs的docker cpu指标位于以下位置:

/sys/fs/cgroup/cpuacct/system.slice/docker-<dockerLongId>.scope/cpuacct.stat

你知道支持这两种环境的最佳方式是什么吗?

这方面存在许多问题。从CoreOS与Ubuntu的比较开始,这是因为在Ubuntu上没有使用systemd切片。

人系统切片

最后,控制组被设计为可配置的。在任何给定的时间,都可以通过在不同的cgroup之间移动PID来重新配置进程。本质上会有少量不可预测的行为。对于由各自的init系统启动的进程,这些模式应该是稳定的。

检测应该使用哪种方法的最佳方法是读取/etc/os-release。这个文件的目的是提供一个稳定的方法,不仅可以确定发行版,还可以确定版本。

最新更新