lxc-cpu-usageというツールを作った
VPSの上で複数のLXCを作ってRubyやnode.jsのアプリケーションサーバを動かしたり、DBサーバを動かしたりしているのですが、 稀に「このコンテナでどのくらいCPUが利用されているのだろう?」*1と調べることがあって、その時には
- 該当のLXCのinitプロセスを見つける
- そこにぶら下がっているプロセスを確認
- それらのプロセスがどのくらいCPUを使っているか知る
といったことをやっていたので、その辺りをさっくりできるツールを作ってみました。nodeで作ってます。初npm登録。
$ npm install -g lxc-cpu-usage
でLXCが稼働しているホストにインストール。
その上でコンテナ名を引数で渡してやるとそのコンテナで動いているプロセスを列挙してCPU利用率を取得してくれます。
例えば、manage001というコンテナが稼働しているのであれば
$ lxc-cpu-usage -n manage001 -v lxc-cpu-usage - Target LXC:manage001, Target PID:9844 ------------------ PID %CPU 10002 0.01 21669 0.03 (snip) 23340 0.06 23349 0.00 ------------------ Processes: 16, CPU usage: 0.16
といった具合で指定したコンテナ内で稼働しているプロセスの一覧とその合計を得ることができます。
誰得感ありますが、コンテナの稼働率見ると、動いているアプリケーションの働いている感を感じられて幸せになれます。
参照
*1:深い意味は無くて、本当に興味でみることが大半...