LoginSignup
116
104

More than 5 years have passed since last update.

Dockerコンテナのメトリクス監視してますか?

Last updated at Posted at 2017-07-31

どうも僕です。タイトルどおりです。
Dockerコンテナのメトリクス監視してますか???

本番環境ならDataDogとかそのへんで監視していてもローカル環境のやつ確認してないこと多くないですか?

※ 僕はしてないです。dd-agentローカルにも入れれば終わりじゃんって話なんですが、なんかあれじゃないですか。。。

監視してなかったお陰で、高負荷時に突然死する原因を調査したい場合に、無事頭を抱えました。(原因はメモリ枯渇してた)

そこで、コンテナ名, コンテナID, CPU, MEM, NET RX/TX, IO R/W, PIDS 情報が見れたらいいのになーを調べてたらさくっと見れることに気づいたので記事にまとめておきます。

やりたかったのはこういうやつです。
expanded.gif

本家の付随機能を利用する

コンテナのリソース使用状況をライブで流し続ける

使い方

docker stats [オプション] [コンテナ...]

オプション

名前, 省略形 デフォルト 説明
--all, -a false 全てのコンテナを表示(デフォルトは実行中のみ)
--format Goテンプレートで整えて表示
--no-stream false ストリームを無効化し、初回結果のみ表示

フォーマット

プレースホルダー 説明
.Container コンテナ名 もしくは コンテナID(user input)
.Name コンテナ名
.ID コンテナID
.CPUPerc CPUパーセンテージ
.MemUsage メモリ使用量
.NetIO ネットワークIO
.BlockIO ディスクIO
.MemPerc メモリパーセンテージ(Windowsは使用不可)
.PIDs PID番号(Windowsは使用不可)

使用例

$ docker stats
CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
77dd929886dd        0.01%               41.3MiB / 995.8MiB    4.15%               648B / 0B           315kB / 0B          12
68e984e2c6a4        0.07%               225.9MiB / 995.8MiB   22.69%              648B / 0B           2.04MB / 12.9MB     27
$ docker stats --format "table {{.ID}}\t{{.CPUPerc}}\t{{.MemUsage}}"
CONTAINER ID                                                       CPU %               MEM USAGE / LIMIT
77dd929886dd8a6e75ee2a53624431186ec43f60d446067ad57b94641ce22912   0.01%               41.3MiB / 995.8MiB
68e984e2c6a4024f3d85ddc46252a433098573935baebe269567fa5a65848d37   0.05%               225.9MiB / 995.8MiB

ctopを使う

topライクなコンテナのメトリクス監視

使い方

デフォルトでDOCKER_HOSTを使用します。connectorオプションを使うことでDocker or RunCに対応することができるみたいです。(デフォルトでしか試していないです)

$ ctop [オプション]

オプション

名前 説明
-a 起動してるコンテナのみ表示
-connector 使用するコンテナコネクタを設定(docker, runc)
-f 初期のフィルター文字列を設定
-h ヘルプ表示
-i デフォルトの色を反転
-r コンテナの逆順ソート
-s 初期のコンテナのソートフィールド選択(cpu, id, io, mem, mem %, name, net, pids, state)
-v バージョン情報

キーバインド

名前 説明
a 全コンテナ表示と起動してるコンテナ表示の切り替え
f 表示するコンテナのフィルター
H ctopのヘッダー表示の非表示の切り替え
h ヘルプ表示
s ソートフィールドの変更
r コンテナの逆順ソート
q 終了

使用例

公式のdocから引用してます。

grid.gif

詳しく見たいコンテナを選んでenterを押すと

expanded.gif

まとめ

デフォルトの機能でもできるけど若干見づらいのでグラフィカルに調査したい場合はctop使いましょう!もちろん開発環境の話です。

116
104
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
116
104