VnStat PHP: ネットワーク帯域幅の使用状況を監視するための Web ベースのインターフェイス
VnStat PHP は、「vnstat」と呼ばれる最も有名なコンソール モード ネットワーク ロガー ユーティリティ用のグラフィカル インターフェイス アプリケーションです。この VnStat PHP は、VnStat のグラフィカル フロントエンドであり、ネットワーク トラフィックの帯域幅使用状況レポートを適切なグラフィカル形式で表示および監視します。 IN と OUT のネットワーク トラフィック統計を時間、日、月で表示します。または完全な概要。
この記事では、Linux システムに VnStat と VnStat PHP をインストールする方法を説明します。
VnStat PHP の前提条件
次のソフトウェア パッケージをシステムにインストールする必要があります。
- VnStat: コマンドラインのネットワーク帯域幅監視ツール。インストールして構成し、ネットワーク帯域幅の統計を収集する必要があります。
- Apache: Web ページを提供する Web サーバー。
- PHP: サーバー上で PHP スクリプトを実行するためのサーバー側スクリプト言語。
- php-gd 拡張機能: グラフィック画像を提供するための GD 拡張機能。
ステップ 1: VnStat コマンド ライン ツールのインストールと構成
VnStat は、ネットワーク デバイス上の帯域幅 ( 送信 と 受信) をカウントし、データを独自のデータベースに保存するコマンドライン ネットワーク帯域幅監視ユーティリティです。 。
Vnstat はサードパーティ ツールであり、以下に示すように、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 インターフェイスのINとOUTのトラフィック統計を生成します。
# 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 フロントエンドのダウンロード
「このページを使用して最新の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 ホームページ