$ su2. vnstat をインストールする
# rpm -qa | grep epel-release | wc -l
# yum -y install epel-release← epel-release が登録されていない
0
# yum -y install vnstat3. vnstat を systemd に登録し、デーモンとして動作させる
# systemctl enable vnstat4. vnstat の DB (トラフィックデータのデータベース) が作成されていることを確認する
# systemctl start vnstat
# systemctl status vnstat
# exit
$
$ ls -l /var/lib/vnstat/
DB は (トラフィックがあれば) 5 分ごとに更新される。
更新間隔を変更 (最短 1 分) できるけれど、vnstati の集計単位が Hour だったりするので、短くしても効果が出ません。
-rw-r--r--. 1 vnstat vnstat 2792 3月 4 18:20 em1 -rw-r--r--. 1 vnstat vnstat 2792 3月 4 18:50 macvtap0 -rw-r--r--. 1 vnstat vnstat 2792 3月 4 18:50 macvtap1 -rw-r--r--. 1 vnstat vnstat 2792 3月 4 18:50 virbr0 -rw-r--r--. 1 vnstat vnstat 2792 3月 4 18:50 virbr0-nic -rw-r--r--. 1 vnstat vnstat 2792 3月 4 18:50 vnet0 -rw-r--r--. 1 vnstat vnstat 2792 3月 4 18:50 vnet1
リアルタイムで監視するなら、(テキストだけれど) bmon のほうが良いと思います。
変更する場合は、こんな感じ。
# vi /etc/vnstat.conf
# systemctl restart vnstat をお忘れなく。
~ SaveInterval 1 ~ BandwidthDetectionInterval 1 ~
5-1. 現在のトラフィックを表示する場合 (テキストのみ)
$ vnstat -i macvtap0 # -i はネットワークインタフェース名を指定する5-2. サマリをグラフィックで出力する場合
Database updated: Mon Mar 4 19:14:58 2019 macvtap0 since 2019年03月04日 rx: 322.58 MiB tx: 252.31 MiB total: 574.88 MiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 3月 '19 322.58 MiB | 252.31 MiB | 574.88 MiB | 15.90 kbit/s ------------------------+-------------+-------------+--------------- estimated 2.84 GiB | 2.23 GiB | 5.07 GiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 322.58 MiB | 252.31 MiB | 574.88 MiB | 67.96 kbit/s ------------------------+-------------+-------------+--------------- estimated 401 MiB | 314 MiB | 715 MiB |
$ vnstati -i macvtap0 -vs --locale C -o summary.png
※1 vnstati は日本語を扱えないので、「--locale C」としています。(CentOS のデフォルト = 英語を指定)
※2「-o ファイル名」としても使えますが、「-o -」として標準出力を使うと別ホストから呼び出すことができます。
こんな感じ: (メールサーバの vnstati を Web サーバから呼び出す場合)
www$ ssh mail.example.jp vnstati -i eth0 -vs --locale C -o - > MailTraffics.png