vnStat - Bandwidth monitoring simplified


Nitin Venkatesh's Gravatar

Nitin Venkatesh
published April 25, 2013, 10:31 a.m.


Whether you run a server, have an expensive hosting package or simply use your desktop, it’s always good to know how much bandwidth you’ve used up – and vnStat is just the tool for that.

vnStat is a console-based bandwidth logger that uses information from your /proc/ & /sys/ to maintain those logs in a nice li’l DB. It organizes the bandwidth information according to month, day and hour.

Installation:

sudo apt-get install vnstat(Ubuntu & Debian-based machines)

For other distros, please check your repos or build from source from vnStat’s official page – it also has /etc/init.d scripts to run vnStat as a daemon.

vnStat Cheat Sheet:

Here’s a tiny cheat-sheet of the most used vnstat features. It’s also available separately as a GitHub Gist. For more information on all of the features vnStat has to offer check out it’s online man pages or with man vnstat

Summaries:

vnstat -m #monthly summaries
vnstat -d #daily summaries (last 30 days)
vnstat -h #hourly summaries (last 24 hours)

Comparison Views:

vnstat -w #weekly comparison (last 7 days, last week, current week)
vnstat -t #top 10 entries ever

Live View:*

vnstat --live #Live bandwidth monitoring

Interface specific:

vnstat --iflist #Available interfaces
vnstat -i #Bandwidth monitoring for the interface

Output in various formats:

vnstat --xml #Outputs all the database information in XML format
vnstat --dumpdb #Dumps all the database information where fields are separated by ; as a delimeter

Resetting various parts of vnStat:

vnstat --cleartop #Clears the top 10 entries
vnstat -r #Reset internal counters in the database for the selected interface
vnstat --rebuildtotal #Reset the total traffic counters and recount those using recorded months

Examples & Output:

In the output that vnStat provides rx means downloaded and tx means uploaded. Here are some examples (all of them are mentioned above):

vnstat -m: (Monthly summaries)

nits@excalibur:~$ vnstat -m
eth0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Jul '12 26.16 GiB | 3.22 GiB | 29.38 GiB | 92.02 kbit/s
Aug '12 31.98 GiB | 3.59 GiB | 35.57 GiB | 111.40 kbit/s
Sep '12 40.98 GiB | 9.86 GiB | 50.84 GiB | 164.52 kbit/s
Oct '12 9.13 GiB | 3.51 GiB | 12.64 GiB | 39.60 kbit/s
Nov '12 57.49 GiB | 16.40 GiB | 73.89 GiB | 239.14 kbit/s
Dec '12 49.11 GiB | 10.02 GiB | 59.13 GiB | 185.19 kbit/s
Jan '13 80.93 GiB | 16.93 GiB | 97.86 GiB | 306.49 kbit/s
Feb '13 59.86 GiB | 15.94 GiB | 75.80 GiB | 262.84 kbit/s
Mar '13 70.49 GiB | 21.81 GiB | 92.31 GiB | 289.10 kbit/s
Apr '13 48.91 GiB | 10.43 GiB | 59.34 GiB | 247.33 kbit/s
------------------------+-------------+-------------+---------------
estimated 62.99 GiB | 13.43 GiB | 76.42 GiB |

vnstat -d: (Daily summaries)

