Rendszerfelügyelet segítségével rrdtool
Azt hiszem, szinte minden rendszergazda látott érdekes grafikonok azt mutatják, hogy a statisztikai adatokat egy adott ideig. Egy példa az ilyen ábrázolás szolgálhat statisztika mutatja a honlapon. Az ilyen diagramok vonható eszközök segítségével a csomagolásból rrdtool. Rrdtool - egy sor eszközök dolgozó a gyűrű alakú alap adatok (RRD), tárolás, feldolgozás és megjelenítés a dinamikus (időben változó) adatokat szekvenciák, mint például a hálózati forgalom, a hőmérséklet, CPU, stb Rrdtool nagyon könnyen integrálható a bash script, ott is kötelező könyvtárak formájában a Perl, Python, Ruby. Minden fellépés fogom tölteni a gépen futó FreeBSD 8.3.
RRD - ez a gyűrű az adatbázisban. A fő jellemzője ez az adatbázis, hogy mindig van egy fix méretű. Ez, ha eléri a végén minden területen egy adatbázisban, az adatokat írt a legelején, így törlés korábban. Az RRD helyett táblák, oszlopok és egyéb területeken a fogalmak kerülnek bevezetésre. Ez az úgynevezett adatforrások (DS), amelyek önmagukban nem tárolja. Az egyszerűség kedvéért úgy is értelmezhető, mint a rendszeres oszlop a táblázatban. Az adatok tárolásának van rendelve a gyűrű archívumok (RRA). RRA van kötve egy adatforrás, és olyan tulajdonságai vannak, mint például: a sejtek száma; alkalmazott funkció konszolidáció; idő elteltével a funkció adatokra alkalmazzuk konszolidáció, és az eredmény a működés van írva a következő cellába. Talán ez minden, amit tudni kell a szerkezet az adatokat a RRD.
Abban az időben az írás, verzió 1.4.5 elérhető portok. Szóval, menj és tedd portok (megjegyzendő, hogy a kikötők több változata van ennek a csomagnak):
Amellett, hogy az alapértelmezett beállításokkal rendelkezik Kijelölöm DejaVu. Megjegyzés - Ha azt akarjuk, hogy aláírja grafika orosz betűk, szükséges, hogy egy kullancs a DejaVu opciót. különben helyett orosz betűket is halandzsa. Ahhoz, hogy a kis kikötő sajnos magával rántja jó néhány függőségek, például bőbeszédű könyvtár, Kairó, x11. A telepítés után a szükséges port egy sor eszközt telepítésre kerül.
Az összes szkript már tárolva van a home könyvtár a felhasználó gyökeret rrd könyvtárba, és minden típusú statisztikák létrehozta saját alkönyvtár. Minden ilyen könyvtárak maga az adatbázis és a három szkriptek, amelyek felelősek létrehozásához és az adatbázis frissítését, valamint a rajz grafikonok.
Kövesse ezt a hierarchiát nem szükséges, mert akkor sokkal kényelmesebb tartani az egészet, mint valami mást.
A csomag rrdtool némi eszközöket és egyikük ugyanaz a neve - rrdtool. Ezzel lehet elvégezni a különböző manipulációk gyűrűs adatbázis (create / változás adatbázis frissítés / letölteni adatokat grafikonokat, stb.) A segédprogram szintaxisa a következő:
Ezután fogom leírni néhány parancsot (további információért forduljon a dokumentációt):
- Létrehozása gyűrű adatbázisban
A paraméterek leírása:
- fájlnév - a fájl nevét.
- --kezdeni, -b - óta eltelt időt másodpercekben a Unix korszakalkotó (1970-01-01 UTC), amellyel ott van a statisztikai adatok gyűjtése. Rrdtool nem fogadja régebbi adatokat a megadott időben itt. Alapértelmezett: most - 10 másodperc.
- --lépésben -s - az intervallumot, amely adatokat küld az adatbázisba. Alapértelmezett: 300 másodperc.
- --nem írja felül, -O - nem írja felül a meglévő fájlt ugyanazzal a névvel.
- DS: DS-name: DST DST érvek - adatforrást, vagy még egyszerűbben - az oszlop az adatbázisban, ahol az adatokat tárolják.
- ds-name - az oszlop nevét (ez nem lehet hosszabb, mint 19 karakter, és érvénytelen karakterek: [a-zA-Z0-9_]).
- DST - típusú adatforrást. Lehetnek:
- GAUGE - alkalmas az adatok típusa: hőmérséklet, CPU és a memória mérete.
- Counter - adattárolásra a számlálók, például a forgalom. Magától értetődik, hogy a számláló értéke nem csökken, kivéve, ha tele van.
- DERIVE - számláló, amely csökkenhet.
- ABSOLUTE - ugyanaz a számláló, de ez vissza elolvasása után.
- COMPUTE - lehetővé teszi, hogy meghatározza a képlet RPN-adatokat.
- szívverés - a másodpercek számát kell várni az adatokat a cella, amely után az érték jelölve ismert. Javasoljuk, hogy telepítse a 2 * lépésben.
- min - legalacsonyabb érvényes értéket. Ha nincs határ, akkor itt adja U.
- max - a maximális értéket. Ha nincs határ, akkor itt adja U.
- Átlag - átlagos értéke egy bizonyos ideig
- MIN - minimális érték
- MAX - maximális értéke
- UTOLSÓ - utolsó érték
xff - meghatározatlan értékeket határozza meg a konszolidáció a tartományt, amelyben a konszolidált értéket tekintjük konkrétabb (0..1).
lépések - meghatározza az értékek száma, amely felhasználható konszolidáló funkció, akkor az eredmény a működés van írva, hogy az archívumban.
sorok - a sejtek számát tárolására használt konszolidált adatok.
A paraméterek leírása:
- fájlnév - a fájl nevét.
- --sablon -t - használja ezt a lehetőséget, hogy adjon meg egy sablont, amely lehetővé teszi, hogy meghatározza, amelyben adatforrások és milyen sorrendben szeretné írni az adatbázisba. Ha az adatforrás itt említett, nem a fájl, a felvétel törlésre kerül, és a program fog dobni egy hiba.
- --démon - ha meg van adva, rrdtool megpróbál kapcsolódni a démon rrdcached. Ha a kísérlet nem sikerül, akkor egy hibaüzenet.
- idő | N: érték [: érték. ] - kapcsolatos adatok időben, ami meg van írva az adatbázisban. Ha az idő pont N, akkor helyettesítse az aktuális időt. Idő is beállítható másodpercek elejétől a Unix korszak vagy stílus AT (további részletek a dokumentációban).
- fájlnév - a fájl nevét.
- rranum - RRA számát. megtudhatja a számot rrdtool info paranccsal.
- GROW | SHRINK - fellépés RRA: zoom in / out.
- sorok - száma hozzáadása / eltávolítása sejteket.
Ezzel a paranccsal meg lehet változtatni a jellemzői a bázis vagy egy DS (például nevezd). Tájékoztatásul kapcsolatba a dokumentációt.
Tehát itt az ideje az első esettanulmány)). akkor először meg kell vizsgálni, milyen adatokat kell tárolni, mielőtt az adatbázis létrehozásakor. A legtöbb Unix-szerű rendszerek, a processzor lehet az 5 államok (felhasználó, rendszer, szép, intr, tétlen) és FreeBSD sem kivétel. Azt szeretnénk tárolni minden állam külön-külön, de ha azt akarjuk, hogy legyen valami, hogy egyesítse, egyszerű számtani ezt a feladatot nagyon könnyen megoldani. Tehát szükségünk van egy adatbázis 5 DS (adatforrások). Most el kell döntenie, hogy melyik RRA lesz szükség, és milyen időtartamra, az egyik cella adatait tárolja (a kisebb az intervallum, annál pontosabb a grafikont). A konstrukció pontosabb menetrend adatok eltávolításra kerülnek minden pillanatban, és nem lesz több RRA (elfelejtettem mondani - az adatok tárolására egy évig):
- Minden egyes cella tárolja az adatokat az egyes minták (azaz, a rögzítés minden 60 másodpercben). Annak érdekében, hogy annyi adat tárolására lesz szükség 365 * 24 * 60 * 60/60 = 525600 sejtekben.
- Minden cella tárolja az adatokat 15 percig (azaz az adatok tárolására 15 percig, majd alkalmazni kell a konszolidációs funkciót, és csak akkor, ha van egy rekord). Ahhoz, hogy annyi adat tárolására lesz szüksége 365 * 24 * 60 * 60 / (60 * 15) = 35040 sejtek.
- Minden cella tárolja az adatokat 30 percig. Ahhoz, hogy annyi adat tárolására lesz szüksége 365 * 24 * 60 * 60 / (60 * 30) = 17520 sejtek.
- Minden cella tárolja az adatokat 60 percig. Ahhoz, hogy annyi adat tárolására lesz szüksége 365 * 24 * 60 * 60 / (60 * 60) = 8760 sejtek.
Ui Abban a pillanatban én csak 1 RRA, mások viszont csak abban az esetben, ha egy hirtelen szükség.
Csak légy RRA különböző funkciójú konszolidáció, így lesz megismételni az RRA egyes időintervallumban. Annak érdekében, hogy ne töltse ki minden alkalommal az összes kéz (és egy csomó dolog), akkor jobb, ha írni a forgatókönyvet azonnal. Itt látható a szkript a kívánt adatbázist:
Most meg kell írni egy forgatókönyvet, amely adatokat gyűjt, és töltse ki az alap. Sajnos nincs szabvány a FreeBSD segédprogram, amely megjeleníti a rendszerindítási processzor a képernyőn egy egyszerű értelmezni, mint. Akkor természetesen eltávolítani a terhelés SNMP, de telepíteni és konfigurálni további szoftver nem vadásznak (és mi az, mert lehetséges, hogy érkezik egyszerűbb). Úgyhogy kellett írni egy programot, hogy megoldja ezt a problémát. Itt a kód:
Ez összeállítja a következő parancsot: