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 時間分出力する様にしてファイルに記録しておくといいかも!