RRDTool的安裝及使用嚮導

http://www.blogjava.net/alwayscy/archive/2006/12/06/85775.html 安裝

http://xingxing5421.blog.163.com/blog/static/119446319201082534716623/ 排錯

 

下載
進入

http://oss.oetiker.ch/rrdtool/pub/
下載最新的RRDTool

再進入
http://oss.oetiker.ch/rrdtool/pub/libs/
下載所需要庫:
[   ]freetype-2.1.10.tar.bz2   04-May-2006 15:18  1.0M  
[CMP]libpng-1.2.10.tar.gz      04-May-2006 15:18  813K  
[CMP]libart_lgpl-2.3.17.tar.gz 04-May-2006 15:18  386K  
[CMP]zlib-1.2.3.tar.gz         18-Jul-2005 15:38  485K  


設置目錄

設置安裝目錄及編譯目錄:
BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/usr/local/rrdtool-1.2.15
mkdir -p $BUILD_DIR
cd $BUILD_DIR

把下載的所有庫放入這個目錄


編譯Zlib

tar  zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
make
make install


編譯LibPng

tar zxvf libpng-1.2.10.tar.gz
cd libpng-1.2.10
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
    ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install


編譯FreeType

tar jxvf freetype-2.1.10.tar.bz2
cd freetype-2.1.10
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
    ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install

注意:此處解壓是帶"j"參數,因爲是bz2包;其它是帶"z"參數


編譯libart_lgpl

tar zxvf libart_lgpl-2.3.17.tar.gz
cd libart_lgpl-2.3.17
env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install


編譯RRDTool

IR=-I$BUILD_DIR/lb/include
CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
LDFLAGS="-L$BUILD_DIR/lb/lib"
CFLAGS=-O3
export CPPFLAGS LDFLAGS CFLAGS

./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make clean
make
make install

最後,可以將BIN目錄加入PATH:
export PATH=/usr/local/rrdtool-1.2.15/bin:$PATH



使用要點
建庫
  rrdtool create test.rrd             \
           --start 920804400          \
           DS:speed:COUNTER:600:U:U   \
           RRA:AVERAGE:0.5:1:24       \
           RRA:AVERAGE:0.5:6:10

DS是數據源,默認是5分鐘採一次,6:10表示,每隔5分鐘採一次,共採6次計算一次平均值(即半小時),並留10次這樣的平均值(保留5小時數據)

加入數據
rrdtool update test.rrd 920808300:12420 
即以time:value對的方式向它添加

出圖
rrdtool graph speed.png                                 \
        --start 920804400 --end 920808000               \
        DEF:myspeed=test.rrd:speed:AVERAGE              \
        LINE2:myspeed#FF0000

LINE2表示用2象素的線來畫,FF0000是紅色
DEF是定義一個變量

計算後出圖
rrdtool graph speed3.png                             \
     --start 920804400 --end 920808000               \
     --vertical-label km/h                           \
     DEF:myspeed=test.rrd:speed:AVERAGE              \
     "CDEF:kmh=myspeed,3600,*"                       \
     CDEF:fast=kmh,100,GT,kmh,0,IF                   \
     CDEF:good=kmh,100,GT,0,kmh,IF                   \
     HRULE:100#0000FF:"Maximum allowed"              \
     AREA:good#00FF00:"Good speed"                   \
     AREA:fast#FF0000:"Too fast"

CDEF是計算變量
kmh=myspeed,3600,*表示,kmh是myspeed*3600,引號是爲防止*被誤解
kmh,100,GT,kmh,IF表示,((( kmh,100 ) GT ), 0, kmh) IF,也即判斷是kmh大於100取0值,否則取值kmh
HRULE是畫一條警戒線

DS種類
COUNTER - 持續增長值,RRD會前後相減再除時間計算平均值
GAUGE - 測量值,RRD不做處理,直接存
DERIVE - 變化值可以爲負,其它與COUNTER一致
ABSOLUTE - 也是不改變其值,直接存(與GAUGE有何區別呢?)

最大值的WRAP
當到達最大值時,COUNTER會被RESET,導致前後兩值相減爲負,這不符合COUNTER的定義,所以它會嘗試使用32位的最大值與這個負值相加來得到正常的正值,如果還是負,它會嘗試用64位的最大值來使它變正。大部分情況可以處理。


以上內容主要參考如下網頁:
http://oss.oetiker.ch/rrdtool/doc/rrdbuild.en.html
http://oss.oetiker.ch/rrdtool/tut/rrdtutorial.en.html

 

安裝cacti-ddrtool時報錯configure: error: Please fix the library issues listed above and try again  

最近,在安裝ddrtool,進行編譯時,提示如下:

#./configure --prefix=/usr/local/ddrtool

configure: error: Please fix the library issues listed above and try again.

解決方法如下:

安裝pango

yum -y install pango*

安裝libart_lgpl-devel這個包
yum -y install libart_lgpl-devel

這樣,安裝完成後就可以繼續了

config.status: creating po/Makefile
config.status: executing default commands
checking in... and out again
ordering CD from http://tobi.oetiker.ch/wish .... just kidding ;-)

----------------------------------------------------------------
Config is DONE!

          With MMAP IO: yes
      Build rrd_getopt: no
       Static programs: no
          Perl Modules: perl_piped perl_shared
           Perl Binary: /usr/bin/perl
          Perl Version: 5.8.8
          Perl Options: PREFIX=/usr/local/rrdtool LIB=/usr/local/rrdtool/lib/perl/5.8.8
          Ruby Modules: ruby
           Ruby Binary: /usr/bin/ruby
          Ruby Options: sitedir=/usr/local/rrdtool/lib/ruby
    Build Lua Bindings: no
    Build Tcl Bindings: no
 Build Python Bindings: yes
          Build rrdcgi: yes
       Build librrd MT: yes
           Use gettext: yes
           With libDBI: no

             Libraries: -lxml2 -lcairo -lcairo -lcairo -lm  -lcairo -lpng12   -lglib-2.0   -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

Type 'make' to compile the software and use 'make install' to
install everything to: /usr/local/rrdtool.

       ... that wishlist is NO JOKE. If you find RRDtool useful
make me happy. Go to http://tobi.oetiker.ch/wish and
place an order.

                               -- Tobi Oetiker <[email protected]>
----------------------------------------------------------------

#make && make install

這樣,ddrtool就安裝完成了

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章