隨筆-124  評論-194  文章-0  trackbacks-0
          下載
          進入
          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"參數(shù),因為是bz2包;其它是帶"z"參數(shù)


          編譯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是數(shù)據(jù)源,默認是5分鐘采一次,6:10表示,每隔5分鐘采一次,共采6次計算一次平均值(即半小時),并留10次這樣的平均值(保留5小時數(shù)據(jù))

          加入數(shù)據(jù)
          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象素的線來畫,F(xiàn)F0000是紅色
          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 - 持續(xù)增長值,RRD會前后相減再除時間計算平均值
          GAUGE - 測量值,RRD不做處理,直接存
          DERIVE - 變化值可以為負,其它與COUNTER一致
          ABSOLUTE - 也是不改變其值,直接存(與GAUGE有何區(qū)別呢?)

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


          以上內容主要參考如下網(wǎng)頁:
          http://oss.oetiker.ch/rrdtool/doc/rrdbuild.en.html
          http://oss.oetiker.ch/rrdtool/tut/rrdtutorial.en.html
          posted on 2006-12-06 18:45 我愛佳娃 閱讀(12099) 評論(1)  編輯  收藏 所屬分類: 工具使用

          評論:
          # re: RRDTool的安裝及使用向導 2010-09-10 11:37 | liuts
          ABSOLUTE - 也是不改變其值,直接存(與GAUGE有何區(qū)別呢?)
          ABSOLUTE=(value-0)/setup,算的是平均值。
            回復  更多評論
            
          主站蜘蛛池模板: 天镇县| 合水县| 黔西县| 固镇县| 沙河市| 遂川县| 九寨沟县| 甘洛县| 建阳市| 合作市| 丰镇市| 巨野县| 阳朔县| 马龙县| 边坝县| 宝丰县| 万年县| 龙岩市| 杨浦区| 铁岭县| 河北省| 会理县| 辉县市| 正镶白旗| 古浪县| 嘉禾县| 湛江市| 长宁区| 陕西省| 嵊泗县| 庄浪县| 赤壁市| 铜川市| 北宁市| 博罗县| 澄江县| 内丘县| 二连浩特市| 黔江区| 毕节市| 前郭尔|