nits@excalibur:~$ vnstat -d
eth0 / daily
day rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
03/26/13 2.15 GiB | 153.10 MiB | 2.29 GiB | 222.81 kbit/s
03/27/13 2.33 GiB | 562.57 MiB | 2.88 GiB | 279.78 kbit/s
03/28/13 2.46 GiB | 798.51 MiB | 3.24 GiB | 314.32 kbit/s
03/29/13 2.37 GiB | 659.03 MiB | 3.02 GiB | 292.74 kbit/s
03/30/13 1.71 GiB | 836.79 MiB | 2.53 GiB | 245.74 kbit/s
03/31/13 2.16 GiB | 828.24 MiB | 2.97 GiB | 288.18 kbit/s
04/01/13 1.55 GiB | 195.00 MiB | 1.74 GiB | 169.01 kbit/s
04/02/13 3.12 GiB | 638.91 MiB | 3.74 GiB | 363.49 kbit/s
04/03/13 2.92 GiB | 380.10 MiB | 3.30 GiB | 319.92 kbit/s
04/04/13 2.43 GiB | 348.81 MiB | 2.77 GiB | 268.97 kbit/s
04/05/13 1.94 GiB | 866.57 MiB | 2.79 GiB | 270.57 kbit/s
04/06/13 2.11 GiB | 728.29 MiB | 2.82 GiB | 274.00 kbit/s
04/07/13 1.70 GiB | 361.40 MiB | 2.05 GiB | 199.11 kbit/s
04/08/13 1.76 GiB | 504.88 MiB | 2.26 GiB | 219.10 kbit/s
04/09/13 2.87 GiB | 283.23 MiB | 3.15 GiB | 305.60 kbit/s
04/10/13 2.09 GiB | 235.23 MiB | 2.32 GiB | 225.04 kbit/s
04/11/13 2.58 GiB | 323.74 MiB | 2.89 GiB | 280.86 kbit/s
04/12/13 1.17 GiB | 174.59 MiB | 1.34 GiB | 130.56 kbit/s
04/13/13 2.10 GiB | 331.14 MiB | 2.43 GiB | 235.69 kbit/s
04/14/13 2.40 GiB | 524.94 MiB | 2.92 GiB | 283.21 kbit/s
04/15/13 2.17 GiB | 684.09 MiB | 2.84 GiB | 275.66 kbit/s
04/16/13 2.35 GiB | 547.14 MiB | 2.88 GiB | 279.61 kbit/s
04/17/13 1.86 GiB | 233.27 MiB | 2.08 GiB | 202.23 kbit/s
04/18/13 1.68 GiB | 171.35 MiB | 1.85 GiB | 179.15 kbit/s
04/19/13 2.15 GiB | 335.46 MiB | 2.48 GiB | 240.45 kbit/s
04/20/13 1.60 GiB | 713.46 MiB | 2.29 GiB | 222.51 kbit/s
04/21/13 2.51 GiB | 890.47 MiB | 3.38 GiB | 328.03 kbit/s
04/22/13 1.67 GiB | 328.77 MiB | 1.99 GiB | 193.08 kbit/s
04/23/13 2.15 GiB | 876.40 MiB | 3.01 GiB | 291.98 kbit/s
04/24/13 28.77 MiB | 4.11 MiB | 32.89 MiB | 10.66 kbit/s
------------------------+-------------+-------------+---------------
estimated 95 MiB | 13 MiB | 108 MiB |

vnstat -h: (Hourly summaries)

nits@excalibur:~$ vnstat -h
eth0 07:01
^ r
| r r r r
| r r r r r r
| r r r r r r r r
| r r r r r r r r
| r r r r r r r r r r
| r r rt r r r rt rt r r r r r
| r r rt r rt rt rt rt rt rt rt r r
| r rt rt rt rt rt rt rt rt rt rt rt r
| r rt rt rt rt rt rt rt rt rt rt rt r
-+--------------------------------------------------------------------------->
| 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07
h rx (KiB) tx (KiB) h rx (KiB) tx (KiB) h rx (KiB) tx (KiB)
08 92896 12176 16 203136 80963 00 14016 1393
09 0 0 17 213087 87053 01 0 0
10 0 0 18 216805 95934 02 0 0
11 0 0 19 159035 73066 03 0 0
12 115614 46249 20 168349 85014 04 0 0
13 113765 91096 21 196507 85331 05 0 0
14 98634 53702 22 179376 43809 06 15059 2687
15 192603 86513 23 107695 12939 07 390 130

vnstat -w: (Weekly comparison)

nits@excalibur:~$ vnstat -w
eth0 / weekly
rx | tx | total | avg. rate
---------------------------+-------------+-------------+---------------
last 7 days 11.78 GiB | 3.24 GiB | 15.02 GiB | 231.65 kbit/s
last week 14.30 GiB | 3.49 GiB | 17.79 GiB | 246.81 kbit/s
current week 3.85 GiB | 1.18 GiB | 5.03 GiB | 212.69 kbit/s
---------------------------+-------------+-------------+---------------
estimated 11.75 GiB | 3.61 GiB | 15.36 GiB |

