一 前言之前介绍了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 (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/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使用vnstat1 修改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 restart3 到这里就配置成功了演示地址http://ss.5var.com
一 前言之前介绍了ServerStat在Linux VPS的安装配置、采用Vnstat来防止重启导致数据丢失的问题，以及如何在安装了openwrt的n1旁路由上安装Serverstat,以及如何在LiNUX VPS上手动安装Server-Rust,需要的可以访问之前的博文：1）随时随地监控你的VPS状态——Serverstat部署折腾之路2）Serverstaus改用Vnstat统计VPS流量，避免服务器重启引起统计丢失3）N1折腾之openwrt安装ServerStatus_Rust客户端4)LiNUX VPS上Server-Rust的手动安装教程博主最近购买了阿里云国际的CDT作为上网备用，限于其配置，只有468M内存和2G硬盘，无法安装debian，因此采用体积和内存占用更小的alpine。但alpine系统部分组件和命令与debian不同，按原文的安装方法无法安装。本文介绍下如何在Alpine上手动安装Server-Rust client客户端（client即发送流量信息的VPS，server即收集流量信息并汇总展示的VPS），一般1台服务器作为服务器端和客户端，其他VPS作为客户端。二 stat_client客户端安装教程1 /opt目录下创建ServerStat目录mkdir -p /opt/ServerStatus && cd /opt/ServerStatus2 下载stat_client客户端到官方地址下载根据自己的服务器内核选择合适的客户端版本，这里以x86 64位的Linux为例：wget --no-check-certificate -qO client-x86_64-unknown-linux-musl.zip https://github.com/zdz/ServerStatus-Rust/releases/download/v1.8.1/client-x86_64-unknown-linux-musl.zip3 解压缩unzip -o client-x86_64-unknown-linux-musl.zip4 修改stat_client的权限chmod +x stat_client5 复制stat_client.service到/etc/init.d/,并改名为stat_clientmv -v stat_client.service /etc/init.d/stat_client6 替换 /etc/init.d/stat_client 文件用下面的代码替换stat_client中的内容，并将IP改为你服务器的IP或你的域名，注意这里的-u后的用户名、-p后面的密码，与上面config.toml中的name、password必须一致，否则会通讯不成功。#!/sbin/openrc-run name="ServerStatus-Rust Client" description="Client for ServerStatus-Rust" command="/opt/ServerStatus/stat_client" command_args="-a 'http://ss.vvars.com:8080/report' -u h1 -p p1 &" command_user="root:root" directory="/opt/ServerStatus" depend() { need net } start_pre() { ebegin "Starting ${name}" } stop_pre() { ebegin "Stopping ${name}" }同时修改stat_client的权限chmod +x /etc/init.d/stat_client7 将 stat_client加入系统服务rc-update add stat_client default8 启动服务service stat_client start10 查看状态，显示running即为成功service stat_client status11 其他命令service stat_client stop 停止客户端服务 service stat_client restart 重启客户端服务