- 論壇徽章:
- 0
|
RRDTool的安裝及使用向?qū)?br />
下載
進(jìn)入
http://oss.oetiker.ch/rrdtool/pub/
下載最新的RRDTool
再進(jìn)入
http://oss.oetiker.ch/rrdtool/pub/libs/
下載所需要庫(kù):
[ ]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
設(shè)置目錄
設(shè)置安裝目錄及編譯目錄:
BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/usr/local/rrdtool-1.2.15
mkdir -p $BUILD_DIR
cd $BUILD_DIR
把下載的所有庫(kù)放入這個(gè)目錄
編譯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ù),因?yàn)槭莃z2包;其它是帶"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
使用要點(diǎn)
建庫(kù)
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ù)源,默認(rèn)是5分鐘采一次,6:10表示,每隔5分鐘采一次,共采6次計(jì)算一次平均
值(即半小時(shí)),并留10次這樣的平均值(保留5小時(shí)數(shù)據(jù))
加入數(shù)據(jù)
rrdtool update test.rrd 920808300:12420
即以time:value對(duì)的方式向它添加
出圖
rrdtool graph speed.png \
--start 920804400 --end 920808000 \
DEF:myspeed=test.rrd:speed:AVERAGE \
LINE2:myspeed#FF0000
LINE2表示用2象素的線來(lái)畫(huà),F(xiàn)F0000是紅色
DEF是定義一個(gè)變量
計(jì)算后出圖
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是計(jì)算變量
kmh=myspeed,3600,*表示,kmh是myspeed*3600,引號(hào)是為防止*被誤解
kmh,100,GT,kmh,IF表示,((( kmh,100 ) GT ), 0, kmh) IF,也即判斷是kmh大于100取0
值,否則取值kmh
HRULE是畫(huà)一條警戒線
DS種類
COUNTER - 持續(xù)增長(zhǎng)值,RRD會(huì)前后相減再除時(shí)間計(jì)算平均值
GAUGE - 測(cè)量值,RRD不做處理,直接存
DERIVE - 變化值可以為負(fù),其它與COUNTER一致
ABSOLUTE - 也是不改變其值,直接存(與GAUGE有何區(qū)別呢?)
最大值的WRAP
當(dāng)?shù)竭_(dá)最大值時(shí),COUNTER會(huì)被RESET,導(dǎo)致前后兩值相減為負(fù),這不符合COUNTER的定義,
所以它會(huì)嘗試使用32位的最大值與這個(gè)負(fù)值相加來(lái)得到正常的正值,如果還是負(fù),它會(huì)嘗
試用64位的最大值來(lái)使它變正。大部分情況可以處理。
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u1/40133/showart_1331916.html |
|