dstat でトラフィック等モニタリング

CentOS5.7 で ディスク IO、ネットワークトラフィックなどをモニタリングしたい。

いろいろなツールがあるようだが、dstat*1 が便利そう*2なので、使ってみる。

インストール

# yum -y install dstat
(中略)
Installed:
dstat.noarch 0:0.6.6-3.el5_4.1

使う

ひとまずオプションなし、1秒おきに表示してみる

# dstat 1
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
15 3 80 0 0 2| 45k 224k| 0 0 | 1B 332B|1207 358
0 0 100 0 0 0| 0 0 | 120B 342B| 0 0 |1001 26
0 1 98 0 0 1| 0 0 | 60B 358B| 0 0 |1024 55

CPU、ディスクIO、ネットワークトラフィック、ページング、CPUの状態が表示されている。
結果がカラフルに色分けされている。使用量が少ない順に、白(0)→赤→緑→水、、かな。

どんなオプションが指定できるか

# dstat -h

列挙しようかと思ったけど、こちらにバッチリ訳されているのでそちらを参照のこと。

時間をつけてファイル出力する

別のログ突き合わせて使用できるよう、以下のオプションを指定してみた
-t 時間を出力
-a CPU、ディスクIO、ネットワークIO、ページング、システム状態を出力(デフォルトと同じ)
--noheaders ヘッダは1回のみ出力
--output CSVファイル形式で出力

# dstat -ta --noheaders --output dstat.log
-----time----- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
date/time |usr sys idl wai hiq siq| read writ| recv send| in out | int csw
15-01 22:08:43| 15 2 80 0 0 2| 44k 220k| 0 0 | 1B 325B|1203 351
15-01 22:08:44| 0 0 100 0 0 0| 0 0 | 120B 374B| 0 0 |1020 60
15-01 22:08:45| 0 0 100 0 0 0| 0 0 | 60B 390B| 0 0 |1002 32

ファイル出力例

"Dstat 0.6.6 CSV output"
"Author:","Dag Wieers ",,,,"URL:","http://dag.wieers.com/home-made/dstat/"
"Host:","cent5",,,,"User:","root"
"Cmdline:","dstat -ta --noheaders --output dstat.log",,,,"Date:","15 Jan 2012 21:19:27 JST"

"time","total cpu usage",,,,,,"dsk/total",,"net/total",,"paging",,"system",
"date/time","usr","sys","idl","wai","hiq","siq","read","writ","recv","send","in","out","int","csw"
15-01 21:19:27,15.797,2.612,79.060,0.085,0.383,2.063,49647.648,236198.176,0.0,0.0,0.0,357.784,1213.051,365.931
15-01 21:19:28,63.0,20.0,0.0,0.0,3.0,14.0,8192.0,679936.0,49500.0,252940.0,0.0,0.0,2473.0,2332.0
15-01 21:19:29,66.337,16.832,0.0,0.0,2.970,13.861,8192.0,270336.0,47880.0,247402.0,0.0,0.0,2414.0,2252.0
15-01 21:19:30,65.0,17.0,0.0,0.0,3.0,15.0,8192.0,638976.0,47460.0,243594.0,0.0,0.0,2411.0,2231.0

CSVなので、手軽にグラフ化できるね。