Hlavní navigace

Cacti: vše důležité v jednom monitoru

31. 3. 2009
Doba čtení: 5 minut

Sdílet

Dohlížet a monitorovat naše servery, aktivní prvky a další zařízení je důležité. V případě většího počtu zařízení už je to nutnost. Pokud nás systém umí včas varovat, třeba na obsazenou diskovou kapacitu či přetížení systému, můžeme předejít problémům. Existuje několik nástrojů a dnes si představíme Cacti.

Dříve bylo populární nástroj MRTG. Protože ale bylo primárně určeno ke grafování provozu síťových karet, mělo některá omezení, např. zobrazení maximálně dvou hodnot, vzhled grafu se nedal moc ovlivnit, nebylo možno si vybírat časové období, za které graf chceme. Nástupcem je RRD Tool. Pomocí něj se stále sbírají, ukládají a zobrazují data. Cacti je pak nadstavba nad RRD Tool.

Je to nástroj, který nám umožní monitorovat a grafovat opravdu kde co. A umí toho mnohem více. Výhodou je přehledné webové klikací GUI, pluginy, šablony a otevřenost pro vlastní získávání dat a vytváření svých grafů a přehledů. Grafovat jde mnoho věcí, předpřipravené jsou např. šablony pro Unix/Linux, Windows, Novell (CPU, paměť, load, obsazení disků ,..), samozřejmostí jsou síťové karty, ale díky šablonám od uživatelů třeba i Cisco switche (vytížení portů, chyby na portech), Mikrotik, tiskárny (množství toneru), odezvy na ping, …

Malá ukázka grafů:

Cacti graf 1

Graf 1 – počet přihlášených uživatelů k Windows Terminal Serveru

Cacti graf 2

Graf 2 – load unix serveru (1/5/15 min)

Cacti graf 3

Graf 3 – vytížení síťové karty

Cacti graf 4

Graf 4 – vlastní graf – sledování teploty, čteno z čidla na sériovém portu

Cacti graf 5

Graf 5 – počet otevřených souborů na Novell serveru

Cacti graf 6

Graf 6 – uptime Mikrotik systému

Cacti funguje pod Linux/Unix a Windows, ke svému běhu potřebuje PHP, MySQL, RRD tool a Net-SNMP. Dále je nutný nějaký web server, např. Apache nebo IIS pod Windows. Pro periodické spouštění sběrače dat je nutný cron. Instalace je velmi dobře připravena, ani upgrade na vyšší verzi není problém. Stačí pouze nakopírovat nové soubory a Cacti si vše zařídí samo. V poslední době se objevil projekt CactiEZ. To je linuxová distribuce postavená na CentOS s připravenou instalací Cacti.

Další vlastnosti Cacti:

  • udržuje seznam monitorovaných zařízení, jejich dostupnost a umí upozorňovat na jejich výpadky e-mailem
  • grafy můžeme sdružovat do přehledů a ty pak snadno zobrazovat za libovolné období
  • využívat import a export šablon (xml), export naměřených dat
  • debugovat RRD příkazy
  • pomocí Cacti si snadno vytvoříme vlastní zdroje dat, šablony grafů, šablony celých zařízení
  • umožňuje nastavit práva pro uživatele, třeba jen pro prohlížení některých grafů
  • díky pluginům přidat mnoho nových funkcí

Více napoví obrázky:

Cacti obrázek 1

Obr 1 – seznam monitorovaných zařízení, jejich dostupnost a současný stav

Cacti obrázek 2

Obr 2 – detail zařízení a jeho nastavení

Cacti obrázek 3

Obr 3 – zobrazení stromu grafů + časová navigace

Cacti obrázek 4

Obr 4 – konfigurace vlastního grafu

Cacti obrázek 5

Obr 5 – nastavení Cacti

Cacti obrázek 6

Obr 6 – vytváření tresholdu

Cacti obrázek 7

Obr 7 – nastavení stromu grafů

Máme dva základní způsoby získávání dat – SNMP a skripty. SNMP je asi jasné. V systému je několik šablon pracujících se SNMP. A protože šablony můžete vytvářet nové, ale i kopírovat a upravovat stávající, snadno si sesbíráte jakákoli SNMP data. Skripty nám dávají také velkou svobodu. Cacti řekne, co má s jakým parametrem spustit a co má očekávat jako výsledek. A ve vlastním skriptu, třeba v shellu, perlu, … už máme úplnou svobodu v získávání dat. Pomocí ssh a správně vyměněných klíčů si z monitorovacího stroje spustíme vlastní skripty na vzdáleném stroji, které nám vrátí požadované hodnoty a Cacti se postará o jejich zpracování. Sám takhle získávám informace o množství spamů, teplotě, počtu uživatelů, chyb na síťových kartách, …

