Doporučujeme přečíst také předchozí díl seriálu.
Dále je potřeba vytvořit vstupní metodu dat ( Data input method
). V menu položka Data input Methods
a Add
. Vytvoříme metodu load_dim
. Doporučuji si za názvy přidávat identifikátor (_dim pro Data Input Method, _gt pro Graph Template), jinak se při dalším použití můžete ztratit. Z roletky vyberte Script/Command
a jako Input string
zadejte:
$ ssh cactiquery@ -p22 '~/load.sh'
Co je zadáno ve špičatých závorkách, bude později dotazováno při vytváření šablony dat. Pokud použijete slovíčko hostname, bude použito hostname z definice hostu. Díky tomu nám stačí pro monitorování více strojů stejná vstupní metoda. Volá se vždy s jinou adresou. Dále si přidáme vstupní a výstupní sloupce. U output polí se musí shodovat názvy s návěštími, které vrací skript. Výsledek by měl vypadat nějak takhle:
Nyní musíme vytvořit několik šablon.
Část prvků ve všech šablonách má společné atributy:
- u většiny položek můžeme zaškrtnout checkbox
"Use Per-Data Source value (Ignore this value)"
. To se může někdy hodit, stejná věc se používá u šablony pro graf. Ve výchozím (nezaškrtnutém stavu) se při generování dat a grafu použije údaj ze šablony. Při zaškrtnutí se systém při generování grafu zeptá na údaj a můžeme tak generovat grafy s různými výjimkami (jiné popisky, velikosti, …). - v některých položkách můžeme použít klíčové slovo host_description uvozené znaky |. Při zpracování se klíčové slovo nahrazeno popisem stroje, který jsme zadali při zadávání monitorovaného stroje. Před nebo za klíčové slovo můžeme dodat vlastní text. V grafu se pak objeví náš text i popis hostu.
Nejprve musíme vytvořit datovou šablonu (menu "Data Templates"
a "Add"
). V první polovině formuláře nastavujeme pouze názvy, časy a krok. V názvu můžeme použít výše zmiňované |host_description|. Nezapomeňte z roletky zvolit náš DIM. Po kliknutí na create budete vráceni na stejnou stránku a ještě musíte definovat 3 výstupní sloupce (tlačítko "New"
vpravo). U každého z nich nastavujeme jméno (doporučuji dodržet shodnost s návěštími – 1min, 5min a 15min), dále jejich min a max hodnoty a svazujeme je (pomocí "Output field"
) s hodnotami v DIM. Data source type
je u těchto dat GAUGE
. U počítaných dat zvolte counter
. Nakonec je zde položka Hostname, kterou ponechte beze změny. Výsledek bude vypadat nějak podobně:
Teď už potřebujeme jen šablonu pro graf (menu "Graph Templates"
a "Add"
). Ta je trochu náročnější. Nejprve zadáme název (load_remote_gt), můžeme definovat rozměr grafu, měřítko, odsazení, …). Pokud většinu necháte ve výchozím stavu, neuděláte chybu, grafy vypadají pěkně. V titulku je možné opět použít slovo |host_description|
. Po té klikneme na create. Jsme vráceni na tu samou stránku, ale nahoře už můžeme definovat položky, které chceme grafovat.
Budeme zobrazovat 3 hodnoty, takže následující postup musíme provést 3×. V Tabulce "Graph Template Items"
klikneme na "Add"
a na zobrazeném formuláři vybereme správný Data source
( load_remote_dt
(1, 5 a 15 min)). Nezapomeňte vybrat rozdílné barvy. Jako Graph item Type zvolíme AREA. Dále můžeme hodnotu nejprve přizpůsobit pomocí CDEF funciton
(matematické funkce). Je možno použít předpřipravené funkce (převod mezi bity a bajty, vydělení 1024 apod.) nebo si v menu Graph management -> CDEFs
definovat vlastní. Můžeme zadat popis (text format). Výsledek bude vypadat takto:
Tím přidáme hodnotu do grafu, ale můžeme víc. Pokud znovu klikneme na Add
, vybere stejný Data Source
, ale jako Graph item Type
zvolíme LEGEND
, Cacti nám vygeneruje pod graf popisky a bude zobrazovat, min, max a průměrnou hodnotu. Dále můžeme třeba udělat odsazení. Pro představu doporučuji projít si některé hotové grafy. Je možné si tu hodně pohrát.
A tím máme hotovo. Už stačí pouze v "Devices"
zvolit náš stroj, kliknout na "Create Graphs for this Host"
a v části "Graph template"
zvolte náš "load_remote_gt"
a tlačítko "Create"
.
Data se budou z našeho stroje vyčítat, ukládat a je možné zobrazovat graf. Ještě je musíme zařadit náš graf nebo celý server do přehledu grafů. To provedete v "Graph Trees"
. Zde jej můžeme vložit do výchozí větve nebo vytvořit jinou. Do ní pak lze přidat samotný graf nebo celý server. Dále si můžete určit třídění v této větvi, vytvořit další podvětve apod. Můžete si udělat různé větve, graf může být ve více větvích. Někdy nás třeba zajímá jen jeden host a všechny jeho hodnoty (CPU, HDD, síťové karty), jindy zase třeba chceme mít v jedné větvi jen vytížení CPU všech serverů v našem clusteru. To už je na Vás.
Ještě nám zbývá "Host template"
. Nic už nás nenutí jej použít, ale může usnadnit práci. V Cacti je jich několik šablon pro různé typy hostů připravených (Windows 2000/XP host, Cisco router, Local Linux machine, …). Ke zvolenému typu jsou přiřazené grafy. Když si třeba vyberu Windows 2000/XP host a chci generovat grafy, Cacti mi nabídne grafy, které má pro Windows definované a v podstatě na jeden klik je všechny vytvoří. Jinak by bylo nutné vždy vybrat z roletky graf, vygenerovat a takhle pokračovat s dalším. Nic nám nebrání si udělat vlastní Host template, třeba pro Linux, přidat do něho náš load, k tomu třeba počet přihlášených uživatelů, který už je přímo v Cacti a další grafy. Potom si pro naše Linuxy nastavit tento host template a začít generovat, třeba takhle:
V případě problémů nám může pomoci několik věcí. V menu „Data Sources“ po kliknutí na příslušný zdroj dat je možno si zobrazit debugovací informace RRD. To samé jde přímo i pro graf v menu "Graph Management"
. Pokud zde chyba není a v grafu nic nevidíte, zkontrolujte, zda jste vybrali barvu pro grafovanou hodnotu. K zobrazování hodnot nedojde ani v případě, když grafovaná hodnota je mimo min/max rozsah zadaný v Data template nebo Graph template. Pokud nedochází k vyčítání dat, zkontrolujte si ssh (nejsnáze jak bylo popsáno výše) a projděte Cacti log. U logování lze nastavit několik úrovní včetně debugování. V případě velkých problémů je možné poller spustit ručně a sledovat jeho výstup.
Na rozdíl třeba od mrtg
takto získáváme více možností než jen grafovat In-out bity nebo jen dvě hodnoty bez možnosti si graf nějak přizpůsobovat. RRD Tool nám umožní takové grafy, ale ne tak snadnou správu grafů, zobrazení a strojů. Jak vidíte, Cacti nabízí mnohem víc.