vnstat -t: (Top 10 entries)

nits@excalibur:~$ vnstat -t
eth0 / top 10
# day rx | tx | total | avg. rate
-----------------------------+-------------+-------------+---------------
1 08/05/12 10.16 GiB | 1.09 GiB | 11.25 GiB | 1.09 Mbit/s
2 01/02/13 5.67 GiB | 485.74 MiB | 6.15 GiB | 596.70 kbit/s
3 10/01/12 4.32 GiB | 1.68 GiB | 6.00 GiB | 582.79 kbit/s
4 03/01/13 5.11 GiB | 852.88 MiB | 5.94 GiB | 576.95 kbit/s
5 03/04/13 4.92 GiB | 847.56 MiB | 5.75 GiB | 558.30 kbit/s
6 09/09/12 4.48 GiB | 1.24 GiB | 5.72 GiB | 555.19 kbit/s
7 08/02/12 5.13 GiB | 528.17 MiB | 5.65 GiB | 548.10 kbit/s
8 02/01/13 4.15 GiB | 1.12 GiB | 5.26 GiB | 511.13 kbit/s
9 12/01/12 3.86 GiB | 648.62 MiB | 4.50 GiB | 436.45 kbit/s
10 03/02/13 3.54 GiB | 969.17 MiB | 4.49 GiB | 436.04 kbit/s

vnstat –live: (Live monitoring)

img-vnstat-live-screenshot

vnstat –iflist: (Interface Listing)

nits@excalibur:~$ vnstat --iflist
Available interfaces: lo eth0

vnstat -i: (Specific interface monitoring)

nits@excalibur:~$ vnstat -i eth0
Database updated: Wed Apr 24 07:11:18 2013
eth0 since 07/09/12
rx: 475.03 GiB tx: 111.73 GiB total: 586.76 GiB
monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Mar '13 70.49 GiB | 21.81 GiB | 92.31 GiB | 289.10 kbit/s
Apr '13 48.91 GiB | 10.43 GiB | 59.34 GiB | 247.28 kbit/s
------------------------+-------------+-------------+---------------
estimated 62.98 GiB | 13.43 GiB | 76.41 GiB |
daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
yesterday 2.15 GiB | 876.40 MiB | 3.01 GiB | 291.98 kbit/s
today 33.87 MiB | 4.78 MiB | 38.65 MiB | 12.24 kbit/s
------------------------+-------------+-------------+---------------
estimated 110 MiB | 13 MiB | 123 MiB |

vnstat –xml: (XML-formatted output)

