这篇文章上次修改于 423 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
在使用 wgcf 创建的 WireGuard VPN 接口的情况下,你可能想要监控的是 VPS 流量而不仅仅是默认的物理网络接口(如 ens5)。WireGuard 通常会创建一个名为 wg0 或类似的虚拟网络接口。如果你想要监控通过这个 VPS 接口的流量,你需要确保 vnStat 也监控这个接口。
以下是在 Debian 系统上安装 vnStat 并监控 WireGuard 接口的步骤:
安装 vnStat:
sudo apt-get update sudo apt-get install vnstat确认 WireGuard 接口名称:
安装 WireGuard 后,通过以下命令确认创建的 VPN 接口名称:wg或者
ifconfig -a通常,WireGuard 接口会被命名为
wg0、wg1等。初始化 vnStat 数据库:
使用 WireGuard 接口名称(例如wg0)初始化 vnStat 数据库:sudo vnstat -u -i wg0如果你还想要监控物理接口(例如
ens5),可以一次性监控多个接口:sudo vnstat -u -i ens5,wg0设置 vnStat 开机启动:
使 vnStat 服务在系统启动时自动运行:sudo systemctl enable vnstat sudo systemctl start vnstat查看流量统计:
使用以下命令查看流量统计信息:实时流量:
vnstat -l -i wg0月流量统计:
vnstat -m -i wg0日流量统计:
vnstat -d -i wg0小时流量统计:
vnstat -h -i wg0
通过这些步骤,你可以监控通过 WireGuard VPN 接口的流量以及物理网络接口的流量。确保你根据实际情况调整接口名称和命令。
crontab -l
crontab -e
每月1号凌晨1点执行脚本:
0 1 1 * * /usr/local/bin/send_vnstat_report.sh每1分钟执行一次脚本:
* * * * * /usr/local/bin/send_vnstat_report.sh每天晚上23点执行:
0 23 * * * /usr/local/bin/send_vnstat_report.sh使用read_txt_to_mail.py执行定时任务,每月最后一天零点将本月使用的流量情况发送邮件:
在server上创建该任务的虚拟环镜vnstat_mail.env:
cd /opt/services/pythonPrj/
python3 -m venv vnstat_mail.env
source /opt/services/pythonPrj/vnstat_mail.env/bin/activate
nohup python3.11 /opt/services/pythonPrj/read_txt_to_mail.py &