GNU/Linux >> Linux の 問題 >  >> Cent OS

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

開発者とシステム管理者は、次のようなさまざまなネットワーク パラメータを監視する必要がある場合があります。 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 は、システムのネットワーク情報を監視および分析するための非常に便利なツールです。さまざまなアプリケーションに使用できる、ネットワーク インターフェースからのデータの表示とログ記録に使用できるさまざまなオプションがあります。


Cent OS
  1. Linux – Linuxネットワークの名前空間間でトラフィックを転送する方法は?

  2. Linux:日次/月次のネットワーク トラフィックを測定する方法は?

  3. ネットワークトラフィックを使用してWhatsを見つける方法

  1. Ubuntu20.04でvnStatを使用してネットワークトラフィックを監視する

  2. Arpwatchを使用してLinuxでイーサネットアクティビティを監視する方法

  3. vnStat を使用して Linux でネットワーク トラフィックを監視およびログに記録する方法

  1. osqueryを使用してLinuxサーバーを監視する方法

  2. CloudStatsを使用してLinuxサーバーを監視する方法

  3. Ubuntu18.04LTSでNtopngを使用してネットワークトラフィックを監視する