nits@excalibur:~$ vnstat --xml
<vnstat version="1.11" xmlversion="1">
<interface id="eth0">
<id>eth0</id>
<nick>eth0</nick>
<created><date><year>2012</year><month>07</month><day>09</day></date></created>
<updated><date><year>2013</year><month>04</month><day>24</day></date><time><hour>07</hour><minute>06</minute></time></updated>
<traffic>
<total><rx>498100113</rx><tx>117153733</tx></total>
<days>
<day id="0"><date><year>2013</year><month>04</month><day>24</day></date><rx>30906</rx><tx>4489</tx></day>
<day id="1"><date><year>2013</year><month>04</month><day>23</day></date><rx>2255961</rx><tx>897433</tx></day>
<day id="2"><date><year>2013</year><month>04</month><day>22</day></date><rx>1748650</rx><tx>336656</tx></day>
<day id="3"><date><year>2013</year><month>04</month><day>21</day></date><rx>2630904</rx><tx>911841</tx></day>
<day id="4"><date><year>2013</year><month>04</month><day>20</day></date><rx>1672572</rx><tx>730588</tx></day>
<day id="5"><date><year>2013</year><month>04</month><day>19</day></date><rx>2253384</rx><tx>343510</tx></day>
<day id="6"><date><year>2013</year><month>04</month><day>18</day></date><rx>1759404</rx><tx>175464</tx></day>
<day id="7"><date><year>2013</year><month>04</month><day>17</day></date><rx>1945249</rx><tx>238865</tx></day>
<day id="8"><date><year>2013</year><month>04</month><day>16</day></date><rx>2459517</rx><tx>560274</tx></day>
<day id="9"><date><year>2013</year><month>04</month><day>15</day></date><rx>2276638</rx><tx>700505</tx></day>
<day id="10"><date><year>2013</year><month>04</month><day>14</day></date><rx>2521153</rx><tx>537538</tx></day>
<day id="11"><date><year>2013</year><month>04</month><day>13</day></date><rx>2206397</rx><tx>339092</tx></day>
<day id="12"><date><year>2013</year><month>04</month><day>12</day></date><rx>1231232</rx><tx>178784</tx></day>
<day id="13"><date><year>2013</year><month>04</month><day>11</day></date><rx>2701757</rx><tx>331512</tx></day>
<day id="14"><date><year>2013</year><month>04</month><day>10</day></date><rx>2189601</rx><tx>240873</tx></day>
<day id="15"><date><year>2013</year><month>04</month><day>09</day></date><rx>3010467</rx><tx>290028</tx></day>
<day id="16"><date><year>2013</year><month>04</month><day>08</day></date><rx>1849270</rx><tx>516994</tx></day>
<day id="17"><date><year>2013</year><month>04</month><day>07</day></date><rx>1780349</rx><tx>370074</tx></day>
<day id="18"><date><year>2013</year><month>04</month><day>06</day></date><rx>2213412</rx><tx>745768</tx></day>
<day id="19"><date><year>2013</year><month>04</month><day>05</day></date><rx>2034818</rx><tx>887371</tx></day>
<day id="20"><date><year>2013</year><month>04</month><day>04</day></date><rx>2547687</rx><tx>357184</tx></day>
<day id="21"><date><year>2013</year><month>04</month><day>03</day></date><rx>3065958</rx><tx>389227</tx></day>
<day id="22"><date><year>2013</year><month>04</month><day>02</day></date><rx>3271404</rx><tx>654247</tx></day>
<day id="23"><date><year>2013</year><month>04</month><day>01</day></date><rx>1625620</rx><tx>199679</tx></day>
<day id="24"><date><year>2013</year><month>03</month><day>31</day></date><rx>2264214</rx><tx>848118</tx></day>
<day id="25"><date><year>2013</year><month>03</month><day>30</day></date><rx>1797172</rx><tx>856868</tx></day>
<day id="26"><date><year>2013</year><month>03</month><day>29</day></date><rx>2486713</rx><tx>674851</tx></day>
<day id="27"><date><year>2013</year><month>03</month><day>28</day></date><rx>2577019</rx><tx>817672</tx></day>
<day id="28"><date><year>2013</year><month>03</month><day>27</day></date><rx>2445546</rx><tx>576070</tx></day>
<day id="29"><date><year>2013</year><month>03</month><day>26</day></date><rx>2249595</rx><tx>156772</tx></day>
</days>
<months>
<month id="0"><date><year>2013</year><month>04</month></date><rx>51282310</rx><tx>10937996</tx></month>
<month id="1"><date><year>2013</year><month>03</month></date><rx>73919043</rx><tx>22870576</tx></month>
<month id="2"><date><year>2013</year><month>02</month></date><rx>62763187</rx><tx>16718495</tx></month>
<month id="3"><date><year>2013</year><month>01</month></date><rx>84864054</rx><tx>17748408</tx></month>
<month id="4"><date><year>2012</year><month>12</month></date><rx>51493553</rx><tx>10508245</tx></month>
<month id="5"><date><year>2012</year><month>11</month></date><rx>60284888</rx><tx>17197332</tx></month>
<month id="6"><date><year>2012</year><month>10</month></date><rx>9571460</rx><tx>3685417</tx></month>
<month id="7"><date><year>2012</year><month>09</month></date><rx>42965912</rx><tx>10338645</tx></month>
<month id="8"><date><year>2012</year><month>08</month></date><rx>33528639</rx><tx>3767980</tx></month>
<month id="9"><date><year>2012</year><month>07</month></date><rx>27427067</rx><tx>3380639</tx></month>
</months>
<tops>
<top id="0"><date><year>2012</year><month>08</month><day>05</day></date><time><hour>00</hour><minute>00</minute></time><rx>10658057</rx><tx>1142039</tx></top>
<top id="1"><date><year>2013</year><month>01</month><day>02</day></date><time><hour>00</hour><minute>00</minute></time><rx>5947015</rx><tx>497395</tx></top>
<top id="2"><date><year>2012</year><month>10</month><day>01</day></date><time><hour>00</hour><minute>00</minute></time><rx>4532538</rx><tx>1761549</tx></top>
<top id="3"><date><year>2013</year><month>03</month><day>01</day></date><time><hour>09</hour><minute>59</minute></time><rx>5357752</rx><tx>873347</tx></top>
<top id="4"><date><year>2013</year><month>03</month><day>04</day></date><time><hour>09</hour><minute>56</minute></time><rx>5161698</rx><tx>867903</tx></top>
<top id="5"><date><year>2012</year><month>09</month><day>09</day></date><time><hour>00</hour><minute>00</minute></time><rx>4696803</rx><tx>1299226</tx></top>
<top id="6"><date><year>2012</year><month>08</month><day>02</day></date><time><hour>00</hour><minute>24</minute></time><rx>5378631</rx><tx>540846</tx></top>
<top id="7"><date><year>2013</year><month>02</month><day>01</day></date><time><hour>00</hour><minute>00</minute></time><rx>4350547</rx><tx>1169628</tx></top>
<top id="8"><date><year>2012</year><month>12</month><day>01</day></date><time><hour>04</hour><minute>08</minute></time><rx>4049423</rx><tx>664191</tx></top>
<top id="9"><date><year>2013</year><month>03</month><day>02</day></date><time><hour>00</hour><minute>00</minute></time><rx>3716826</rx><tx>992426</tx></top>
</tops>
<hours>
<hour id="0"><date><year>2013</year><month>04</month><day>24</day></date><rx>14016</rx><tx>1393</tx></hour>
<hour id="6"><date><year>2013</year><month>04</month><day>24</day></date><rx>15059</rx><tx>2687</tx></hour>
<hour id="7"><date><year>2013</year><month>04</month><day>24</day></date><rx>1831</rx><tx>409</tx></hour>
<hour id="8"><date><year>2013</year><month>04</month><day>23</day></date><rx>92896</rx><tx>12176</tx></hour>
<hour id="12"><date><year>2013</year><month>04</month><day>23</day></date><rx>115614</rx><tx>46249</tx></hour>
<hour id="13"><date><year>2013</year><month>04</month><day>23</day></date><rx>113765</rx><tx>91096</tx></hour>
<hour id="14"><date><year>2013</year><month>04</month><day>23</day></date><rx>98634</rx><tx>53702</tx></hour>
<hour id="15"><date><year>2013</year><month>04</month><day>23</day></date><rx>192603</rx><tx>86513</tx></hour>
<hour id="16"><date><year>2013</year><month>04</month><day>23</day></date><rx>203136</rx><tx>80963</tx></hour>
<hour id="17"><date><year>2013</year><month>04</month><day>23</day></date><rx>213087</rx><tx>87053</tx></hour>
<hour id="18"><date><year>2013</year><month>04</month><day>23</day></date><rx>216805</rx><tx>95934</tx></hour>
<hour id="19"><date><year>2013</year><month>04</month><day>23</day></date><rx>159035</rx><tx>73066</tx></hour>
<hour id="20"><date><year>2013</year><month>04</month><day>23</day></date><rx>168349</rx><tx>85014</tx></hour>
<hour id="21"><date><year>2013</year><month>04</month><day>23</day></date><rx>196507</rx><tx>85331</tx></hour>
<hour id="22"><date><year>2013</year><month>04</month><day>23</day></date><rx>179376</rx><tx>43809</tx></hour>
<hour id="23"><date><year>2013</year><month>04</month><day>23</day></date><rx>107695</rx><tx>12939</tx></hour>
</hours>
</traffic>
</interface>
</vnstat>

