VnStat PHP:用于监控网络带宽使用情况的基于 Web 的界面
VnStat PHP 是最著名的控制台模式网络记录器实用程序的图形界面应用程序,称为“vnstat”。这个VnStat PHP是VnStat的图形前端,以良好的图形格式查看和监控网络流量带宽使用情况报告。它以每小时、天、月为单位显示IN和OUT网络流量统计信息或完整的摘要。
本文向您介绍如何在 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 扩展
借助适用于基于 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”的目录。将此目录的内容复制到网络服务器根位置作为目录 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 主页