Dohledový systém Zabbix - představení I.

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 36239×

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.

Úvodem

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.

Proč používat Zabbix

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.

Popis prostředí

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).

Server

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ů.

Agent

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.

Proxy

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.

Sběr dat

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í.

Příklad scénáře při výpadku služby na serveru:

  1. Poslat zprávu IT administrátorům.
  2. Pokud není služba dále dostupná restartovat službu.
  3. Pokud není stále dostupná poslat zprávu IT administrátorům a restartovat server.
  4. Pokud není služba stále dostupná posílat zprávu IT administrátorům v určitém intervalu do vyřešení problému.

Dostupnost služeb

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á.

Zabbix agent

SNMP

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.

IPMI

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.

Zabbix Java gateway

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.

SSH kontrola

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.

Web monitoring

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í:

  1. načíst web
  2. login
  3. jdi na požadovanou stránku
  4. načti data
  5. logout

Zobrazení dat

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é.

Dashboard

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

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

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

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 (Screens)

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.

IT služby

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.

Inventarizace

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í.

A co bude dál?

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.

Odkazy

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

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1963