精華區beta FreeBSD 關於我們 聯絡資訊
* 改版記錄 2005/01/27 * first release * Author & License in2 _AT_ in2home.org (in2) The license of this document is: GNU Free Documentation License Version 1.2, November 2002 http://www.gnu.org/licenses/fdl.txt * 前言 mrtg 除了應用於網路流量的監測外,因為它方便的設定以及簡明易懂的 輸出,同時被廣泛應用在統計許多不同的地方 (像統計自動販賣機?) 。 但是 mrtg 也有一些問題,包括最多一個統計項只能包含兩個數值,以及 它暴力繪圖方式會吃掉一卡車的 cpu。 所以我們有了 rrdtool。 rrdtool解決了上面提到的兩個問題 (以及其他) ,但是, rrdtool有一個很大的問題在於,它的設定十分複雜 (也因此功 能強大) ,而且 rrdtool基本上只是一個工具,你還需要自己再寫一個前 端的程式用來餵資料給它,以及把圖畫出來。在你每次使用它之前,你需 要(再)去看一次它的文件-因為你會忘記每個參數的意義。 可是我只是要統計一些簡單的東西!為什麼我要一天到晚看 rrdtool的說 明!以及還要自己寫程式做輸出!像 mrtg 這樣子什麼東西幫我做好好, 直接把東西丟給它它畫面就出來不是很好嗎? 於是就有了 EasyRRD。 * 安裝 您需要先有下面這些東西才能正常執行 EasyRRD : perl /usr/ports/lang/perl5.8 rrdtool /usr/ports/net/rrdtool IO::All /usr/ports/devel/p5-IO-All YAML /usr/ports/textproc/p5-YAML 接著請到 http://www.in2home.org/download/easyrrd 下載,直接解開 到您要的地方 (例如說, /usr/local/www/cgi-bin) 就完成了。 * 設定 請參考 example1.easyrrd.conf 以及 example2.easyrrd.conf ,建議您 可以直接將其改成 easyrrd.conf 再改來使用即可。其中 example1 算是 最簡化的設定檔,您只需要改 Target (後文述) ,而 example2 這個檔 案中包括了所有的 EasyRRD提供的功能。 EasyRRD 的想法是,您只需要將您要統計的資料寫到一個檔案裡面,如果 有多筆資料的話用空白隔開,每五分鐘更新一次,EasyRRD 會直接從那個 檔裡面讀出資料來。所以,您會需要將到底資料放在哪個檔裡面設定給 EasyRRD 知道,也就是 Target 這一項。 至於要怎麼產生這個資料檔呢?如果您要的資料十分複雜的話,或許您要 自行撰寫程式,不過如果您要的資料十分簡單的話,有的時候直接透過一 堆 pipe 就可以達成。例如說我想要統計 vm.kvm_size 和 vm.kvm_free 就直接每五分鐘跑 sysctl vm.kvm_size vm.kvm_free | awk '{print $2}' > MyTarget 再把 MyTarget 設到 EasyRRD設定檔的 Target 就好了。 另外,您需要讓 web server 可以執行 easyrrd.pl 這個程式。您可以直 接用 CGI的方式跑它,透過 Speedy 來執行,或是透過 ModPerl的 ModPerl::RegistryPrefork 都是可以的。 * 執行 請直接切到放置 EasyRRD的目錄下,執行 easyrrdup.pl ,如果有設定 RunAsDaemon (預設) ,則它會每五分鐘自動起來讀一次資料;否則您就 需要每五分鐘執行它一次。 接著您可以開啟 http://yourhost/yourpath/easyrrd.pl,即可看到輸出。 * 範例 twbbs 透過 EasyRRD來統計 dns query 的數量。 設定檔在 http://www.in2home.org/easyrrd/easyrrd.conf 輸出結果 http://www.in2home.org/easyrrd/easyrrd.pl -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.90.74