网站搜索

VnStat PHP:用于监控网络带宽使用情况的基于 Web 的界面


VnStat PHP 是最著名的控制台模式网络记录器实用程序的图形界面应用程序,称为“vnstat”。这个VnStat PHPVnStat的图形前端,以良好的图形格式查看和监控网络流量带宽使用情况报告。它以每小时为单位显示INOUT网络流量统计信息或完整的摘要

本文向您介绍如何在 Linux 系统中安装 VnStatVnStat 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接口的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”的目录。将此目录的内容复制到网络服务器根位置作为目录 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 主页