vnstat –dumpdb: (; separated output)

nits@excalibur:~$ vnstat --dumpdb
version;3
active;1
interface;eth0
nick;eth0
created;1341841971
updated;1366767678
totalrx;486429
totaltx;114408
currx;21163008
curtx;3586048
totalrxk;594
totaltxk;347
btime;1366765859
d;0;1366741822;33;4;891;799;1
d;1;1366671121;2203;876;89;409;1
d;2;1366569020;1707;328;682;784;1
d;3;1366482613;2569;890;248;481;1
d;4;1366396220;1633;713;380;476;1
d;5;1366309810;2200;335;584;470;1
d;6;1366248560;1718;171;172;360;1
d;7;1366137029;1899;233;673;273;1
d;8;1366077369;2401;547;893;146;1
d;9;1365964222;2223;684;286;89;1
d;10;1365877809;2462;524;65;962;1
d;11;1365791423;2154;331;701;148;1
d;12;1365705026;1202;174;384;608;1
d;13;1365618624;2638;323;445;760;1
d;14;1365532209;2138;235;289;233;1
d;15;1365445810;2939;283;931;236;1
d;16;1365359408;1805;504;950;898;1
d;17;1365273011;1738;361;637;410;1
d;18;1365186600;2161;728;548;296;1
d;19;1365100221;1987;866;130;587;1
d;20;1365013807;2487;348;999;832;1
d;21;1364927426;2994;380;102;107;1
d;22;1364841027;3194;638;748;935;1
d;23;1364754605;1587;194;532;1023;1
d;24;1364690693;2211;828;150;246;1
d;25;1364581828;1755;836;52;804;1
d;26;1364495425;2428;659;441;35;1
d;27;1364409012;2516;798;635;520;1
d;28;1364323565;2388;562;234;582;1
d;29;1364236212;2196;153;891;100;1
m;0;1364754605;50084;10682;71;34;1
m;1;1362112153;72186;22334;579;560;1
m;2;1359657017;61292;16326;179;671;1
m;3;1356978612;82875;17332;54;440;1
m;4;1354315099;50286;10261;689;981;1
m;5;1351824117;58871;16794;984;276;1
m;6;1349029819;9347;3599;132;41;1
m;7;1346437819;41958;10096;920;341;1
m;8;1343759416;32742;3679;831;684;1
m;9;1341841971;26784;3301;251;415;1
m;10;0;0;0;0;0;0
m;11;0;0;0;0;0;0
t;0;1344105023;10408;1115;265;279;1
t;1;1357065005;5807;485;647;755;1
t;2;1349029819;4426;1720;314;269;1
t;3;1362112153;5232;852;184;899;1
t;4;1362371181;5040;847;738;575;1
t;5;1347129001;4586;1268;739;794;1
t;6;1343847285;5252;528;583;174;1
t;7;1359657017;4248;1142;595;220;1
t;8;1354315099;3954;648;527;639;1
t;9;1362162617;3629;969;730;170;1
h;0;1366742542;14016;1393
h;1;0;0;0
h;2;0;0;0
h;3;0;0;0
h;4;0;0;0
h;5;0;0;0
h;6;1366766988;15059;2687
h;7;1366767678;5608;815
h;8;1366686773;92896;12176
h;9;0;0;0
h;10;0;0;0
h;11;0;0;0
h;12;1366702190;115614;46249
h;13;1366705790;113765;91096
h;14;1366709390;98634;53702
h;15;1366712990;192603;86513
h;16;1366716591;203136;80963
h;17;1366720191;213087;87053
h;18;1366723791;216805;95934
h;19;1366727391;159035;73066
h;20;1366730991;168349;85014
h;21;1366734592;196507;85331
h;22;1366738192;179376;43809
h;23;1366741792;107695;12939

Cross-posted from The Void Ghost