查看服务器每个月的流量使用情况,取决于你使用的操作系统、网络监控工具以及服务器提供商。以下是几种常见的方法:
一、使用系统自带工具(Linux 系统)
1. 使用 vnstat 工具(推荐)
vnstat 是一个轻量级的网络流量监控工具,支持按天、周、月统计流量。
安装 vnstat
# Ubuntu/Debian
sudo apt update
sudo apt install vnstat
# CentOS/RHEL
sudo yum install vnstat
# 或者在较新版本中使用 dnf
sudo dnf install vnstat
启动并启用服务
sudo systemctl enable vnstat
sudo systemctl start vnstat
查看每月流量
vnstat -m
输出示例:
monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Apr '2024 1.23 GiB | 876.54 MiB | 2.09 GiB | 8.12 KB/s
Mar '2024 2.45 GiB | 1.12 GiB | 3.57 GiB | 13.98 KB/s
------------------------+-------------+-------------+---------------
estimated 3.60 GiB | 1.65 GiB | 5.25 GiB |
✅ 优点:自动记录历史数据,断电也不丢数据。
2. 使用 iftop / nethogs(实时查看,不记录历史)
这些工具只能查看当前实时流量,不能统计每月总量。
# 安装 iftop
sudo apt install iftop
sudo iftop -i eth0
适合临时排查,但不适合长期统计。
3. 手动计算(基于 /proc/net/dev)
你可以通过读取系统文件获取网卡收发字节数:
cat /proc/net/dev
输出类似:
face |bytes packets| ...
eth0: 123456789 123456 ...
bytes列是累计接收(rx)和发送(tx)的字节数。- 可以写脚本定期记录该值,然后计算每月增量。
⚠️ 缺点:重启后计数清零(除非自己持久化存储)。
二、云服务商控制台查看(如阿里云、腾讯云、AWS、Google Cloud)
大多数云服务器提供商会直接在控制台展示公网流量使用情况。
示例:
-
阿里云 ECS:
登录 ECS 控制台 → 实例详情 → 监控信息 → 流量图(可选按月查看)。 -
腾讯云 CVM:
进入 CVM 控制台 → 选择实例 → “监控” 标签页 → 查看“网络出入带宽”。 -
AWS EC2:
使用 CloudWatch 监控NetworkIn和NetworkOut指标,可设置按月统计。
✅ 优势:无需安装软件,直接看到公网流量(尤其是计费相关流量)。
三、使用第三方监控工具
1. Zabbix / Prometheus + Grafana
可以配置长期监控服务器网络流量,并生成月度报表。
2. Netdata(简单易用)
# 一键安装
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
访问 http://你的IP:19999,即可看到实时和历史流量图表。
四、注意事项
- 区分内网和公网流量:计费通常只针对公网出方向流量。
- vnstat 默认监控哪个网卡?
安装时会自动选择,可通过编辑配置文件/etc/vnstat.conf修改。 - 定时备份 vnstat 数据库,避免磁盘损坏导致历史数据丢失。
总结:推荐方案
| 需求 | 推荐方法 |
|---|---|
| 查看历史每月流量 | ✅ 使用 vnstat |
| 实时查看当前流量 | ✅ 使用 iftop 或 nethogs |
| 公网流量计费统计 | ✅ 查看云平台控制台 |
| 图形化长期监控 | ✅ 使用 Netdata / Zabbix / Prometheus |
如果你告诉我你用的是什么系统(如 Ubuntu/CentOS)和服务器提供商(如阿里云/AWS),我可以给出更具体的命令。
CDNK博客