ネットワーク監視 · 5 min read · Nov 11, 2025

Ubuntu 22.04でvnStatを使用してネットワークトラフィックを監視する方法

vnStatは、Linuxオペレーティングシステム用の無料でオープンソースのコンソールベースのネットワークトラフィック監視ツールです。vnStatを使用すると、さまざまな期間にわたってネットワーク統計を監視できます。シンプルで軽量であり、システムリソースのごく一部を消費します。vnStatを使用すると、1時間、1日、1ヶ月、1週間、1日ごとのネットワークトラフィックデータを生成できます。このチュートリアルでは、vnStatをインストールしてネットワークトラフィックを監視する方法を説明します。

機能

  • 複数のインターフェースを同時に監視。
  • 日ごと、週ごとなど、いくつかの出力オプションを提供。
  • データを時間、日、月、または週ごとにソートするか、トップ10日を取得。
  • 画像形式で出力を生成できます。
  • 複数のネットワークインターフェースを同時に監視。
  • 軽量でCPU使用率が低い。

このチュートリアルでは、Ubuntu 22.04でネットワークトラフィックを監視するためにVnStatツールをインストールして使用する方法を説明します。

前提条件

  • Ubuntu 20.04を実行しているサーバー。
  • サーバーにルートパスワードが設定されている。

始めに

始める前に、すべてのシステムパッケージを最新バージョンに更新およびアップグレードすることをお勧めします。次のコマンドを使用してすべてを更新できます:

apt update -y  
apt upgrade -y

すべてのパッケージが更新されたら、次のステップでソースからVnStatをインストールできます。

vnStatのインストール

デフォルトでは、UbuntuのデフォルトリポジトリにはvnStatの最新バージョンはありません。したがって、ソースからコンパイルする必要があります。

まず、次のコマンドを使用してvnStatをコンパイルするために必要なすべての依存関係をインストールします:

apt-get install build-essential gcc make libsqlite3-dev -y

すべての依存関係がインストールされたら、次のコマンドを使用してvnStatソースの最新バージョンをダウンロードします:

wget https://humdi.net/vnstat/vnstat-2.10.tar.gz

ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します:

tar -xvzf vnstat-2.10.tar.gz

次に、抽出されたディレクトリに移動し、次のコマンドを使用して構成します:

cd vnstat-2.10  
./configure --prefix=/usr --sysconfdir=/etc

次に、次のコマンドを実行してvnStatをインストールします:

make  
make install

vnStatがインストールされたら、次のコマンドを使用してインストールされたvnStatのバージョンを確認できます:

vnstat -v

次の出力が得られるはずです:

vnStat 2.10 by Teemu Toivola 

完了したら、次のステップに進むことができます。

Systemdを使用してVnStatを管理する

SystemdでVnStatを管理するには、vnStatソースからvnStat systemdサービスファイルを/etc/systemd/system/ディレクトリにコピーする必要があります:

cp -v vnstat-2.10/examples/systemd/vnstat.service /etc/systemd/system/

次に、次のコマンドを使用してvnStatサービスを有効にし、開始します:

systemctl enable vnstat  
systemctl start vnstat

次のコマンドを使用してvnStatサービスの状態を確認することもできます:

systemctl status vnstat

次の出力が得られるはずです:

