トラブル対応時に便利なdstat。オプションが多くて忘れるので、いざというときにすぐ使えなくて困る。
以下のようなエイリアスを普段から作っておくと便利。
出力と同時にログファイルに保存したい
alias dstat-full='sudo dstat -Ttcglypmdrn --output /var/log/`date +dstat_%Y%m%d-%H%M%S.csv`'
/var/log/dstat_開始時刻.csv
にログを自動保存してくれる。
CPUコア単位での出力を保存したい
コア単位のCPU使用率も見たいときはこれ。CPUコア数は nproc
コマンドで自動取得するので、CPUコアがいくつあっても大丈夫。(コア数が多いと表示が切れてリアルタイム監視には向かないけど)
alias dstat-full-cpu="sudo dstat -Ttcglypmdrn -Ctotal,$(seq 0 $(( `nproc` - 1 )) | xargs | tr ' ' ,) --output /var/log/\`date +dstat_%Y%m%d-%H%M%S.csv\`"
dstat でコア毎のCPU使用率を出力したいときは、-Ctotal,0,1,2,..
のようにオプション指定しなくてはならず、面倒。
なので、以下のようなワンライナーを組み込んでCPUコアの分だけ 0,1,2,...
という文字列を生成するようにした。
$(seq 0 $(( `nproc` - 1 )) | xargs | tr ' ' ,)
色つきで保存したい
dstatの色つき出力をそのまま保存したいときはこちら。
alias dstat-full-color='sudo unbuffer dstat -Ttcglypmdrn | sudo tee /var/log/`date +dstat_%Y%m%d-%H%M%S.log`'
dstatの出力をそのままパイプで tee
に渡してしまうと、エスケープシーケンスが除去されてしまうので、unbuffer
コマンドをつかう。
unbuffer
は expect
パッケージに入っているので、yum でインストールしておく。