.my-article pre { background-color: #111111; border-left: 4px solid var(--color-code, #51cf66); padding: 16px; border-radius: 8px; overflow-x: auto; color: #d0d0d8; font-family: var(--font-mono, 'Cascadia Code', monospace); font-size: 14.5px; margin: 16px 0; line-height: 1.6; } .my-article code { background-color: #1a1a1c; color: var(--color-code, #51cf66); padding: 6px 10px; border-radius: 4px; font-family: var(--font-mono, 'Cascadia Code', monospace); display: block; overflow-x: auto; margin: 10px 0; } .my-article .inline-code { display: inline; background-color: #1a1a1c; color: var(--color-code, #51cf66); padding: 2px 6px; border-radius: 4px; font-family: var(--font-mono, 'Consolas', monospace); margin: 0; }
🚀 伺服器流量老是破表?輕量級監控神器 vnStat 安裝教學,告別網路帳單恐懼症!
🔥 一句話總結: 剛忙完手邊的工作,偷得半日閒,順手想給伺服器裝個流量監控程式。翻來找去,發現了這款名為 vnStat 的神級工具!它短小精幹,安裝比傳統的大型監控軟體簡單太多,還能清楚幫你分析每一滴上傳與下載的流量。今天就來教大家只要 5 分鐘就能搞定的安裝術!
很多新手租了 VPS(虛擬專屬主機)後,最怕的就是 🚨 流量不知不覺超標,下個月收到天價帳單! 為了隨時掌握伺服器的網路吞吐量,我們通常會安裝流量監控軟體。
💡 白話文教室:為什麼選擇 vnStat 而不是 MRTG?
如果要監控流量,老司機可能會推薦你安裝 MRTG 或 RRDTool 等強大的軟體。但這就像是你只是想算算自己每個月花多少伙食費,卻 跑去請了一整間「跨國會計師事務所」 來幫你記帳一樣,設定極度繁雜又吃系統資源!相比之下,vnStat [1] 就像是一個裝在伺服器門口的 ✅ 智慧型數位水表。它在背景默默運作,完全不吃效能,只要你下個指令,它就會立刻把今天的「用水量(流量)」清單印給你,超級省事!🤖🤓🤖
🛠️ 第一階段:打造地基與安裝主程式
-
❶ 安裝依賴套件 (買齊工具箱)
就像組裝 IKEA 家具前要先準備好螺絲起子一樣,我們必須先給系統安裝好編譯環境與 SQLite 資料庫套件。根據你的系統選擇對應指令:🐧 如果你是 Debian / Ubuntu 系統:
1apt-get update && apt-get install -y adduser build-essential gcc libc6 libc6-dev lsb-base make libsqlite3-0 libsqlite3-dev wget🐧 如果你是 CentOS / AlmaLinux 系統:
1dnf install -y gcc gd gd-devel make sqlite sqlite-devel -
❷ 編譯與安裝 vnStat 主程式
接著我們前往 /opt 目錄,下載 vnStat v2.6 的原始碼來親手編譯。這段指令會一口氣幫你下載、解壓縮、安裝,並且把設定檔放到對應的位置,同時賦予權限。12345678910111213cd /optwget https://github.com/vergoh/vnstat/releases/download/v2.6/vnstat-2.6.tar.gztar xzf vnstat-*.tar.gzcd /opt/vnstat-2.6./configure --prefix=/usr --sysconfdir=/etcmake all && make installsleep 1srm -f /etc/vnstat.confcp -f /opt/vnstat-*/cfg/vnstat.conf /etc/rm -rf /var/lib/vnstatmkdir -p /var/lib/vnstatchmod 777 /var/lib/vnstatvnstat --version
⚙️ 第二階段:綁定正確的網路介面 (超重要!) 🤓
🚨 老司機警告:千萬別綁錯水管!
安裝好之後,vnStat 需要知道你要監控哪一條網路線。這就像是一棟房子裡有很多根水管,你必須明確告訴水表要裝在 「大門口的主水管」 上,否則它會什麼數據都抓不到!🛜
-
❸ 查詢與修改網路介面
請先在 SSH 輸入 ifconfig 或 ip a 指令來查看你目前上網用的網路卡名稱。⌨️- 如果是 KVM、Xen 虛擬機或一般的實體 Linux 系統,通常是 eth0。
- 如果是較老舊的 OpenVZ 虛擬機系統,通常是 venet0。
確認好之後,直接透過 sed 指令將 /etc/vnstat.conf 裡面的預設值替換掉:
🔧 【情境 A】設定成 eth0 網路介面:
12sed -i 's#Interface "*"#Interface "eth0"#g' /etc/vnstat.confcat /etc/vnstat.conf | grep Interface🔧 【情境 B】設定成 venet0 網路介面:
12sed -i 's#Interface "*"#Interface "venet0"#g' /etc/vnstat.confcat /etc/vnstat.conf | grep Interface
🚀 第三階段:啟動服務與清潔溜溜
-
❹ 註冊系統服務並啟動
為了讓 vnStat 每次伺服器開機都能自動在背景幫我們記錄流量,我們要將它註冊為 Systemd 服務,啟動後順便把剛才下載的安裝垃圾檔給清掉,保持系統乾淨!💻123456789cp -f examples/systemd/simple/vnstat.service /etc/systemd/system/vnstat.servicechmod +x /etc/systemd/system/vnstat.servicesystemctl daemon-reload && systemctl enable vnstatsystemctl restart vnstat && systemctl status vnstat -l# 清潔溜溜cd /opt/rm -fr vnstat-*pgrep -c vnstatdps ax | grep vnstatd
📊 驗收成果:常用流量查詢指令總整理
打完收工啦!剛剛辛苦這 5 分鐘絕對是值得的 🤓。現在你只要在 SSH 底下輸入對應的指令,超直覺的流量報表就會立刻呈現在你眼前,再也不用瞎猜網路到底用了多少!📊
| 💻 終端機指令 | 📖 報表用途說明 |
|---|---|
| vnstat -m | 📅 顯示「單月」的總流量統計,適合對帳用。 |
| vnstat -d | 📆 顯示「每日」的流量統計(可追溯一個月內的紀錄)。 |
| vnstat -h | ⏰ 顯示「24小時內」每個小時的流量分佈,抓出耗流尖峰。 |
| vnstat -l | ⏱️ 顯示「即時」的簡易網路封包與流量跳動監控。 |
| vnstat -t | 🏆 顯示歷史以來,流量消耗最高的前 10 天排行榜。 |
💡 新手小秘訣:剛裝好如果輸入指令發現數據都是 0 或者顯示錯誤,先別急!因為這顆數位水表才剛裝上去,系統需要運作個 10 到 15 分鐘來累積封包資料,去泡杯咖啡回來再看就有數據囉!📈
