ウェブサイト検索

VnStat PHP: ネットワーク帯域幅の使用状況を監視するための Web ベースのインターフェイス


VnStat PHP は、「vnstat」と呼ばれる最も有名なコンソール モード ネットワーク ロガー ユーティリティ用のグラフィカル インターフェイス アプリケーションです。この VnStat PHP は、VnStat のグラフィカル フロントエンドであり、ネットワーク トラフィックの帯域幅使用状況レポートを適切なグラフィカル形式で表示および監視します。 INOUT のネットワーク トラフィック統計を時間で表示します。または完全な概要

この記事では、Linux システムに VnStatVnStat PHP をインストールする方法を説明します。

VnStat PHP の前提条件

次のソフトウェア パッケージをシステムにインストールする必要があります。

  • VnStat: コマンドラインのネットワーク帯域幅監視ツール。インストールして構成し、ネットワーク帯域幅の統計を収集する必要があります。
  • Apache: Web ページを提供する Web サーバー。
  • PHP: サーバー上で PHP スクリプトを実行するためのサーバー側スクリプト言語。
  • php-gd 拡張機能: グラフィック イメージを提供するための GD 拡張機能。

ステップ 1: VnStat コマンド ライン ツールのインストールと構成

VnStat は、ネットワーク デバイス上の帯域幅 ( 送信 受信) をカウントし、データを独自のデータベースに保存するコマンドライン ネットワーク帯域幅監視ユーティリティです。 。

Vnstat はサードパーティ ツールであり、Red Hat ベースのシステムで epel リポジトリを有効にすることでインストールできます。有効にしたら、以下に示すようにyum コマンドを使用してインストールできます。

yum install vnstat              [On CentOS/RHEL]
sudo apt-get install vnstat     [On Debian/Ubuntu]

最新バージョンのVnStatをインストールするには、この記事「Linux でネットワーク トラフィックを監視するために vnStat をインストールする方法」に従ってください。

先ほど述べたように、Vnstat はすべてのネットワーク情報を保持するために独自のデータベースを維持します。 「eth0」という名前のネットワーク インターフェイス用の新しいデータベースを作成するには、次のコマンドを実行します。要件に従ってインターフェイス名を必ず置き換えてください。

vnstat -i eth0

Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.

上記のエラーが発生した場合でも、コマンドを初めて実行するため、そのようなエラーについて心配する必要はありません。したがって、eth0 の新しいデータベースが作成されます。

次に、次のコマンドを実行して、有効なすべてのデータベースを更新するか、示されているように -i パラメータを使用して特定のインターフェイスのみを更新します。 eth0 インターフェイスのINOUTのトラフィック統計を生成します。

vnstat -u -i eth0

次に、5 分ごとに実行する crontab を追加し、eth0 データベースを更新してトラフィック統計を生成します。

*/5 * * * * /usr/bin/vnstat -u >/dev/null 2>&1

ステップ 2: Apache、Php、および Php-gd 拡張機能のインストール

Red Hat ベースシステム用の「yum」と「apt-get」というパッケージ マネージャー ツールを利用して、次のソフトウェア パッケージをインストールします。 Debian ベースのシステムの場合。

RHEL/CentOS および Fedora の場合
yum install httpd php php-gd

システム起動時にApache をオンにし、サービスを開始します。

chkconfig httpd on
service httpd start

次の「iptables」コマンドを実行して、ファイアウォール上の Apache ポート「80」を開き、サービスを再起動します。

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart
Debian/Ubuntu および Linux Mint の場合
sudo apt-get install apache2 php php-gd
sudo /etc/init.d/apache2 start

Apache 用にポート 80 を開きます。

sudo ufw allow 80

ステップ 3: VnStat PHP フロントエンドのダウンロード

以下に示すように「wget コマンド」を使用して最新のVnStat PHP ソース tarball ファイルをダウンロードするか、このページにアクセスして最新バージョンを取得します。

cd /tmp
wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz

示されているように「tar コマンド」を使用して、ソース tarball ファイルを抽出します。

tar xvf vnstat_php_frontend-1.5.1.tar.gz

ステップ 4: VnStat PHP フロントエンドのインストール

解凍すると、「vnstat_php_frontend-1.5.1」というディレクトリが表示されます。以下に示すように、このディレクトリの内容を Web サーバーのルートの場所にディレクトリ vnstat としてコピーします。

RHEL/CentOS および Fedora の場合
cp -fr vnstat_php_frontend-1.5.1/ /var/www/html/vnstat

システムでSELinuxが有効になっている場合は、「restorecon」コマンドを実行して、ファイルのデフォルトのSELinuxセキュリティ コンテキストを復元します。

restorecon -Rv /var/www/html/vnstat/
Debian/Ubuntu および Linux Mint の場合
cp -fr vnstat_php_frontend-1.5.1/ /var/www/vnstat

ステップ 5: VnStat PHP フロントエンドの構成

セットアップに合わせて設定してください。これを行うには、VI エディタで次のファイルを開き、以下に示すようにパラメータを変更します。

RHEL/CentOS および Fedora の場合
vi /var/www/html/vnstat/config.php
Debian/Ubuntu および Linux Mint の場合
vi /var/www/vnstat/config.php

デフォルトの言語を設定します。

// edit these to reflect your particular situation
$locale = 'en_US.UTF-8';
$language = 'en';

監視するネットワーク インターフェイスを定義します。

// list of network interfaces monitored by vnStat
$iface_list = array('eth0', 'eth1');

ネットワーク インターフェイスにカスタム名を設定できます。

// optional names for interfaces
// if there's no name set for an interface then the interface identifier.
// will be displayed instead
$iface_title['eth0'] = 'Internal';
$iface_title['eth1'] = 'External';

ファイルを保存して閉じます。

ステップ 6: VnStat PHP にアクセスしてグラフを表示する

お気に入りのブラウザを開いて、次のリンクのいずれかに移動します。これで、 ネットワーク帯域幅の使用状況の概要を時間で表示する派手なネットワーク グラフが表示されます。

http://localhost/vnstat/
http://your-ip-address/vnstat/
サンプル出力

参考リンク

VnStat PHP ホームページ