Co použitelnost Cacti dále zvyšuje jsou Pluginy. Na nasazení pluginů je nejprve nutné nainstalovat Plugin Architecture. Instalace pluginů už je potom jen otázkou nakopírování patřičných souborů na správné místo a zapsání názvu pluginu do konfiguračního souboru. Pluginy jsou ke stažení na adrese cactiusers.org. Některé používané pluginy.

Backup – umožňuje zazálohovat konfiguraci a data našeho Cacti systému

Discovery – vyhledá v sítí zařízení používající SNMP a umožní je snadno přidat do Cacti

Thold – umožňuje vytvořit, nastavit a monitorovat tresholdy. Dále umí plugin posílat e-mailové upozornění při překročení nebo navrácení hodnoty do normálu

Velkou výhodou je široká základna uživatelů Cacti. Na serverech Cacti je dostatek šablon ke stažení pokrývající běžné potřeby. Na serveru forums.cacti.net je udržovaný seznam populárních šablon. Jejich instalace je také velice jednoduchá. Šablony jsou uloženy v XML, pro instalaci je nutné pouze je naimportovat a v některých případech dokopírovat nějaké soubory do příslušného adresáře Cacti. Export funguje stejně. Vyexportovat můžeme i námi vytvořené šablony, poskytnout je ostatním nebo snadno naimportovat na jiný Cacti server. Můžete narazit snad jen při importu šablon z jiných verzí Cacti. I stávající šablony hostů, grafů, zdrojů dat si můžeme upravit dle našich požadavků. Začátečníkům doporučuji si v Cacti vybrat nejpodobnější šablonu, tu si zkopírovat a zkoušet na ní své úpravy. Na adrese www.cacti.net je dokumentace a v ní je i popis, jak vlastní šablonu vytvořit.

Sběr dat z monitorovaných zařízení je řešen pomocí tzv. polleru. Máme na výběr ze dvou. Výchozí je cmd poller. Pro vyšší zátěž je možné si zkompilovat céčkový spine. Můžeme si nastavit, kolik procesů sběrače pouštět, kolik dotazů najednou může každý z nich vykonat. Sběr dat probíhá v 5minutových intervalech, můžeme ale sbírat i každou minutu. V případě problémů si můžeme do logu zaznamenávat dotazy i odpovědi, logovat můžeme i do syslogu. Cacti má i vlastní parser logu.

Ještě bych se vrátil k pluginu Thold. Výše je z něho i screenshot. V poslední verzi se na něm dost zapracovalo a hlídá opravdu spolehlivě. Pokud si začnete grafovat server, po pár prvních cyklech polleru už máte graf s hodnotami. A v tu chvíli můžete nasadit tresholdy. Stačí v příslušném grafu kliknout na vytvoření tresholdu a objeví se jednoduchý formulář. Můžeme si nastavit několik druhů hlídání. Nejběžnější je spouštění ihned při překročení spodního nebo horního limitu. Druhou možností je neupozorňovat ihned, ale třeba až po několika takových překročeních. Poslední je pak hlídání průměrné hodnoty a jejího procentuálního překročení. Při dosažení tresholdu můžeme nastavit upozornění na e-mail. Dále se u tresholdu dá nastavit, po jaké době má znovu upozornit při delším překročení limitu, například každé dvě hodiny. Po snížení hodnoty přijde opět e-mail s upozorněním o normálním provozu. V mailu chodí i aktuální graf. Díky tomu máme opravdu přehled a jsme upozorňováni i v případě, že grafy trvale nesledujeme.

CS24_early

Jak takové běžné přidání stroje do monitoringu vypadá? Předpokládám, že máme naimportovanou správnou šablonu a zkusíme si přidat Windows 2003 server. Stačí tedy přidat hosta, vyplnit jeho název, typ šablony, IP adresu, zvolit zda používá SNMP, jak ověřovat jeho dostupnost (ping nebo SNMP). Po uložení nám systém nabídne dle zvolené šablony příslušné grafy a my si vybereme. Potom už jen zbývá přidat si jednotlivé grafy nebo celé zařízení na správné místo do přehledu. Během minuty máme připravené grafy, které je možné dále exportovat (pomocí ftp, scp). Po několika cyklech můžeme přidat tresholdy a nastavit, na které e-mailové adresy posílat upozornění.

Užitečné odkazy:

Byl pro vás článek přínosný?

Autor článku

Petr Macek studoval aplikovanou informatiku na Jihočeské univerzitě, pracuje jako síťový specialista ve firmě Kostax, s. r. o. Baví ho především FreeBSD, sítě a monitoring Cacti.