VnStat PHP:基于 Web 的网络带宽使用监控界面
VnStat PHP是最著名的控制台模式网络记录器实用程序“ vnstat ”的图形界面应用程序。此VnStat PHP是VnStat的图形前端,用于以精美的图形格式查看和监控网络流量带宽使用情况报告。它以每小时、天、月或完整摘要的形式显示入站和出站网络流量统计数据。
本文介绍如何 在 Linux 系统中安装VnStat和VnStat PHP 。
VnStat PHP 先决条件
您需要在系统上安装以下软件包。
- VnStat:一个命令行网络带宽监控工具,必须安装、配置并收集网络带宽统计信息。
- Apache:用于提供网页的 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,请按照本文操作 -如何安装 vnStat 以监控 Linux 中的网络流量。
正如我所说,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 扩展
借助包管理器工具“ yum ”(对于基于 Red Hat 的 系统)和“ 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
提取源 tarball 文件,使用“ tar 命令”,如下所示。
# 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/