於 Linux 想要看機器頻寬使用狀況, 而且於 CLI 介面就想要可以看到, 可以分 day / week / 即時 / top10 .. 等等, 可以考慮此套件.
- 詳見: vnStat - a network traffic monitor for Linux and BSD # 裡面有參數教學使用
Linux 監控網路流量的 vnstat 架設
vnstat 安裝、設定
- apt-get install vnstat
- vim /etc/vnstat.conf # 設定
- Interface "eth1" # 設定 default interface, 於此改成自己對外的網卡比較方便
- DatabaseDir "/var/lib/vnstat" # location of the database directory
- 註: db: /var/lib/vnstat/eth1
- /etc/init.d/vnstat restart
- 到此即可, 再來就會開始統計, 把資料寫入 /var/lib/vnstat/eth1 裡面, 方便隨時查看.
vnstat 命令列(CLI) 查看指令
vnstat 有網頁介面, ex: jsvnstat, vnStat PHP frontend. 等, 有興趣可以自行安裝, 在此只有介紹命令列有哪些參數 (取自官方網站)
- vnstat --help
-q, --query query database -h, --hours show hours -d, --days show days -m, --months show months -w, --weeks show weeks -t, --top10 show top10 -s, --short use short output -u, --update update database -i, --iface select interface (default: eth0) -?, --help short help -v, --version show version -tr, --traffic calculate traffic -ru, --rateunit swap configured rate unit -l, --live show transfer rate in real time
- 註: vnstat --longhelp # 可以看到更多參數, ex: (下述只列我覺得可能會用到的, 詳細請自行查看)
--cleartop clear the top10 -r, --reset reset interface counters --sync sync interface counters --enable enable interface --disable disable interface --delete delete database and stop monitoring --dumpdb show database in parseable format --xml show database in xml format ... 等等
下述參數都可以加上 -i eth0 或 -i eth1 來指定網路卡介面
- vnstat # 可以看到 monthly / daily 統計資訊
- vnstat -h # 畫成圖表的方式呈現, 指定網卡範例: vnstat -h -i eth0
- vnstat -d # by daily 流量使用數字
- vnstat -m # by monthly 流量使用數字
- vnstat -w # by weekly 流量使用數字
- vnstat -t # top 10 流量使用數字
- vnstat -tr # 5秒內的 sampled packets, vnstat.conf 裡面有 Sampletime 設定秒數
- vnstat -l # 即時監控
問與答
- Q: 資料會不會寫入太頻繁?
- A: 應該不會, 設定檔有寫下述: (我猜平常應該寫在 RAM, 固定時間寫入 File)
# how often (in seconds) interface data is updated UpdateInterval 30 # how often (in seconds) interface status changes are checked PollInterval 5 # how often (in minutes) data is saved to file SaveInterval 5
- A: 應該不會, 設定檔有寫下述: (我猜平常應該寫在 RAM, 固定時間寫入 File)
- Q: 資料會不會太大? 造成讀取時卡住?
- A: 應該不會, 依照設定檔應該每個月會換一個新檔案, 設定檔有寫下述:
# on which day should months change MonthRotate 1
- A: 應該不會, 依照設定檔應該每個月會換一個新檔案, 設定檔有寫下述: