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)→赤→緑→水、、かな。
時間をつけてファイル出力する
別のログ突き合わせて使用できるよう、以下のオプションを指定してみた
-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なので、手軽にグラフ化できるね。