? vnstat.service - vnStat network traffic monitor
   Loaded: loaded (/lib/systemd/system/vnstat.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-11-29 08:34:08 IST; 2h 49min ago
     Docs: man:vnstatd(1)
           man:vnstat(1)
           man:vnstat.conf(5)
 Main PID: 1730 (vnstatd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/vnstat.service
           ??1730 /usr/sbin/vnstatd -n

Nov 29 08:34:08 vyompc systemd[1]: Started vnStat network traffic monitor.
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: vnStat daemon 1.18 started. (pid:1730 uid:122 gid:128)
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: Monitoring: enp20s0 (1000 Mbit) wlp22s0 (1000 Mbit)

完了したら、次のステップに進むことができます。

vnStatを使用してネットワークトラフィックを監視する方法

vnStatは、ネットワークトラフィックを監視するためのいくつかのオプションを提供します。次のコマンドを使用して、利用可能なすべてのオプションをリストできます:

vnstat --help

次の出力が得られるはずです:

vnStat 2.10 by Teemu Toivola 

      -5,  --fiveminutes [limit]   show 5 minutes
      -h,  --hours [limit]         show hours
      -hg, --hoursgraph            show hours graph
      -d,  --days [limit]          show days
      -m,  --months [limit]        show months
      -y,  --years [limit]         show years
      -t,  --top [limit]           show top days

      -b, --begin            set list begin date
      -e, --end              set list end date

      --oneline [mode]             show simple parsable format
      --json [mode] [limit]        show database in json format
      --xml [mode] [limit]         show database in xml format

      -tr, --traffic [time]        calculate traffic
      -l,  --live [mode]           show transfer rate in real time
      -i,  --iface      select interface

Use "--longhelp" or "man vnstat" for complete list of options.

vnStatを使用する前に、vnStatデータベースを更新するためにしばらく待つ必要があります。データベースが更新されたら、次のようにオプションなしでvnStatを実行できます:

vnstat

次の出力が得られるはずです:

                      rx      /      tx      /     total    /   estimated
 wlp22s0:
       Oct '22     17.80 GiB  /    4.35 GiB  /   22.15 GiB
       Nov '22     16.61 GiB  /    3.62 GiB  /   20.23 GiB  /   21.48 GiB
     yesterday    332.22 MiB  /  114.17 MiB  /  446.39 MiB
         today    710.25 MiB  /   44.85 MiB  /  755.11 MiB  /    1.55 GiB

特定のネットワークインターフェースを使用するには、次のように-iオプションを使用します:

vnstat -i ens3

次の出力に日次および月次統計が表示されるはずです:

Database updated: 2020-11-12 06:30:00

   ens3 since Saturday 29 January 2022

          rx:  185.89 GiB      tx:  38.82 GiB      total:  224.70 GiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Oct '22     17.80 GiB |    4.35 GiB |   22.15 GiB |   71.04 kbit/s
       Nov '22     16.61 GiB |    3.62 GiB |   20.23 GiB |   71.20 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated     17.64 GiB |    3.85 GiB |   21.48 GiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday    332.22 MiB |  114.17 MiB |  446.39 MiB |   43.34 kbit/s
         today    710.25 MiB |   44.85 MiB |  755.11 MiB |  154.31 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated      1.46 GiB |      92 MiB |    1.55 GiB |

時間ごとの統計を表示するには、次のコマンドを実行します:

vnstat -h

次の出力が得られるはずです:

 ens3  /  hourly

 h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB) 
12        5.4        0.2 ][ 20       30.4       14.8 ][ 04        0.0        0.0
13       72.7       15.0 ][ 21       24.8        6.4 ][ 05        0.0        0.0
14        1.9        0.4 ][ 22       20.1        9.8 ][ 06        0.0        0.0
15        0.0        0.0 ][ 23        0.0        0.0 ][ 07        0.0        0.0
16        0.0        0.0 ][ 00        0.0        0.0 ][ 08      147.0       10.2
17       36.4        9.6 ][ 01        0.0        0.0 ][ 09       64.1        9.4
18       54.0       23.4 ][ 02        0.0        0.0 ][ 10      496.9       23.9
19       86.5       34.5 ][ 03        0.0        0.0 ][ 11        2.3        1.3

日次統計を表示するには、次のコマンドを実行します:

vnstat -d

次の出力が得られるはずです:

 ens3  /  daily
        day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     Sunday 30 October 2022  266.75 MiB |   47.81 MiB |  314.56 MiB |   30.54 kbit/s
     Monday 31 October 2022  701.49 MiB |  225.89 MiB |  927.38 MiB |   90.04 kbit/s
     Tuesday 01 November 2022  506.20 MiB |  184.50 MiB |  690.70 MiB |   67.06 kbit/s
     Wednesday 02 November 2022  631.15 MiB |  182.43 MiB |  813.59 MiB |   78.99 kbit/s
     Thursday 03 November 2022  189.21 MiB |   41.18 MiB |  230.39 MiB |   22.37 kbit/s
     Friday 04 November 2022  703.67 MiB |  175.49 MiB |  879.16 MiB |   85.36 kbit/s
     Saturday 05 November 2022  518.96 MiB |  130.47 MiB |  649.43 MiB |   63.05 kbit/s
     Sunday 06 November 2022  301.74 MiB |   81.95 MiB |  383.69 MiB |   37.25 kbit/s

オプション-tを使用して、トラフィックの多い日を表示できます:

vnstat -t

次の出力が得られるはずです:

 ens3  /  top 1

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   Thursday 03 February 2022    2.58 GiB |  214.64 MiB |    2.79 GiB |  277.76 kbit/s
    2   Saturday 05 February 2022    2.11 GiB |  229.32 MiB |    2.33 GiB |  231.67 kbit/s
    3   Tuesday 01 February 2022    1.81 GiB |  190.56 MiB |    2.00 GiB |  198.71 kbit/s
    4   Wednesday 02 February 2022    1.80 GiB |  179.75 MiB |    1.98 GiB |  196.72 kbit/s
    5   Sunday 10 July 2022    1.69 GiB |  248.34 MiB |    1.93 GiB |  192.21 kbit/s
    6   Saturday 19 February 2022    1.56 GiB |  172.67 MiB |    1.73 GiB |  171.56 kbit/s
    7   Friday 16 September 2022    1.44 GiB |  201.21 MiB |    1.64 GiB |  163.16 kbit/s
    8   Friday 17 June 2022    1.34 GiB |  278.89 MiB |    1.61 GiB |  160.33 kbit/s
    9   Friday 25 March 2022    1.06 GiB |  504.19 MiB |    1.55 GiB |  154.51 kbit/s
   10   Monday 07 February 2022    1.30 GiB |  160.68 MiB |    1.46 GiB |  145.30 kbit/s
   -----------------------------+-------------+-------------+---------------

リアルタイムでネットワークトラフィック統計を表示するには、次のコマンドを実行します:

vnstat -l

次の出力が得られるはずです:

Monitoring ens3...    (press CTRL-C to stop)

   rx:       11 kbit/s     7 p/s          tx:        9 kbit/s     6 p/s^C

 ens3  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                       17 KiB  |          18 KiB
--------------------------------------+------------------
          max              24 kbit/s  |       33 kbit/s
      average            6.78 kbit/s  |     7.39 kbit/s
          min               0 kbit/s  |        0 kbit/s
--------------------------------------+------------------
  packets                         78  |              82
--------------------------------------+------------------
          max                 10 p/s  |          11 p/s
      average                  3 p/s  |           4 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                    20 seconds

インターフェースens3のデータベースエントリをクリアし、監視を停止するには、次のコマンドを使用します:

vnstat -i ens3 --remove --force

次の出力が得られるはずです:

Interface "ens3" removed from database.
The interface will no longer be monitored. Use --add
if monitoring the interface is again needed.

削除されたインターフェースens3を再度追加するには、次のコマンドを実行します:

vnstat -i ens3 --add

次の出力が得られるはずです:

Adding interface "ens3" for monitoring to database...

Restart the vnStat daemon if it is currently running in order to start monitoring "ens3".

次に、変更を適用するためにvnStatサービスを再起動します:

systemctl restart vnstat

結論

この記事では、Ubuntu 22.04にvnStatをインストールする方法を説明しました。また、いくつかの例を挙げてネットワークトラフィックを監視する方法も示しました。このツールを使用してネットワーク関連の問題を分析およびトラブルシューティングできます。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。