🗿
cAdvisor でコンテナの LoadAverage の取得を有効にする
デフォルトで取得できると思っていて油断していました。
結論
--enable_load_reader=true
を起動オプションに追加する。
たとえば以下のような形。
/usr/bin/docker run --name cadvisor --rm --net=host\
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
google/cadvisor:v0.33.0 --enable_load_reader=true
--net=host
オプションを指定しているのは、cAdvisor で他コンテナの Load Average を取得するためには以下の条件が必要なためです。
- ホストネットワーク内で起動させる (--net=host を指定する)
- cAdvisor をHostコンピューター上で直接起動する
条件を満たさずに起動すると以下のようなエラーが出力されます。
Could not initialize cpu load reader: failed to create a netlink based cpuload reader: failed to get netlink family id for task stats: netlink request failed with error errno 0
ref. 関連する議論
そのほかの cAdvisor オプション
以下の ReadMe に、指定可能なオプションの一覧が記述されています。
Discussion