RRD tool

http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/.pics/rrdtool.gif RRD Tool je skvělý nástroj, potřebujete-li měřit a kreslit z naměřených dat grafy. První setkání ale může být frustrující. Začal jsem hledat něco na kreslení grafů, nikoli celou databázi. Tak jsem potřeboval chvíli, než jsem koncept RRD Tools přijal. Hlavní, co musíte akceptovat, je, že při vytváření databáze zadáváte také agregační pravidla. Musíte si to řádně rozmyslet, ale stojí to za to, nestane se, že by Vám databáze ucpala disk. Jednou vytvořená databáze se nezvětší ani o kousek.

Zajímalo mě dostupné přenosové pásmo downstream kanálu a dále stav počítadel síťové karty, abych získal záznam, jak moc linku využívám v čase.

Definice databáze je následující:

    rrdtool create /tmp/adsl.rrd \
	--step 900 \
	--start 1107425702 \
	DS:downstream:GAUGE:3600:0:U \
	DS:upstream:GAUGE:3600:0:U \
	DS:rx:COUNTER:3600:0:U \
	DS:tx:COUNTER:3600:0:U \
    \
	RRA:AVERAGE:0.5:1:192 \
	RRA:MIN:0.5:1:192 \
	RRA:MAX:0.5:1:192 \
    \
	RRA:AVERAGE:0.5:2:384 \
	RRA:MIN:0.5:2:384 \
	RRA:MAX:0.5:2:384 \
    \
	RRA:AVERAGE:0.5:4:774 \
	RRA:MIN:0.5:4:774 \
	RRA:MAX:0.5:4:774 \
    \
	RRA:AVERAGE:0.5:20:1776 \
	RRA:MIN:0.5:20:1776 \
	RRA:MAX:0.5:20:1776 \
    \
	RRA:AVERAGE:0.5:96:3650 \
	RRA:MIN:0.5:96:3650 \
	RRA:MAX:0.5:96:3650;

Měření bude probíhat s krokem 900 sec = 15 min, jestliže po dobu 3600 sec = 1 hodina nepřijdou žádná data, bude buňka považována za nedefinovanou - co si pod tím mám představit, moc netuším. Kratší krok není s ohledem na mé použití rozumný, protože by to linku zbytečně zatěžovalo, tedy spíš bych stáhl moc režijních dat.

Definuji 4 datové zdroje. Downstreamupstream typu GAUGE, to je hodnota, která může klesat a stoupat. A dále rxtx typu COUNTER, počítadla síťové karty mohou jen stoupat a v případě přetečení se o korekci postará sama databáze. Jsem zvědav, co se stane, až počítač restartuji a hodnota skočí o hodně.

První Round Robin Archive definuje, že data se nebudou nijak agregovat a budou se skladovat po 192*900 sec = 2 dny. Druhý bude provádět agregaci ze dvou vzorků a bude je uchovávat 384*2*900 sec = 8 dní. Další provádí agregaci po 4 a ukládá data po 31 dní, následují má data za rok a za posledních 10 let.

Kreslení samotných grafů je triviální:

    rrdtool graph $FILE2 \
	--start $FROM --end $TO \
	$DIMENSIONS $COLORS \
	-t "Přenášená data" \
	DEF:y1=$DBASE:rx:MAX \
	DEF:y2=$DBASE:tx:MAX \
	CDEF:y1_=60000,y1,MIN \
	CDEF:y2_=20000,y2,MIN \
	AREA:y1_\#69e869:'rx' \
	LINE1:y1_\#000000 \
	AREA:y2_\#6969e8:'tx' \
	LINE1:y2_\#000000;

Než začnete RRD Tool používat, tak doporučuji dokumentaci na domácí stránce a také článek od Bena Rockwooda. Tenhle software rozhodně stojí za prostudování!


zpět na úvodní článek