X

Linux 監控網路流量的 vnstat 架設

於 Linux 想要看機器頻寬使用狀況, 而且於 CLI 介面就想要可以看到, 可以分 day / week / 即時 / top10 .. 等等, 可以考慮此套件.

Linux 監控網路流量的 vnstat 架設

vnstat 安裝、設定

  1. apt-get install vnstat
  2. vim /etc/vnstat.conf # 設定
    • Interface "eth1" # 設定 default interface, 於此改成自己對外的網卡比較方便
    • DatabaseDir "/var/lib/vnstat" # location of the database directory
    • 註: db: /var/lib/vnstat/eth1
  3. /etc/init.d/vnstat restart
  4. 到此即可, 再來就會開始統計, 把資料寫入 /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
  • Q: 資料會不會太大? 造成讀取時卡住?
    • A: 應該不會, 依照設定檔應該每個月會換一個新檔案, 設定檔有寫下述:
      # on which day should months change
      MonthRotate 1

相關網頁

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post