コンソールベースのネットワークトラフィックモニタ「vnstat」を使ってみた
コンソールベースのネットワークトラフィックモニタツール「vnstat」を使ってみました。
時間別や日別など、様々なパターンでのモニタリングが可能なので便利だなと思いました。
インストール
パッケージでインストールします。
$ sudo aptitude install vnstat
vnstatは統計情報をカーネルから取得しているようなのでテストしてみます。
$ vnstat --testkernel This test will take about 60 seconds. [==============================] done. Detected boot time variation during test: 0 Maximum boot time variation set in config: 15 The current kernel doesn't seem to suffer from boot time variation problems. Everything is ok.
問題なさそうです。
ネットワークトラフィックデータを取得する
vnstatはデーモン(vnstatd)で定期的にトラフィックデータを取得します。
取得したデータは、/var/lib/vnstat 配下にネットワークインタフェース毎に保存されます。
パッケージでvnstatをインストールした場合、起動スクリプト(/etc/init.d/vnstat)が作成され、OSブート時に自動的に起動するようになっています。
インストール直後は起動していないので、手動起動します。
$ sudo /etc/init.d/vnstat start * Starting vnStat daemon vnstatd ...done.
(補足)
特定のネットワークインタフェースだけのトラフィックデータを取得することもできます。
eht0 のトラフィックのみを取得する場合は、以下のように実行します。
$ sudo vnstat -u -i eth0
iflist オプションで、モニタリング可能なインタフェースを確認することができます。
$ vnstat --iflist
Available interfaces: lo eth0 eth1
モニタリングする
では、実際にモニタリングしてみます。
$ vnstat rx / tx / total / estimated eth1: Nov '11 1.74 MiB / 7.77 MiB / 9.51 MiB / 10.00 MiB yesterday 1.20 MiB / 5.90 MiB / 7.09 MiB today 81 KiB / 89 KiB / 170 KiB / -- eth0: Nov '11 3.36 MiB / 128 KiB / 3.48 MiB / 0 KiB yesterday 0 KiB / 0 KiB / 0 KiB today 1 KiB / 1 KiB / 2 KiB / --
時間別でモニタリングしてみます。
$ vnstat -h eth0 05:42 ^ rt | rt | rt | rt | rt | rt | rt | rt | rt | rt -+-------------------------------------------------------------------------------------------------------> | 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 h rx (KiB) tx (KiB) h rx (KiB) tx (KiB) h rx (KiB) tx (KiB) 06 0 0 14 0 0 22 0 0 07 0 0 15 0 0 23 0 0 08 0 0 16 0 0 00 0 0 09 0 0 17 0 0 01 0 0 10 0 0 18 0 0 02 0 0 11 0 0 19 0 0 03 0 0 12 0 0 20 0 0 04 0 0 13 0 0 21 0 0 05 1 1
開発機なので、全くトラフィックでていませんが、グラフみたいに表示されます。
次に日別でモニタリングしてみます。
$ vnstat -d eth0 / daily day rx | tx | total | avg. rate -----------------------------+-------------+--------------+--------------- 11/20/11 3.35 MiB | 127 KiB | 3.48 MiB | 0.33 kbit/s 11/22/11 1 KiB | 1 KiB | 2 KiB | 0.00 kbit/s -----------------------------+-------------+--------------+--------------- estimated -- | -- | -- |
他にも、月別や週別、日別トップ10などでモニタリングできます。
各オプションは、以下のとおりになります。
$ vnstat --help (中略) -m, --months show months -w, --weeks show weeks -t, --top10 show top10 (中略)
デフォルトでは、eth0 のモニタリングをするようになっているので、他のインタフェースをモニタリングする場合は i オプションを使用します。
$ vnstat -h -i eth1
リアルタイムでモニタリングする
vnstat はリアルタイムでのモニタリングも可能です。
$ vnstat -l Monitoring eth0... (press CTRL-C to stop) rx: 2.62 Mbit/s 230 p/s tx: 48 kbit/s 116 p/s
vnStat - a network traffic monitor for Linux and BSD
How to Monitor and Log Network Traffic on Linux Using vnStat