VPS指南:流量监控

本文最后更新于:2022年10月4日 晚上

由于大部分VPS服务器都会限制流量,所以流量监控就非常重要了

ServerStatus网页监控流量

ServerStatus是一款适合监控多台服务器的探针程序,自带web前端界面;本篇教程采用的是 ServerStatus 的修改美化版,基于逗比大佬的一键脚本安装,可以让我们很方便上手,对于手上有很多台VPS服务器的MJJ们来说是个不错的监控工具。

下载脚本

脚本分服务端和客户端,即一个主要提供web前段界面的VPS服务端,其它均为客户端,通过SSH工具连接上服务器,运行下列命令下载脚本:

1
wget --no-check-certificate https://raw.githubusercontent.com/CokeMine/ServerStatus-Hotaru/master/status.sh && chmod +x status.sh

下载后根据自己的实际情况分别输入下列命令进行安装服务端和客户端:

1
2
3
4
5
# 客户端管理菜单
bash status.sh c

# 服务端管理菜单
bash status.sh s

服务端安装

所谓服务端就是用来挂载网页的服务器,运行

1
2
# 服务端管理菜单
bash status.sh s

首先我们这里示例安装服务端,输入数字1开始安装

然后输入服务端的监听端口,这个端口设置建议10000-60000之间即可,后面客户端连接需要用到,然后回车,安装过程中会提示是否配置HTTP服务,输入Y回车即可

安装后进入服务端管理菜单选择7设置服务器配置,然后选择1添加节点,每次增加客户端都需要在这里添加一条节点

接着输入节点的信息,也就是要监控的服务器名称等,后面客户端连接需要用到

如果caddy自动安装配置有问题,这里我们推荐自行配置网页。具体可参见后文VPS指南:安装使用caddy

客户端连接

在需要监控的服务器上安装上面的脚本,然后输入命令进入客户端管理界面,选择安装,接着配置下服务端的IP/域名以及前面设置的监听端口,节点信息等等,如下图:

值得一提的是,该脚本已经集合了vnstat的流量统计功能,可以自动进行安装

1
2
对于流量计算是否使用Vnstat每月自动清零? [y/N]
(默认: N):y

其它说明:

安装目录:/usr/local/ServerStatus
网页文件:/usr/local/ServerStatus/web
配置文件:/usr/local/ServerStatus/server/config.json
增加多个服务器节点,先在服务端添加节点,然后再到其它服务器上面部署连接客户端
修改网页标题或者网页顶部公告内容,打开服务端/usr/local/ServerStatus/web/index.html文件修改即可

使用vnStat详细流量监控

(如果已经安装了ServerStatus客户端,就不要用这个办法安装vnstat了,会导致冲突)
vnStat是一款非常好的Linux系统服务器下面的流量监控开源工具,可以很直观的统计监控每小时、每天、每月的流量详细使用情况;由于大部分VPS服务器都会限制流量,而服务商又没有提供一个详细的流量表,所以对于我们个人来说vnStat这款工具非常实用,这里给大家介绍下它的安装使用教程。

vnStat项目github地址:https://github.com/vergoh/vnstat

首先连接上服务器后,需要进行安装vnStat,执行下列命令

1
2
3
4
5
##centos系统要先安装 epel 源后才能用yum安装
yum install epel-release -y && yum install -y vnstat

##ubuntu/debian系统直接apt-get命令安装即可
apt-get install vnstat

安装后我们可以使用ifconfig命令查看下网卡名称,如果系统提示无此命令,则需要安装,执行下列命令:

1
2
3
4
5
6
## 安装net工具箱,包含ifconfig等网络命令
yum install net-tools # CentOS
apt-get install net-tools # Debian or ubuntu

## 查看网卡信息
ifconfig

获得网卡名称后,创建监控数据库,eth0为需要监控的网卡名称

1
vnstat -u -i eth0

最后启动服务并且设置为开机启动

1
2
#启动服务
service vnstat start

CentOS系统采用下列命令开机启动

1
chkconfig vnstat on

debian或ubuntu则用这个

1
systemctl enable vnstat

上述操作完成后不要着急,等个十几分钟直接输入vnstat命令或下列命令查看流量统计情况

1
2
3
4
5
6
7
vnstat -l  # 或者 `--live` 实时流量
vnstat -h # 显示小时流量
vnstat -d # 显示日流量信息
vnstat -w # 显示周流量信息
vnstat -m # 显示月流量信息
vnstat -t # 显示流量最高top10天
/etc/vnstat.conf # 配置文件

如果出错

但我测试发现它会一直使用默认网卡名,也就是eth0
所以如果发现后面用不了的话,使用vim修改/etc/vnstat.conf

1
vim /etc/vnstat.conf

修改# default interface下面的Interface后面的字符串为你自己的网卡
我的是ens5

1
2
3
4
5
6
7
8
9
10
11
$ head /etc/vnstat.conf 
# vnStat 1.13 config file
##

# default interface
Interface "eth0"

# location of the database directory
DatabaseDir "/var/lib/vnstat"

# locale (LC_ALL) ("-" = use system locale)

参考:https://askubuntu.com/questions/1031052/error-unable-to-read-database-var-lib-vnstat-eth0-no-such-file-or-directory


VPS指南:流量监控
https://pawswrite.xyz/posts/16203.html
作者
Rainbow
发布于
2021年6月17日
许可协议