Grafana and Netdata show live and historical resource metrics, but sometimes the specific question is simpler: how much total data has actually moved through a particular interface today, this month, or this year. vnStat bandwidth monitoring answers exactly that, with a lightweight tool purpose-built for tracking network usage over time without the overhead of a full monitoring stack.
What Is vnStat?
vnStat is a free, lightweight console-based network traffic monitor that tracks bandwidth usage per interface over time, maintaining historical data across hourly, daily, monthly, and yearly periods. Unlike live traffic monitors, vnStat’s entire purpose is accumulating and presenting historical bandwidth totals, running as a lightweight background service with minimal resource overhead.
Why Track Bandwidth Totals Specifically
- ISP data caps – some internet plans still impose monthly data limits; tracking actual usage helps avoid unexpected overage charges or throttling
- Identifying unexpected usage spikes – a sudden jump in a specific interface’s traffic can indicate a misconfigured backup job, an unexpected large transfer, or in less benign cases, unusual activity worth investigating further
- Capacity planning – understanding actual sustained bandwidth needs helps inform decisions like whether the network bonding or 10GbE upgrades covered in earlier guides are genuinely justified by your real usage patterns
Installing vnStat
sudo apt install vnstat -y
The service starts automatically after installation, beginning to accumulate data immediately.
Initializing Monitoring for a Specific Interface
sudo vnstat -u -i eth0
Replace eth0 with your actual network interface name (check with ip a if unsure).
Viewing Current Statistics
vnstat
This shows a summary of today’s, this month’s, and overall total traffic for the monitored interface.
Viewing Detailed Historical Breakdowns
vnstat -d # Daily statistics
vnstat -m # Monthly statistics
vnstat -h # Hourly statistics for today
vnstat -y # Yearly statistics
Live Traffic Rate Monitoring
Beyond historical totals, vnStat also offers a live view of current throughput:
vnstat -l
This shows real-time transfer rates, useful as a quick alternative to firing up a heavier monitoring dashboard just to check current activity.
Monitoring Multiple Interfaces
For a server with several network interfaces (perhaps following the bonding setup , or simply multiple physical connections), initialize monitoring separately for each:
sudo vnstat -u -i eth0
sudo vnstat -u -i eth1
View statistics for a specific interface:
vnstat -i eth1
Setting Up a Graphical Web Interface
For a more visual presentation than the command-line output, vnstat pairs with web frontends like vnstat_php_frontend or more modern alternatives, presenting the same underlying data as charts and graphs accessible through a browser rather than requiring SSH access every time you want to check usage.
Integrating with Your Existing Dashboard
If you’ve already set up the home lab dashboard (Homepage or Homarr), several dashboard tools support displaying vnStat or general network throughput data directly as a widget, keeping bandwidth visibility alongside your other at-a-glance homelab status information rather than needing a separate check.
Setting Up Alerts for Usage Thresholds
While vnStat itself doesn’t include built-in alerting, combining it with the bash scripting techniques lets you build a simple threshold check — querying vnStat’s monthly total and sending a notification if it crosses a defined percentage of your ISP’s data cap, giving advance warning before actually hitting a limit.
Comparing vnStat to Full Monitoring Stacks
For truly comprehensive monitoring covering resource usage, service uptime, and detailed network analysis together, the Netdata, Grafana/Prometheus, and Uptime Kuma setups covered in earlier guides provide considerably more depth. vnStat’s specific value is its simplicity and minimal footprint for the narrower, specific question of “how much data has actually moved” — a lightweight complement rather than a replacement for more comprehensive monitoring.
Final Thoughts
Setting up vnStat bandwidth monitoring provides a lightweight, dedicated answer to a question that broader monitoring tools don’t always present as clearly — real historical bandwidth totals per interface, useful for data cap awareness, spotting unusual usage patterns, and informed capacity planning decisions. Its minimal resource footprint makes it a reasonable addition even on already resource-conscious homelab hardware.

Leave a Reply