CubicLouve

Spring_MTの技術ブログ

Dockerコンテナのリソース利用状況をコンテナ内から把握する

dockerには docker stats というコマンドが用意されており、ホストからdockerコンテナの状態を知ることができます。

docs.docker.com

www.datadoghq.com

crate.io

ホストからこのコマンドを叩けばdockerコンテナのリソース利用状況の一覧を取得できます。

またこの docker stats 相当のREST APIも提供されております。

docs.docker.com

ホストからこんな感じでも情報を取得可能です。

curl --unix-socket /var/run/docker.sock http://localhost/containers/CONTAINER_ID/stats

dockerコンテナ内からこの値も参照したい場合の方法

ホストからは参照できますが、dockerコンテナ内からも参照したいときがあるかもしれません。

その場合は、dockerコンテナ内のファイルを読み込むことで参照もできます。

cat /proc/self/mountinfosys のmount先などを確認します。

gihyo.jp

それで、下記などを見てなんとなくファイルを特定します。

github.com

github.com

例はこんな感じです。

# cat /sys/fs/cgroup/cpu/cpu.stat 
nr_periods 9798
nr_throttled 88
throttled_time 1975163917

参照

https://www.kernel.org/doc/Documentation/cgroup-v1/