Alpine安装Vnstat统计VPS流量,避免serverstaus系统重启后流量重置

Alpine安装Vnstat统计VPS流量,避免serverstaus系统重启后流量重置

V+变量
2026-05-17 / 0 评论 / 2 阅读 / 正在检测是否收录...

一 前言

之前介绍了ServerStat在Linux VPS的安装配置、采用Vnstat来防止重启导致数据丢失的问题,以及如何在LiNUX VPS上手动安装Server-Rust,需要的可以访问之前的博文:
1)LiNUX VPS上Server-Rust的手动安装教程
2)Serverstaus改用Vnstat统计VPS流量,避免服务器重启引起统计丢失
3)Alpine上Server-Rust的手动安装教程
博主最近购买了阿里云国际的CDT作为上网备用,限于其配置,只有468M内存和2G硬盘,无法安装debian,因此采用体积和内存占用更小的alpine。本文介绍下如何在Alpine上安装vnstat作为Server-Rust client的流量统计工具。

二 vnstat安装教程

1 直接apk安装

# 更新软件源
apk update

# 安装 vnstat
apk add vnstat

2 查看vnstat版本

vnstat --version

成功的话会显示vnStat 2.13 by Teemu Toivola (SQLite 3.51.2)

3 修改/etc/vnstat.conf,下面这三个字段处要修改,有;注释的需要把;拿掉

BandwidthDetection 0  # 禁用自动检测网络接口最大带宽
MaxBandwidth 0        # 解除带宽限制
Interface ""          # 自动选择网口(默认非eth0需设置)

4 设置启动

# 启动 vnstat 服务
sudo rc-service vnstat start

注意,这里第2步虽然显示成功了,但其实并没有生成相应的文件,如用上面命令会报错:rc-service: service `vnstat' does not exist
问了AI,给了我答案:
如果你安装后依然报错,或者想确认服务文件是否存在,可以检查一下 /etc/init.d/ 目录下是否有 vnstat 这个文件:

ls -l /etc/init.d/vnstat

正常情况下,安装完软件后这个文件就会自动出现,之后你就可以正常使用 rc-service vnstat status 等命令来管理它了。
如果 /etc/init.d/ 目录下找不到 vnstat 文件,说明刚才的安装过程没有成功,或者没有正确生成对应的启动脚本,就要按照下面手动创建了。

5 手动创建 vnstat 启动脚本

在 Alpine Linux 中,如果包管理器没有自动生成,我们可以手动在 /etc/init.d/ 目录下创建一个标准的启动脚本。

5.1使用编辑器创建文件:

sudo vim /etc/init.d/vnstat

5.2将以下标准的 Alpine init 脚本内容复制进去并保存

注意,这里要修改目录位置 /usr/bin/vnstatd改为/usr/sbin/vnstatd:

#!/sbin/openrc-run

description="vnStat network traffic monitor"
command="/usr/sbin/vnstatd"
command_args="-n -d"
pidfile="/run/vnstat/vnstat.pid"
command_user="vnstat:vnstat"

depend() {
    need net
    use logger
}

保存退出。

5.3赋予这个脚本可执行权限

sudo chmod +x /etc/init.d/vnstat

5.4创建必要的运行目录

vnstat 需要一个专门的目录来存放进程文件和数据。手动创建并确保权限正确:

# 创建 pid 目录
sudo mkdir -p /run/vnstat
# 创建 vnstat 的数据库目录(如果不存在的话)
sudo mkdir -p /var/lib/vnstat

# 确保 vnstat 用户(如果存在)拥有这些目录的权限
# 如果提示用户不存在,可以先跳过 chown,或者先创建 vnstat 用户
sudo chown -R vnstat:vnstat /run/vnstat /var/lib/vnstat 2>/dev/null || true

5.5再次尝试启动

现在 /etc/init.d/ 下已经有了 vnstat 脚本,你可以再次运行之前的命令了

sudo rc-service vnstat start
sudo rc-update add vnstat default

三 Serverstat使用vnstat

1 修改VPS的/etc/init.d/stat_client文件,在 command_args 末尾添加 -n 参数。

command_args="-a 'http://al.fvars.com:8080/report' -u server-alcdt -p 87887191 -n &"

2 加载修改文件并重启客户端

service  stat_client restart

3 到这里就配置成功了

演示地址http://ss.5var.com

0

评论 (0)

取消