[Linux] vnStat 網路流量監控工具使用教學


在Linux上有蠻多工具可以用來監控網路的流量,今天要介紹的就是其中一款小巧簡單而且相當容易使用的工具「 vnStat 」,它可以透過指令快速的查詢每5分鐘、每小時、每天、每月、每週、每年等等的流量統計,若你的需求只是單純的看看流量趨勢、統計數據的話,那麼我個人覺得這套小具就足夠了。

官方網站:vnStat – network traffic monitor
本文示範OS:Ubuntu 18.04 Server 英文版

vnStat 安裝

安裝指令如下,等待安裝完成即可
sudo apt install vnstat -y

vnStat安裝指令

vnStat 設定

基本上安裝完vnStat後就可以開始使用,但有些指令可能會去捉組態檔中值,所以建議還是先調整一些基本的設定,尤其是「監控的網卡」,查看網卡名稱的方式很簡單,再之前介紹「Netplan」的時候已有提到,以下就以「ip a」指令做為範例來查詢,以本例來說網卡名稱為「ens33」:

查看網卡名稱

知道了網卡名稱後,請至「vnstat.conf」設定網卡,指令如下:(本文以nano為例,大家可以用自己習慣的編輯器進行修改)

sudo nano /etc/vnstat.conf

請再「Interface」的欄位中,修改成剛剛查詢到的網卡名稱「ens33」,此為設定預設的網卡

vnstat 組態檔設定

因為預設 vnStat 是以「服務」的形式來運作,所以有修改組態檔時,建議可以重啟服務,避免修改的設定無法即時生效,其指令如下:

sudo systemctl restart vnstat.service (重啟服務)
sudo systemctl status vnstat.service (查看服務狀態)

vnStat 重啟服務

在組態檔中還有其他設定可以做調整,這部分後續有時間再補上,目前先最重要的網卡名稱為例,其餘的保持預設值即可。

vnStat 操作/顯示

vnStat的操作蠻簡單的,可以使用「–help」、「–longhelp」或「man vnstat」來查看支援的指令

vnStat --help

比較常用的就是查看各時間區間的數據,例如:每小時/每天/每週/每月/每年,搭配的指令分別為「-h/-d/-w/-m/-y」,以下舉幾個範例:

每天流量數據

查看每天的流量, rx 代表接收的流量, tx 代表傳出的流量,若沒有加額外參數,則會列出各網卡的流量摘要資訊。

vnstat -d

vnStat 每日網路流量

最高流量的前10天

此指令會自動幫我們整理出前10天流量最高的日期

vnstat -t

最高流量的前10天

指定特定網卡名稱

通常一台電腦上可能有不同的網卡名稱,例如你可能有裝Docker,那麼可以透過 -i 的指令,來指定要看哪一張網卡的資訊:

vnstat -i 網卡名稱

vnStat 指定網卡名稱

即時監控流量

如果想要知道即時的網路流量,那麼可以使用 -l 的參數來達成,按 ctrl + c 可以停止統計,並呈現統計期間的摘要資訊,包含輸入/輸出/平均的流量值,另外,也可試試「-tr」參數,vnStat會自動擷取5秒鐘的流量,並計算出流量摘要

vnstat -l -i ens33 (查看ens33這張網卡的即時流量)

vnStat 查看即時流量

延伸閱讀:
[Linux] Ubuntu 如何利用 Netplan 設定 固定IP
[Ubuntu] 如何安裝openssh-server,支援 SSH Server 讓用戶從外部登入操作