CLIマジック:何かと使えるネットワーク監視ツール

 Linuxはネットワーク管理にもってこいのプラットフォームだ。ネットワークのトラフィックを監視したければ、Webインタフェースでアクセス可能なものからグラフィカルインタフェースを使ったものまで、そのためのツールが豊富にある。また、シェルスクリプトを使うならコマンドラインツールが便利だ。複雑なタスクを楽に実行できる。ここでは、お勧めのネットワークトラフィック監視ツールをいくつか紹介しよう。

atop はネットワークトラフィックのほか、CPU使用率、メモリ使用量、プロセスリストといった役に立つ情報を表示してくれるシステム/プロセスマネージャだ。いくつかのオプションを起動時に渡せる。たとえば、ネットワークに関する情報を「/var/log」内のログファイルに保存するには、「atop -N > /var/log/atopnet.log」とする。

 このアプリを使ってTCPの送受信要求やTCP/UDPで送受信されたバイト数を表示するなら、Linuxカーネルのソースにパッチを当てる必要がある。2つあるパッチのうち、2番目のパッチは、atop起動時に終了プロセスに関するデータを自動的に表示してくれるものだ。

  bmon はネットワーク接続の帯域幅を監視するツールだ。特定または複数のネットワークカードを選択的に監視できるほか、ダウン状態にあるインタフェースを監視することもできる(-aオプションを使用)。結果の表示にはASCIIモードとcursesライブラリのどちらかが使える。HTMLファイルへの統計情報の書き出しも可能だ。オプションを何も指定せずに起動すると、インタフェースの統計情報がncursesを使って出力され、利用可能なすべてのネットワーク接続が表示される。起動後は、「g」キーを押すとグラフィカルモードになり、「d」キーで詳細な統計情報が表示される。サーバにサブインタフェースが存在する場合は、「f」キーを押せばその情報が表示される。

 

bmonのすばらしい特徴の1つは、rtnetlinkを使って得られるインタフェースの統計情報をprocまたはsysファイルシステムに提供できることだ。たとえば、「bmon -i eth1,eth4 -o curses」のようにしてbmonを起動すると、指定したネットワークカードの情報だけをcursesモードで監視できる。インタフェース名の指定にはワイルドカードが使える。HTML形式で出力する場合は、「/etc/bmon.conf」でHTML出力モジュールを有効にしたうえで「-o html」オプションを付けてbmonを実行すればよい。

 まだ割り当てられていないキーをシェルスクリプトにバインドできるコマンドも用意されている。たとえば、eth0をすぐにダウンさせる必要がある場合、このインタフェースをシャットダウンするスクリプトを作成し、それを「bind <キー> /path/to/script 」でbmonにリンクさせることでこの操作にキーを割り当てることができる。

  bwmon はbmonとよく似たツールだが、オプションが限定されている。やはり、帯域幅の使用状況をcursesモードで表示するもので、オプションとしては、ブートしてからの平均帯域幅使用量(-a)の表示、bwmon起動後の最大帯域幅使用量の表示(-m)、更新間隔の指定(-u <時間>)がある。

  netwatch はネットワークの監視に重宝するツールで、個人的にかなり気に入っているものの1つだ。外部と通信中のIPアドレスまたはホスト名だけでなく、どのポートが使われているかも表示してくれる。netwatchのありがたさがよくわかるのは、インターネットから大きなファイルを絶えずダウンロードするユーザがいる中小規模のオフィスのネットワーク管理者だろう。帯域幅利用量に関する警告をメールで送信できるほか(-u <対象ユーザ>オプションを使用)、特定のパケットまたは全パケットのログを取ることができる。

  speedmeter は、ここまでに紹介したものとは少し毛色の違ったツールだ。ネットワークトラフィックだけでなく、特定のファイル転送の速度と進行状況を測定してくれる。たとえば、自分の管理しているサーバからファイルがダウンロードされる速度とリアルタイムでのダウンロード状況を確認したいする。そんなときは「speedmeter <ファイル名>」とすれば、転送速度を示すプログレスバーが表示される。RX(受信)とTX(送信)の各速度をインタフェースごとに表示することもできる(それぞれ「-rx <インタフェース>」、「-tx <インタフェース>」を使用)。また、ADSL回線の上り速度、LANの転送速度、サーバへのファイル送信の所要時間の確認にも使える。

 私がspeedmeterを使うのは、ある顧客にサイトのバックアップを送る必要があるときだ。バックアップをとった.bz2ファイルへのリンクをメールで送り、彼にアクセスしてもらう。speedmeterによってファイルのコピーが終了したことがわかるので、あとはファイルをマルチセッションDVDに焼く方法の詳細をメールで送るという具合だ。

 ネットワークの監視に役立つツールはまだまだたくさんある。そうしたツールを利用して帯域幅を有効に使いたいものだ。

Razvan T. ColojaはLinuxおよびITに関連した記事を執筆しており、これまでに150本以上が通常の雑誌とオンライン雑誌に掲載されている。ルーマニアの雑誌のエディタを務めるほか、ルーマニアのLinux/OSSポータル・コミュニティサイトwww.mylro.orgの管理者兼エディタでもある。

Linux.com 原文