租用獨立主機 ( dedicated servers ) 的自由度很高,但是對於流量使用還是多少都有一些限制。以我租用的 layeredtech 方案來說,一個月的流量限制是 1500GB,這個流量看起來很大,但是如果一起使用的朋友有新的攝影作品發表時,那個流量的使用使用可是多得怕人,有時候還是深怕使用的流量超過了限制。
雖然流量超過請出信用卡就可以解決了,主機商也會提供一個很完整的流量統計讓你知道實際的使用情形,但是人總是狐疑的動物會懷疑這個流量表到底準不準,也有時你用的機器並沒有提供這些服務,這個時候你就找一些代用的方式來分析。早期我都是使用 mrtg 來偵測與分析流量,安裝與使用方式可以見阿駕哥哥 的 blog,我都是照他的步驟來處理。
MRTG 真的很好用,不但可以做最基本的流量統計,甚至連 CPU 負荷、記憶體使用、使用人數通通都可以做成圖表統計,分成「每日 圖表 (5 分鐘 平均)」、「每週 圖表 (30 分鐘 平均)」、「每月 圖表 (2 小時 平均)」與「每年 圖表 (1 天 平均)」讓你一目了然。
但是不知道是不是要怪自己不求精進,還是乾脆怪阿駕哥哥沒有寫教學,用了好久的 MRTG 後某天。有一次我想要找出過去 24 小時的使用總流量時,居然無法從都是使用平均值的圖表上面計算出來。
於是我就開始尋找一個可以用數據的方式來計算流量的軟體,說實話這一類的軟體在 linux 上面蠻多的,iptraf 就是一個很經典的軟體,但是在 FreeBSD 上面問了好多朋友都沒有很肯定的答案。
最後讓我找到了 VnStat 這個統計流量的軟體。
VnStat 吸引我的地方第一個當然是免費而且可以在 FreeBSD 底下執行,再者這個軟體很小,最重要的是如果你沒有 root 的權限也可以安裝。
安裝的方式很簡單,先下載最新版的 VnStat 後解開,進入目錄後首先進行編譯的動作,接著測試核心是否可以執行。
# make && make install
# vnstat --testkernel
沒有問題以後,請先找出你的網路卡代號(我使用的是 em0),確定後開始把資料寫入。
# vnstat -u -i em0
程式會在 /var/db/vnstat 寫入一個跟網路卡代號相同名稱的檔案,以我為例為 em0。
接下來請執行 vnstat 看看會不會出現類似下圖的統計資訊,沒有問題的話就可以丟到 crontab 去跑了
VnStat 可以出現的訊息視需求分成很多種,視你的需求可以利用以下的參數來出現需要的資訊。
- -h : 24hr 的流量統計
- -d : 一個月每天的流量統計
- -m : 一年每月的流量統計
- -t : Top 10 的流量統計
- -w : 過去七天與上週跟本週的流量總計
要看這些總計資訊有一個比較麻煩的地方,就是得 ssh 進去執行指令。但總不能老是 ssh 進來看數值吧?於是又開始尋找能不能有跟 MRTG 一樣利用網頁來呈現的 php 程式,最後找到了 vnStat PHP frontend 這個程式。
vnStat PHP frontend 就如其名是一個 VnStat 的 php 程式前端,下載後編輯壓縮檔內的 config.php,大概是改以下兩項:
- $iface_list = array('em0');
em0 請改成你的網路卡卡號 - $data_dir = '/var/db/vnstat';
請把 /var/db/vnstat 改成你存放資料的目錄
就可以利用瀏覽器看到跟 ssh 進去執行參數一樣的圖形介面囉!以下是一些參考抓圖。
流量總表
過去 24hr 的流量統計
VnStat 的圖形介面
這樣看起報表就更方便囉!
備註:
本文以 FreeBSD 說明,但是 VnStat 也可以使用於 linux 。
.
相關文章:
對不起,最近太不用功找新東西了 :p
這個感覺很不錯耶!會想裝看看 😀
大大您好...我也安裝了這個東西...但是有一個問題..我的圖沒有出現說
是不是要安裝其他的東西才能顯示啊
@amoswang:
您的 php 有沒有安裝 GD 模組呀!?
有的..我的GD模組是ENABLED
我的參考網址 http://www.tmaxwang.idv.tw/phpinfo.php
VNSTAT網址
找了二天還是搞不定
我知道原因了..因為我沒安裝SVG的PLUG-IN啦....裝了IE就可以看了...FIREFOX和OPERA都內建支援啦..可是另一個問題...顏色那可以修改啊
我安裝vnstat之後
我在安裝vnStat PHP frontend之後
我有去修改config.php內的東西
可是我的線上流量沒有偵測到我的網路卡
弄很久了還是沒辦法線上偵測
@小魚:
有可能是你的 vnStat PHP frontend 他要讀的資料位置不同的關係
建議您從這一方面著手
各位大大安安
小弟是"VnStat 的圖形介面"跑不出來
1.打指令說沒有vnstati
2.apache關掉重開說正在使用中?!
3.也有把vnstat.cgi加到cgi-bin資料夾中
(以上都是網路搜尋出來的可能解決方式...>_<)
都試過還是無效
所以還請熱心大大幫忙
感激不盡
我的是Debian滴
現在是vnstati安裝好了
但問題仍存在...