RRDTool

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(RRD adatbázis állomány elkészítése)
(RRD adatbázis állomány elkészítése)
18. sor: 18. sor:
 
Először alaposan át kell gondolni, hogy mit szeretnénk tárolni. Egy létező adatbázist kibővíteni jelenleg még nem lehet.
 
Először alaposan át kell gondolni, hogy mit szeretnénk tárolni. Egy létező adatbázist kibővíteni jelenleg még nem lehet.
   
Hozzunk létre egy adatbázist, amiben a gépünk egyik ethernet interfészének ki- és bemenő forgalmát rögztjük.
+
Hozzunk létre egy adatbázist, amiben a gépünk egyik ethernet interfészének ki- és bemenő forgalmát rögzítjük.
   
 
rrdtool create localpc_traffic_eth0.rrd \
 
rrdtool create localpc_traffic_eth0.rrd \
31. sor: 31. sor:
 
Az első paraméter a create, tehát létrehozás.
 
Az első paraméter a create, tehát létrehozás.
   
A második az rrd adatbázisállomány neve, amely 1-19 karakter hosszú lehet és [a-zA-Z0-9_] karaktereket tartalmazhat.
+
A második az rrd adatbázis állomány neve, amely 1-19 karakter hosszú lehet és [a-zA-Z0-9_] karaktereket tartalmazhat.
   
 
A --step értéke a legkisebb kezelt lépésközt adja másodpercben. Ez a feladattól függ, nekünk most elég az 5 perces lépésköz.
 
A --step értéke a legkisebb kezelt lépésközt adja másodpercben. Ez a feladattól függ, nekünk most elég az 5 perces lépésköz.
41. sor: 41. sor:
 
*DERIVE: Hasonló a counter-hez, de nincs túlcsordulás ellenőrzés. Paraméterei: heartbeat:min:max
 
*DERIVE: Hasonló a counter-hez, de nincs túlcsordulás ellenőrzés. Paraméterei: heartbeat:min:max
 
*ABSOLUTE: A gyorsan túlcsorduló számlálók részére, amelyeket minden kiolvasás után nullázunk. Paraméterei: heartbeat:min:max
 
*ABSOLUTE: A gyorsan túlcsorduló számlálók részére, amelyeket minden kiolvasás után nullázunk. Paraméterei: heartbeat:min:max
*COMPUTE:Házi feladat.
+
*COMPUTE: Házi feladat.
   
 
A típusoktól függő paraméterek magyarázata:
 
A típusoktól függő paraméterek magyarázata:

A lap 2007. december 28., 20:03-kori változata

Az RRDTool egy meghatározott időszakról képes adatokat tárolni és ezeket grafikonon megjeleníteni. A tárolt adatok körbeforgó adatbázisban tárolódnak (RRD: Round Robin Database), ahol a legrégebbi adatot írja felül a legújabb. Így az adatbázis mindig ugyanakkora.

Fontos tudni, hogy az RRDTool nem képes összegyűjteni az adatokat. Az információt bizonyos időközönként kell beletölteni, ez történhet Cron-ból vagy akár a munin-nal (A munin működése) . Viszont, ha nem sok gépet szeretnénk monitorozni, vagy csak kevés jellemzőt figyelünk, akkor érdemesebb szkriptelni, mert így kevesebb erőforrást használunk fel.

Az erőforrás-gazdálkodás szempontjából fontos lehet az is, hogy ha gyakran és egyszerre többen nézzük a grafikonokat, akkor érdemes bizonyos időközönként ismételve generáltatni a képeket, egyéb esetben akár a php oldal is előállíthatja nekünk, amikor éppen szükség van rá.

A program egyszerű és ebből kifolyólag robusztus, de nem árt rendszeresen mentéseket készíteni az adatbázis állományokról.

A mentéseken kívül a program egyetlen kimeneti megjelenése a grafikon.

Tartalomjegyzék

1 Telepítés és használat

Jelenleg az RRDTool csomagját a legtöbb disztribúció tartalmazza. Így telepítése egyszerű:

apt-get install rrdtool

2 RRD adatbázis állomány elkészítése

Először alaposan át kell gondolni, hogy mit szeretnénk tárolni. Egy létező adatbázist kibővíteni jelenleg még nem lehet.

Hozzunk létre egy adatbázist, amiben a gépünk egyik ethernet interfészének ki- és bemenő forgalmát rögzítjük.

