開発者とシステム管理者は、次のようなさまざまなネットワーク パラメータを監視する必要がある場合があります。 B. 帯域幅の消費と送受信データ トラフィック。これには多くのツールが利用できますが、そのうちの 1 つが vnStat です。これは、特定のコンピューターのさまざまなインターフェイスと期間にわたるネットワーク統計を表示するシンプルな CLI ユーティリティです。この記事では、vnStat をインストールして使用する方法と、(オプションで) vnstat-dashboard を使用してこのデータをグラフィカルに表示する方法を学習します。
インストール
Ubuntu および Debian システムの場合、vnStat は標準リポジトリで利用できます。次のコマンドを使用してインストールします:
sudo apt update sudo apt install vnstat
デフォルトの CentOS および Fedora リポジトリには vnStat がありませんが、EPEL デポから取得できます。したがって、EPEL リポジトリを有効にしてから vnStat をインストールする必要があります。これを行うには、次のコマンドを使用します:
sudo yum install epel-release sudo yum install vnstat
Fedora システムの場合は、次のように入力します:
sudo dnf update sudo dnf install vnstat
vnStat のセットアップ
vnStat をインストールしたら、監視するネットワーク インターフェイスを設定する必要があります。ただし、vnStat に監視を依頼する前に、システムで使用可能なネットワーク インターフェイスのリストを知っておく必要があります。これを行うには、次の 2 つのコマンドのいずれかを使用します:
ip link show
または
netstat -i
これにより、システムで利用可能なすべてのネットワーク インターフェースのリストが表示されます。
この記事では、eth0
であるシステムへのイーサネット接続を表すインターフェースのみを監視します。 私たちの例では。お使いのシステムでは、インターフェースの名前が異なる場合があります。 enp0s3
または venet0
. WiFi を使用する場合は wlan0
のようなインターフェイスがあります または wifi0
. lo
のような名前のインターフェース または lo0
ローカル トラフィックに使用されるループバック インターフェイスを表します。 B. デーモン間の通信用。
eth0
を選択してください コマンドを使用して監視するためのインターフェイス:
sudo vnstat -u -i eth0
データベースが作成されたことが通知されます。次に、データベースに適切な権限を設定する必要があります:
sudo chown -R vnstat: /var/lib/vnstat
最後に、デーモンを有効にして起動します:
sudo systemctl enable vnstat sudo systemctl restart vnstat
デーモンが top または with で起動したかどうかを確認できます。 systemctl status
を実行します :
sudo systemctl status vnstat
帯域幅の使用状況を表示
デフォルトでは、vnStat は 30 秒ごとに新しい統計をデータベースに書き込みます。 30 秒待ってから vnstat
を開始します 月次および日次の統計を表形式で表示します。システムが受信するトラフィックが多すぎない場合は、これらのファイルをダウンロードして、統計を表示する前にトラフィックを生成してみてください。
「rx」列と「tx」列はそれぞれ受信トラフィックと送信トラフィックを示し、「total」列はこれら 2 つの値の合計を示します。 「平均rate 」は、1 日または 1 か月間の 1 秒あたりの平均帯域幅消費率を示します。
更新された帯域幅の使用状況を待たずにすぐに確認したい場合があります。この場合、vnStat に強制的にデータベースを更新させることができます:
sudo vnstat -u
次に vnstat
を実行します いつものように;これを行うと、更新された統計が表示されます。
別の期間の統計を表示したい場合は、別のスイッチを使用できます:
-
-d
:過去 30 日間の日次統計 -
-m
:過去 12 か月間の月次統計 -
-w
:過去 7 日間、および現在と前の週の統計 -
-h
:過去 24 時間の 1 時間ごとの統計 -
-t
:トラフィックが最も多かった上位 10 日間。
これらのスイッチは次のように使用できます:
vnstat -h
時間ごとの統計には、以下に示すように「rx」/「tx」値とともにグラフも含まれます。他のスイッチは、前の例のように、表形式の出力を示します。
さらに、vnStat はライブ トラフィック監視モードも提供します。このモードを使用するには、-l
を使用します インターフェイス -i
の名前を変更して指定します そう:
vnstat -l -i eth0
完了したら、Ctrl + C を押して終了します。
データのエクスポートとインポート
これまで、vnStat から帯域幅の使用状況データを取得する方法を見てきました。ただし、独自の計算を行う場合、表はあまり役に立ちません。 --json
を使用して、データを JSON および XML にエクスポートできます。 と --xml
または、たとえば、という名前のファイルがある場合。 output.json
を作成したい すべての帯域幅使用データを使用して、次の操作を行います:
vnstat --json > output.json
データベースを別のシステムにインポートする場合は、最初に --exportdb
でデータベースを起動する必要があります カウンター。次のコマンドは、データベースを vnstat_db
という名前のプレーン テキスト ファイルに書き込みます。 .
vnstat --exportdb > vnstat_db
これで、このファイルを他のシステムに転送して、--importdb
を保存できます。 インポートに切り替えます。たとえば、vnstat_db
がある場合 eth0
のファイル インターフェイス、実行:
sudo vnstat --importdb vnstat_db -i eth0 --force
ウェブでの vnStat データの表示
Web 経由でネットワーク統計を監視する場合は、vnStat と併用できるツールがいくつかあります。この記事では、vnStat データを視覚化できる Web アプリケーションである vnstat-dashboard について説明します。これを使用するには、Web サーバー、PHP、およびその他のツールをインストールする必要があります。例として Apache を使用します。ただし、別の Web サーバーを自由に使用できます。
Ubuntu / Debian システムでは、次のコマンドを実行して必要なツールをインストールします:
sudo apt install apache2 php wget unzip
CentOS / RHEL システムを使用している場合は、代わりに次のコマンドを実行してください:
sudo yum install httpd php wget unzip
(Fedora システム yum
に置き換えます dnf
で .)
次に、Github からソース コードをダウンロードし、正しいディレクトリに展開します。
wget https://github.com/alexandermarston/vnstat-dashboard/archive/master.zip unzip master.zip sudo mv vnstat-dashboard-master/ /var/www/html/vnstat/
次に、いくつかの構成パラメーターを変更する必要があります。これを行うには、vi や nano などのテキスト エディターで構成ファイルを開きます。
sudo nano /var/www/html/vnstat/config.php
このファイルで、次の行を見つけて、デフォルト値を赤で示されているものに置き換えます。
$vnstat_bin_dir = '/usr/bin/vnstat'; $use_predefined_interfaces = true; if ($use_predefined_interfaces == true) { $interface_list = array("eth0"); // ... }
これらの変更を行った後、https://<your_server_IP>/vnstat
を開きます ブラウザで。次のようなページが表示されます:
時間単位、日単位、月単位のタブを簡単に切り替えたり、異なるネットワーク インターフェースを切り替えることもできます。
卒業証書
vnStat は、システムのネットワーク情報を監視および分析するための非常に便利なツールです。さまざまなアプリケーションに使用できる、ネットワーク インターフェースからのデータの表示とログ記録に使用できるさまざまなオプションがあります。