ifstatって便利そうなの見つけたのでついでに*statを紹介

今更感もありますがすごい便利そうなツール発見。ネットワークインターフェイスのトラフィックを簡単にモニタリングできるツール。

CentOSとかだったらrpmforgeにあるみたいなので、こんな感じで。(レポジトリ設定してなければ適当に)

yum install --disablerepo=* --enablerepo=rpmforge ifstat

チーミングしてる環境で出してみるとこんな感じ。-iで並び順も指定できたり、-bでKbpsにできる。vmstatと違って-tでtimestampも出せるのでこれ単体で便利に使えそうですね。ちなみにLinuxの場合/proc/net/devを使ってるそうです。

*stat系のツール

便利ですよね。パッとサーバに入って今起きている問題を分析するのにこれらのツールを使うのは有用です。topしか見ない人は覚えておくといいですよ。

vmstat

とりあえず何が起きているかをパッと俯瞰するのに一番便利。何はなくともvmstatを見るべし。

iostat -x

io系の情報を見るときに利用。-xと付けることで拡張してくれて、DISKのbusy率なども出せる。

mpstat -P ALL

全体的なcpu使用率は高くないのに何かおかしい時とかにこれを使ってプロセッサ単位で見てみる時に利用。

dstat -f

正直これはさっき知ったんですが、色々色つきでまとめて表示してくれて便利ですね。@n0tsさんの記事はこちら

netstat -taopn

ちょっとこれは毛色が違うんですが名前的に。他の*statとは違ってその時のスナップショットになります。

netstatは色々オプションありますが、僕がよく使うのはこれ。TCPだけにしてListenも出してタイマーも出してPIDも出す感じです。最後のnはアドレスとポート番号をそのまま出すため。付けないと全部名前解決しようとするので遅い。PIDとポートを組み合わせると、「あるサーバにログインしておかしなコマンドを発行している人のIPアドレス」とかをたどっていけたりします。「犯人はお前だ!」的な。

enjoy!

top系のツールと違って、*stat系のツールはログに出しておけるので、問題を後から分析するときに便利ですよね。どのコマンドもCMD 1 10とかやると1秒インターバルで10回出して終了、とかが多分できますので、毎日00:00:00に起動して24時間分出力する様にしてファイルに記録しておくといいかも!