rrdtool create localpc_traffic_eth0.rrd \
--step 300 \
DS:traffic_in:COUNTER:600:U:U \
DS:traffic_out:COUNTER:600:U:U \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:288:365 \
RRA:MAX:0.5:1:288 \
RRA:MAX:0.5:288:365

Az első paraméter a create, tehát létrehozás.

A második az rrd adatbázis állomány neve, amely 1-19 karakter hosszú lehet és [a-zA-Z0-9_] karaktereket tartalmazhat.

A --step értéke a legkisebb kezelt lépésközt adja másodpercben. Ez a feladattól függ, nekünk most elég az 5 perces lépésköz.

A DS (Data Source) vezeti be az adatforrásokat, paraméterei kettősponttal elválasztva. Az első az adatforrás neve, a második a típusa, a többi argumentum jelentése pedig a típustól függően változik. A típusok:

  • GAUGE: egyszerű szám pl hőmérséklet, létszám, jel-zaj viszony... Paraméterei: heartbeat:min:max
  • COUNTER: számláló, olyan folyamatosan növekvő értékek, amelyek csak a számláló túlcsordulása esetén csökkenhetnek. pl adatforgalom. Az értékek mennyiség/sec formában tárolódnak. Paraméterei: heartbeat:min:max
  • DERIVE: Hasonló a counter-hez, de nincs túlcsordulás ellenőrzés. Paraméterei: heartbeat:min:max
  • ABSOLUTE: A gyorsan túlcsorduló számlálók részére, amelyeket minden kiolvasás után nullázunk. Paraméterei: heartbeat:min:max
  • COMPUTE: Házi feladat.

A típusoktól függő paraméterek magyarázata:

  • Heartbeat: Két adabázis-frissítés között eltelt idő maximuma másodpercben. A heartbeat általában kétszerese a step-nek. Ha ennyi idő elteltével sem érkezik adat, akkor ismeretlen (Unknown) érték lesz letárolva, a grafikonon ez kihagyásként jelentkezik. Ha két adatfeltöltés között több lépésköz is kimaradt, de a heartbeat még nem telt le, akkor a program az előző és a legfrissebb adatból interpolál. Ezért úgy érdemes megválasztani az értéket, hogy a kisebb hibákat elfedje, de a nagy hibák kiderüljenek.
  • Min: A minimális érték. U=Unknown
  • Max: A maximális érték. U=Unknown . Ha min/max esetén a beírandó érték a megadott határokon kívül esik, akkor ismeretlen (Unknown) érték lesz letárolva. Pl forgalomszámlálásnál a szélsőértékek lehetnek a hálózati eszköz vagy kapcsolat által megszabott határok. A min és max értékek segítenek az RRDTool-nak ellenőrizni a friss értékek valósságát.

DS blokkból több is lehet, egymástól szóközzel elválasztva. Esetünkben kettő adatforrást tárolunk. A DS blokkok után következnek az RRA blokkok, amelyek az adatok eltárolását határozzák meg.


Az adatok eltárolásának a következő módjai vannak:

  • AVERAGE: az adott lépésközben beírt adatok átlagát tárolja (nagyobb léptékű megjelenítés esetén is "szép" grafikont ad)
  • MIN: az adott lépésközben beírt adatok maximumát tárolja
  • MAX: az adott lépésközben beírt adatok minimumát tárolja
  • LAST: az adott lépésközben beírt adatok utolsó értékét tárolja

A mód megadása után következik három érték:

  • xff: értéke általában 0.5, a programot az ismeretlen értékek kezelésében befolyásolja
  • steps: a lépésköz (--step) szorzója, ennyi időközönként tárolunk le egy adatot. Érdemes hozzáigazítani a grafikonhoz.
  • rows: sorok száma, azaz a tárolt rekordok száma.

A mi esetünkben tároljuk az átlagot és a maximumot, 5*1 percenként 288 sort (5min*288=1 nap) és 5*288 percenként 365 sort (1nap*365=1 év). Természetesen a 365 érték nem fog szép éves grafikont adni pl 800 képpont szélesség esetén, ezért érdemes lehet gyakrabban és több sort tárolni, pl 0.5:100:1100. A két utolsó paraméter és a lépésköz szorzata adja az adatbázis körbefordulási idejét. Tehát 100*1100*300sec=382nap.

3 Adatok írása az adatbázisba

4 Mentés (backup)

5 Visszaállítás (restore)

6 Grafikon készítése

7 Példák az alkalmazásra

Személyes eszközök