Existuje celá řada dohledových systémů. Pojďme se podívat postupnými kroky na jeden z nich. Tento úvodní díl je pouze teoretický základ. Než se pustíme do práce, seznamme se s dohledovým systémem Zabbix po teoretické stránce.
11.2.2013 00:00 | Antonín Kolísek | přečteno 36772×
V dnešní době počítačových sítí, kdy se málokteré odvětví obejde bez internetu, je kladen velký důraz na dostupnost síťových zařízení a služeb. V komerční sféře je každé prodlení mnohdy velkou finanční ztrátou, proto je žádoucí, monitorovat stav vzdálených serverů a ostatních zařízení připojených do sítě. Může jít o sítě lokální nebo v internetu. Monitorování serverů může tedy zajistit v co nejkratším okamžiku řešení případného problému. Sledování zařízení není jen o samotné dostupnosti a funkci nabízených služeb, ale umožňuje řídit a plánovat budování síťové infrastruktury a udržovat ji v požadovaném stavu. Na podkladě sledovaných informací umožňuje včas plánovat rozmístění a výkon zařízení dle aktuálních požadavků. Dohledových systémů existuje celá řada - od komerčních až po ty, které jsou zdarma. Zabbix patří mezi Open source nástroje, je šířen pod GPL (GNU General Public License) licencí a stává se stále populárnějším i ve velkých firmách díky své jednoduchosti, přehlednosti a otevřenosti. Autorem je Alexei Vladishev, který s projektem začal již v roce 1998. Od roku 2001 byl Zabbix vyvíjen pod licencí GPL a v roce 2004 byla uvolněna stabilní verze 1.0. V současnosti je k dispozici Zabbix ve verzi 2.0. Pro Zabbix je možné dokoupit placenou podporu a nebo si zajistit partnerský program. U nás v České republice zajišťuje certifikovanou podporu společnost DATASYS.
Zabbix slouží k monitorování aktivních síťových prvků (PC, servery, tiskárny, modemy, switche, UPS, ...), které jsou připojeny do počítačové sítě. Je tedy možné říci, že můžeme sledovat stav a sbírat různé informace o všem, co má IP adresu. Metody pro sledování a zjišťování informací jsou různé. Počínaje jednoduchým ICMP echo request (ping) přes použití složitějších metod SNMP (Simple Network Management Protocol), IPMI (Intelligent Platform Management Interface), JMX (Java Management Extensions). Je možné použít také k monitoringu SSH/Telnet a nebo použití agenta, který je dostupný pro většinu dnes používaných operačních systémů. Při použití agenta je možné monitorovat informace o stavu hardware (operační paměť, procesor, úložné zařízení,...), ale také systémové informace a stav běžících služeb. V neposlední řadě je možné integrovat do prostředí vlastní externí skripty a nebo využít API a vytvořit si tak vlastní testy. Pomocí API lze také komunikovat s jinými nástroji. Co se týká počtu dohlížených zařízení, dle tvůrců, je možné monitorovat přes 100 000 hostů a provádět tak 1 000 000 vyhodnocení za minutu, což je pochopitelně závislé na systémových zdrojích serveru, na kterém je dohledový systém provozovaný. Zabbix může pracovat distribuovaně, což znamená, že v různých vzdálených lokalitách běží Zabbix v režimu proxy a data se následně přenáší na centrální server. To je vhodné pro velmi robustní a rozsáhlé sítě s velkým počtem zařízení. Dohledový systém je přístupný z webového rozhraní, které slouží zároveň i jako administrační prostředí pro správu a vyhodnocení dat.
Dohledových systému je celá řada. Uvedu zde nejpodstatnější body proč používat dohledový systém Zabbix především z technického hlediska.
Celý systém je tvořen serverem, agentem, webovým rozhraním pro správu a nepovinným proxy serverem. Veškerá data jsou uložena v databázi. Výběr databáze a celkový návrh hardware pro Zabbix záleží na množství sledovaných zařízení, počtu testů a délce historie, kterou chceme uchovat. Podporované databázové systémy jsou následující:
Z hlediska serverové části je možné provozovat Zabbix na některém z unixových systému nebo libovolné distribuci GNU/Linux. Podporované operační systémy pro server jsou následující:
Pro nás je nejzajímavější provozování Zabbixu na GNU/Linux a právě toho se týká i celý tento seriál. Podrobnější popis požadavků na provozování Zabbixu bude probrán v následujícím díle. Pro přístup do webového rozhraní je možné používat všechny dnešní známe prohlížeče (Google Chrome, Firefox, IE, Apple Safary, Konqueror).
Jedná se o hlavní proces, který řídí logiku celého systému, zajišťuje veškeré činnosti. Jde například o sběr dat a vyhodnocení dat, zápis do databáze a zajištění integrity dat. Server také slouží k zadávání pokynů agentovi pro provedení testů a akcí (restart, vypnutí služeb,...). Je psaný v jazyku C, a pro svůj běh potřebuje jen malé množství systémových prostředků.
Je klientský proces běžící na hostech. Sbírá informace a průběžně je předává serveru. Má velmi malou režii pro svůj běh a stejně jako server je psaný v jazyku C. Vedle sběru dat slouží k provádění akcí např. restart/zastavení běžících služeb. Množství informací, které agent umí sledovat, je závislé na konkrétním operačním systému a verzi. Základní informace o systému, jako je velikost RAM, sledování místa na disku, informace o souborech (velikost, přístup), jsou podporovány všude. Pro přesný výčet funkcí konkrétního operačního systému je nutné obrátit se na aktuální dokumentaci Zabbixu.
Pokud pracuje Zabbix v režimu proxy, plní částečnou funkci serveru. Místo centrálního serveru sbírá informace o daných hostech, které následně předává centrálnímu serveru. Nahrazuje tak funkci serveru v případech, kdy existuje mnoho lokalit s velkým počtem zařízení, čímž dojde mimo jiné k odlehčení serverové zátěže. Je to jedna z možností distribuovaného monitoringu. Druhou možností je použití Nodů, což bude podobněji probráno v pozdější části seriálu.
Nejdůležitější funkcí dohledového systému je zajisté sběr dat ve stanoveném časovém intervalu a vyhodnocení těchto dat podle určitých podmínek a závislostí. Zabbix splňuje požadavky na pro-aktivní monitoring, umožňuje pomocí eskalace a scénářů provádět opakovanou notifikaci a automatické řešení problému pomocí vzdálených akcí.
Možnost sledování běžících služeb (FTP, HTTP, SMTP, DNS, ...) nejen z hlediska běžícího procesu, ale také dostupnosti daného portu na kterém služba naslouchá.
Použití protokolu SNMP je časté pro monitoring síťových zařízení podporujících SNMP. Jedná se především o tiskárny, switche, modemy. Lze sledovat nejen dostupnost, ale i stavy počítadel. Jde například o počet vytisknutých stran na tiskárně, stav toneru tiskárny, atd.
Pomocí Intelligent Platform Management Interface je možné vzdáleně spravovat a sledovat stav zařízení, které tento protokol podporují např HP iLO, DELL DRAC, IBM RSA, Sun SSP, atd.
Od verze 2.0 je zahrnuta podpora sledování JMX aplikací. Komunikace probíhá pomocí speciálního démona psaného v jazyce Java, s kterým komunikuje Zabbix server.
Jedná se o možnost přístupu na vzdáleného hosta a zjišťování dat přes SSH. V tomto případě není nutné provozovat na hostu Zabbix agenta. Zjišťování informací se děje přes SSH. Princip je tentýž jako u spouštění vzdálených příkazů přes SSH klienta. Je možné vykonávat i rozsáhlejší skripty. Na stejném principu funguje i Telnet kontrola, nicméně by mělo být použito vždy SSH vzhledem k šifrovanému přenosu dat a zajištění požadované bezpečnosti.
Zabbix umožňuje sledovat stav webových aplikací. Pomocí scénářů lze sestavit kroky k zjištění požadovaných dat. Příklad scénáře je následující:
Dohledový systém by nebyl dohledovým systémem, kdyby neumožňoval nasbírané údaje zobrazovat. Zabbix nabízí hned několik možností zobrazení dat v reálném čase, ale umožňuje také hledat v historii. Některé informace zobrazuje automaticky, jiné jsou uživatelsky nastavitelné.
Zobrazuje aktuální souhrnné informace o stavu dohlížených hostů a skupin, varování o nedostupnosti a stav událostí. Zobrazované data jsou uživatelsky nastavitelné stejně jako doba aktualizace zobrazovaných dat..
Přehled (Overview) umožňuje sledovat v reálném čase podrobný stav aktuálních hodnot (stavů) vybrané skupiny hostů. Podává také podrobnější informace než Dashboard, který slouží spíše k rychlému aktuálnímu celkovému přehledu.
Grafy umožňují zobrazovat naměřené data za daný časový okamžik. Je zde možnost pohybovat se v historii případně v grafech zoomovat.
Mapy graficky zobrazují aktuální stav skupiny, části sítě, nebo celé infrastruktury. Je možné znázornit hierarchii sítě a sledovat případné změny graficky.
Obrazovky umožňuji spojit více elementů na jedné obrazovce a tvořit tak uživatelsky definované přehledy. Na obrazovkách lze tvořit přehledy prakticky ze všech předešlých možností zobrazování informací, které jsme si ukázali. Informace je možné zobrazovat i jako slide-show.
Zabbix umožňuje definovat SLA (Service Level Agreement) pro služby a zařízení a sledovat tak eskalaci trvání a řešení problému. SLA je vyjádřeno procentuálně i grafem.
Pro každé zařízení může být přidělen inventární list, který obsahuje rozsáhlé informace počínaje popisem zařízení, typ, model, hardware, sériové číslo až popis umístění. Pokud se jedná o PC může obsahovat i soupis instalovaných aplikací. Inventarizace může probíhat i automaticky. Tato funkce umožňuje Zabbix používat nejen jako dohledový systém, ale také nástroj pomocný při evidenci zařízení.
Po teoretickém úvodu se v příštím díle podíváme na samotnou instalaci a konfiguraci monitorovacího systému. Následující díl bude konečně praktický a dovede nás k zprovoznění Zabbixu. V tomto úvodním díle byl popsán pouze letmý výčet nejvyužívanější funkcí a možnosti pro ilustraci co vše Zabbix nabízí. Pro podrobnější informace odkazuji na Dokumentaci.
1. Zabbix domovské stránky : http://www.zabbix.com
2. Zabbix dokumentace : http://www.zabbix.com/documentation.php
3. Zabbix by Alexei Vladishev : http://www.slideshare.net/xsbr/zabbix-by-alexei-vladishev-fisl12-2011
4. Zabbix wiki : https://www.zabbix.com/wiki/doc