Linuxのトラフィック統計をシンプルにグラフ化できる「darkstat」
パケットをキャプチャして解析するソフトはいろいろとありますが、この「darkstat」はその中でも至ってシンプルでなおかつ軽量なのがウリ。シンプルとは言ってもちゃんと内蔵されたミニサーバ経由で直近60秒から直近31日間のグラフを見ることができたり、接続している各ホストについて転送量の確認、さらには各ホストの開いているポートやプロトコル別の統計まで表示可能です。
無線LANアクセスポイントを拡張するファームウェア「OpenWrt」などにも採用されており、なかなかいい感じ。
詳細は以下から。
darkstat
http://dmr.ath.cx/net/darkstat/
このように接続しているホスト別の統計も可能
各ホストのさらなる詳細表示までできる
実際に使ってみるには、まずファイルをダウンロード
wget http://dmr.ath.cx/net/darkstat/darkstat-3.0.707.tar.bz2
展開します。
tar jxf darkstat-3.0.707.tar.bz2
ディレクトリを移動。
cd darkstat-3.0.707
そしてインストール、あっという間に完了です。
./configure; make; make install
なお、libpcapがないと「configure: error: can't find usable libpcap」などのエラーが出るので、その場合にはちゃんと事前にlibpcapをインストールしておいてからやり直すと問題なくインストールできます。
RPMでインストールしたい場合には以下に一通りそろっています。
DAG: darkstat RPM packages for Red Hat, CentOS and Fedora
とりあえず起動して、出入りするトラフィックすべてを監視するには以下のようにします。
darkstat -i eth0
すると以下のように表示されます。
darkstat 3.0.707 (built with libpcap 2.4)
darkstat (12722): starting up
darkstat (12722): daemonizing to run in the background!
darkstat (12723): I am the main process
darkstat (12724): set uid/gid to 99/99
darkstat (12723): DNS child has PID 12724
darkstat (12723): caplen is 54
darkstat (12723): capturing in promiscuous mode
darkstat (12723): listening on 0.0.0.0:667
darkstat (12722): parent waiting
darkstat (12723): loaded 129 protos
darkstat (12723): loaded 253 tcp and 217 udp servs, from total 477
darkstat (12723): chrooted into: /var/empty
darkstat (12723): set uid/gid to 99/99
darkstat (12723): local_ip update(eth0) = ***.***.***.**
darkstat (12723): entering main loop
darkstat (12722): parent done reading, calling waitpid
darkstat (12722): waitpid ret 0, status is 134533031
3行目の表示、「daemonizing to run in the background!」はサービスが自動的にデーモンとして動作したことを示しており、4行目の「12723」がPIDとなります。そのため、停止させる場合には
kill -9 12723
とするか、
killall darkstat
とすれば停止できます。
あとは「http://そのサーバのIPアドレス:667」として接続すればグラフなどを見ることができるというわけ。
また、Linux.comの解説によると、「-p」で667以外のポート番号に変更したり、「-f」で特定のポート番号だけを監視したりすることも可能らしい。SSHの22番ポートのみを監視するには以下のようにする。
darkstat -i eth0 -l 192.168.0.0/255.255.255.0 -f "port 22"
マニュアルを読むと、統計結果をテキストファイルに出力するなども可能っぽい。いろいろと幅広く応用可能なようです。
・関連記事
Windowsで動作するオープンソースなシステム監視「HealthMonitor」 - GIGAZINE
フリーのサーバ、ネットワークなどの総合監視ソフト「ZABBIX」日本語版 - GIGAZINE
複数のサーバをモニタリングするソフトウェア群「BixData」 - GIGAZINE
MRTGよりお手軽に負荷やトラフィックをグラフ化できる「Munin」 - GIGAZINE
Muninをカスタマイズして表示されるグラフの種類を増やしてみる - GIGAZINE
MuninでMySQLのグラフが表示されない場合の対策 - GIGAZINE
1秒で10万行を処理するフリーの超高速なログ解析ソフト「Visitors」 - GIGAZINE
Linuxの各種コマンドのチートシートに日本語版登場 - GIGAZINE
・関連コンテンツ