Hlavní navigace

Co nového v monitorovacím nástroji Cacti

Petr Macek

Od posledních článků o monitoringu Cacti už uběhla docela dlouhá doba. Projekt nějakou dobu téměř spal a oproti konkurenci začal zaostávat. Před časem se ale vše změnilo, a proto bych rád seznámil čtenáře s novinkami.

Cacti pro běh potřebuje MySQL/MariaDB, Net-snmp, RRDTools, PHP a samozřejmě www server. Vše je možné rozběhat i pod Windows. Existují i poměrně velké instalace, které monitorují stovky až tisíce zařízení, což může znamenat zpracovat statisíce data sources při každém cyklu dotazování.

Před pár lety bylo Cacti poměrně zajímavým nástrojem. Cacti se samo popisuje jako pouhý frontend k RRDTool, ale již v prvních verzích toho umělo poměrně dost. Výborné byly hlavně šablony, více druhů Datasources a hlavně možnost tyto věci pomocí XML snadno importovat a exportovat. Šablony pro různé typy monitorovaných zařízení, sbírání dat tedy mohl vytvářet i člověk, který s programováním nemá zkušenosti. Později Cacti přidalo i možnost pluginů a do vývoje se zapojilo mnoho lidí. Vznikly desítky velmi dobrých modulů značně rozšiřujících možnosti. Budu jmenovat například Thresholdy, Agregace, Notifikace…

Jeden z nových vzhledů

Jeden z nových vzhledů

Pak se ale dlouho vyvíjelo ve verzi 0.8.x a zdálo se, že vývoj spíše stagnuje. Při vydání nové verze šlo většinou o pár oprav a žádné nové vlastnosti. Objevil se i pokus některých uživatelů s tímto stavem něco udělat. Zaznamenal jsem třeba člověka, který se pokusil vyčistit kód a přesunout vzhled do CSS. Do té doby byl totiž na spoustě míst natvrdo v kódu, což neumožňovalo jej snadno změnit nebo dát uživatelům výběr třeba jen barevného schématu. Roadmapa na webu už se se stavem Cacti zásadně rozcházela.

Hlavní nevýhody byly:

  • Složitější instalace pluginů. Bylo totiž nutné nejprve nainstalovat tzv. Plugin architekturu. Zde mohl vznikat problém, že plugin chtěl nějakou verzi architektury, ta zase vyžadovala nějakou verzi Cacti a podobně.
  • Cacti bylo v SVN repozitáři, ale jinak bylo vše na různých místech (pluginy, plugin architektura, template).
  • Vzhled byl asi tak 10 let pozadu a nebylo možné to snadno změnit.
  • Pouze jedno sběrné místo (poller).
Device discovery (automatizace)

Device discovery (automatizace)

Pak se ale v diskuzním fóru objevila informace o velkých změnách a přípravě verze 1.0, která měla tohle všechno změnit. A ono se to docela podařilo. Plugin architektura byla plně integrována do základní instalace a zároveň vybráno skoro 20 pluginů, které byly zaintegrovány. Pár jich zmíním:

  • Aggregate – umožňuje agregovat více grafů do jednoho
  • AutoM8 – nástroj pro velké instalace, který automatizuje některé činnosti (vytváření zařízení, grafů, stromů…)
  • Boost – důležitý pro velké instalace, urychluje polling (sběr dat), řeší cache a aktualizace RRD na vyžádání
  • CLog a Logrotate – práce s logy
  • Discovery – automatické vyhledávání nových zařízení
  • Ugroup, Secpass, SSL Plugin – vyšší zabezpečení
  • a další
Grafy

Grafy

Kromě pluginů se podařilo odstranit i dost neduhů a přidat spoustu užitečných věcí:

  • Je možné mít více pollerů (sběračů dat) v různých sítích a ty pak předávají data do centrálního Cacti.
  • Uživatelské skupiny.
  • Přibyl Ajax, takže například detekce snmp/ping už je nezávislá a nemusíte čekat třeba na snmp timeout při výpadku zařízení.
  • Vzhled už není zadrátovaný v kódu a jsou zde připraveny i barevná schémata.
  • Vývoj se přesunul na GitHub.
  • Lokalizace.
  • Drag and drop ve stromech.
  • Zrychlení polleru až o 50 %.
  • Lepší řešení oprávnění ke grafům.
  • Při instalaci nebo upgrade se snaží wizard poradit s optimálním nastavením SQL databáze.
  • Možnost debugu jednotlivých modulů.
  • Reporting – je možné si nechat zasílat emailem hromadné reporty (každou hodinu, den, týden…)
  • Desítky malých změn (tlačítka pro debug snmp dotazů, progress bar, zavírací sekce menu…)

Teď detailněji ke dvěma funkcím, první je Remote poller. To je funkce, která hodně chyběla u velkých instalací a byla vyřešena poměrně lehce. Remote poller se instaluje stejně jako Cacti, pouze se úvodním nastavení uvede, že se jedná o remote poller. Ten pro svůj chod potřebuje vlastní SQL databázi. Komunikace mezi hlavním Cacti a pollerem probíhá na úrovni MySQL, je tedy nutné správně nastavit oprávnění mezi MySQL servery a mít povolený TCP port. U každého monitorovaného zařízení pak můžete zvolit poller, který bude na zařízení dohlížet.

Plugin Thold

Plugin Thold

Druhá věc – Automatizace – je také hodně nápomocná. Stačí zadat subnety, které chcete prozkoumat, pár údajů k snmp a dojde k oscanování. Je možné nastavit automatické přidání nalezených zařízení do monitorovaných. Lze tedy importovat mnoho zařízení najednou.

Po verzi 1.0 se vývoj opět docela zrychlil a nyní je aktuální verze 1.1.12. Seznam změn je v changelogu. Přestože je v nových verzích mnoho změn, většina pluginů funguje i v nové verzi. Upgrade z 0.8.8 na 1.0 pouze pluginy vypne, protože nejsou napsány podle nových doporučení. Autoři většiny používaných pluginů na to reagují a svůj kód upravují. Ve verzi 1 a vyšší mohou autoři využívat více hooků, takže je možné pluginy rozšířit (automatizace a šablony).

Nastavení

Nastavení

Velmi dobře funguje diskusní fórum, kde často odpovídají přímo vývojáři. Pokud tedy hledáte nový open-source monitorovací nástroj, zkuste to na Cacti.net.

Našli jste v článku chybu?