一 前言
之前介绍了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 vnstat2 查看vnstat版本
vnstat --version成功的话会显示vnStat 2.13 by Teemu Toivola
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/vnstat5.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/vnstat5.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 || true5.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
评论 (0)