别等账单吓一跳:vnstat监控VPS月流量,超额计费提前预警


导读:不限流量的套餐越来越少,主流VPS基本都按月给固定流量:500G、1T、2T。多数商家对超额的处理是按GB加收费用,单价还远高于套餐内均价。而系统自带的流量工具要么重启清零、要么只看实时速率,根本没有“本月已用多少”的概念。这篇用vnstat搭建月流量账本:数据落盘不怕重启、按月自动归档、流量过线自动告警,一条命令随时查账。


一、先搞清楚:为什么不用现成工具


很多人查流量用商家后台面板或iftop/nload:


商家面板的问题:更新延迟大(有的半小时才刷新一次)、统计口径和账单不完全一致、商家跑路或面板维护时你看不到数据;

iftop/nload的问题:它们只显示“实时速率”,关掉就忘,没有任何历史累计,回答不了“这个月用了多少”。


vnstat的本质区别:它是守护进程,持续把每个网卡的收发字节数落盘成数据库,独立于商家统计,重启不丢数据,随时回看任意月份的用量。


二、安装与首次配置


Debian / Ubuntu:


apt install vnstat


CentOS系需要先装epel源。安装完成后确认服务状态:


systemctl enable --now vnstat


刚启动时数据库还没建立,执行vnstat可能提示无数据,等几分钟自动开始记录。


三、日常查账:三条命令看明白


无参数直接查当月汇总:


vnstat


输出里重点看eth0的last month和估算行:它会根据当前速率预估月底总流量,这个数字最能提醒你会不会超额。


按天看细节:


vnstat -d


流量异常暴涨时,用它定位是哪一天开始出的问题。


按小时看规律:


vnstat -h


可以看清流量高峰在什么时段,判断是正常访问还是被扫被刷。


四、修改计费重置日(重要)


一个容易踩的坑:商家账单日未必是每月1号。如果你的套餐是每月15号出账,而vnstat按自然月统计,两边数字就对不上。


编辑 /etc/vnstat.conf,找到:


MonthRotate 1


改成你的账单日(比如15号就改成 MonthRotate 15),然后重启服务:


systemctl restart vnstat


从此vnstat的“当月”和商家的计费周期对齐,统计才有对照意义。


五、流量过线自动告警


vnstat本身不带告警,配一个cron脚本补齐。思路:每天检查一次当月用量,超过阈值就推送通知。


先装jq(解析JSON用):


apt install jq


再写检查脚本 /root/check_traffic.sh:


#!/bin/bash

LIMIT_MB=1048576

USED_MB=$(vnstat --json m | jq '.interfaces[0].traffic.month[0].rx / 1048576')

WARN=$(echo $USED_MB | awk -v lim=$LIMIT_MB '{if ($1*100/lim > 80) print 1; else print 0}')

if [ $WARN -eq 1 ]; then

curl -s 你的通知接口地址 -d text=流量已用超八成_请关注

fi


脚本逻辑:取本月接收字节数换算成MB,用量到80%就推送提醒。通知渠道任选:Server酱、Telegram Bot、邮件接口都行,一行curl的事。不想依赖外部服务的,最简单粗暴版可以让它给root发本地邮件。


加执行权限并配cron:


chmod +x /root/check_traffic.sh

crontab -e


写入(每天早上8点检查):


0 8 * * * /root/check_traffic.sh


六、几个实用细节


1. 多网卡机器:vnstat会为每个网卡建独立数据库,查特定网卡用 vnstat -i eth1。VPS上主网卡一般是eth0或ens3,不确定的话 ip addr 看一眼;

2. 数据库位置:/var/lib/vnstat/,想备份统计历史就把这个目录打包;

3. 卸载重装不清零:数据库独立于软件包,卸载重装后历史数据还在;

4. 和商家数字有小出入是正常的:统计口径、计费周期起点不同导致,差距在几个百分点内不用担心,差出一倍才需要找商家对账。


结语


流量超额是VPS账单里最冤的一笔钱:不是机器出问题,纯粹是没人提醒你。vnstat加一个cron脚本,十分钟配完,从此流量账目心里有数:什么时候用得多、还剩多少、什么时候该收敛或升配。


建议装机初始化时就把vnstat装上,和安全加固、备份配置一起列入新机到手的标准动作清单——它不占资源、不需要维护,只在关键时刻救你的钱包。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

小鸡磁盘不够用?rclone挂载云存储,20G小盘秒变大空间

小鸡建站新姿势:Hugo静态博客部署实录,512M内存的小鸡也能扛

评 论
更换验证码