V reálném nasazení dohledového systému, kdy sledujeme velké množství zařízení nebo více vzdálených lokalit, nemůžeme spoléhat na jeden server. V takových případech je nutné přistoupit k distribuovanému monitoringu. Dohledový systém Zabbix nabízí v takovém případě dvě možnosti. Použití Zabbixu v režimu proxy a nebo v režimu Node (uzel). Každý režim je vhodný pro něco jiného. Pojdmě se nyní podívat na možnosti distribuovaného monitoringu, které dohledový systém Zabbix nabízí.
12.9.2013 00:00 | Antonín Kolísek | přečteno 16342×
Dohledový systém Zabbix je plně připravený k monitoringu rozsáhlé IT infrastruktury. Pro tyto potřeby je možné zvolit dvou cest. Každá je vhodná pro něco jiného. Při použití Zabbix serveru v režimu proxy princip spočívá ve sběru dat proxy serveru. Tato nasbíraná data posléze předávají proxy servery centrálnímu Zabbix serveru v daném časovém intervalu. Pokud je primární server nedostupný, veškerá data uchovávají v lokální databázi do doby, kdy je dostupnost obnovena a data synchronizována z centrálním serverem. Druhá z množností je použití několika serveru hierarchicky rozdělených a propojených dle odpovídající topologie mointorované infrastruktury. Podívejme se na základní rozdíl mezi režimem proxy a node.
Proxy | Node | |
---|---|---|
HW náročné | Ano | Ne |
Administrace pomocí GUI | Ne | Ano |
Nezávyslost na serveru | Ano | Ne |
Jednoduchá správa | Ano | Ne |
Automatická tvorba DB | Ano | Ne |
Lokální administrace | Ne | Ano |
Připraveneost pro embedded HW | Ano | Ne |
Jednocestná TCP komunikace | Ano | Ano |
Centralizovaná konfigurace | Ano | Ne |
Možnost notifikace | Ne | Ano |
Z uvedeného souhrnu vlastností vyplývá že Zabbix v režimu proxy je možné považovat za odlehčený server s vlastní databází, který sbírá data v dané lokalitě, a ty pak odesílá centrálnímu serveru. Proti tomu Zabbix v režimu Node je plnohodnotný server s možností vzdálené konfigurace tak jako Zabbix server. V tomto případě musíme také brát ohled na volbu hardware a celkovou optimalizaci prostředí a systému viz minulý díl, který byl věnovaný právě optimalizaci.
Instalace serveru se Zabbixem v režimu proxy probíhá velmi obdobně jako instalace plnohodnotného Zabbix serveru. Je tedy možné čerpat informace z druhého dílu tohoto seriálu, který se týkal instalace. V našem případě pro jednoduchost použijeme již připraveného balíčku.
shell> yum mysql mysql-libs mysql-server libssh2 libcurl net-snmp-* ntpdate curl curl-libs gettext gettext-libs libxml2 OpenIPMI-libs libssh2
shell> yum install zabbix20-proxy zabbix20-proxy-mysql
shell> chkconfig zabbix-proxy on
shell> /usr/bin/mysqladmin -u root password 'new-password'
shell> service mysqld start
shell> chkconfig mysql on
shell> mysql -uroot
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> mysql -uroot zabbix < schema.sql
DBName=zabbix
DBUser=zabbix
DBPassword=password
DBSocket=/var/lib/mysql/mysql.sock
Další kroky se týkají konfigurace pomocí webového rozhraní. Nastavení proxy serveru provedeme volbou Administration->DM->Create proxy, kdy přiřadíme proxy serveru hosty, kterých se bude týkat monitoring viz následující příklad. Dále se nastaví v patřičné kartě konkrétního hosta volba Monitored by proxy
U rozsáhlejších sítích bude nutné přistoupit k ladění každého proxy serveru vzhledem ke konkrétní situaci. Podívejme se jaké možnosti Zabbix server v režimu proxy nabízí, s těmito možnostmi jsme se u běžného provozování (pouze jeden server) nesetkali. Opět upozorňuji, že veškeré hodnoty jsou velmi individuální.
Druhou možností pro distribuovaný monitoring je použídí uzlů (Node). Každý uzel je samostatně fungující plnohodnotný Zabbix server s možností vzdálené správy. Tato možnost je vhodná pro velmi rozsáhlé a vzdálené sítě, kde každý uzel (síť) obsahuje tísíce zařízení. Jako příklad pro představu může posloužit univerzitní síť. Každý uzel může pracovat v režimu Master (rodič) nebo Child (potomek). Master nebo-li rodičovský uzel vlastní konfiguraci svých potomků. Každý uzel může být konfigurován buď lokálně nebo svým rodičovkým procesem. Zabbix umožňuje propojit až tisíc uzlů a vytvořit tak velmi rozsáhlou stromovou strukturu. Uzly je možné přidávat nebo odebírat bez nutnosti restartu
shell> /etc/init.d/zabbix_server stop
shell> zabbix_server -n 1 -c /etc/zabbix/zabbix_server.conf
V dalším kroku budeme pokračovat konfigurací uzlů přes webové rozhraní viz následující obrázek. V sekci Administration -> DM můžeme konfigurovat uzly. Každý uzel je reprezentován svým unikátním ID, adresou, portem, na kterém běží proces zabbix_server a typem (zda se jedná o rodičovský uzel nebo potomka).
S distribuovaným monitoringem nepřímo souvisí režim vysoké dostupnosti služeb tzv. High Availability (HA). V některých případech, kdy je monitoring primární a nepostradatelný je nutné řešit nějakým způsobem dostupnost Zabbix serveru a ošetřit ji proti výpadku. Výpadek primárního serveru neřeší použití režimu proxy ani použití uzlů. Princip základního HA spočivá v provozování dvou separátních prostředí zapojených do Clusteru, kteří pracují v režimu Active - Passive, což znamená, že pracuje pouze jeden server (Node1). V případě výpadku přebírá činnost server náhradní (Node2). Nutným předpokoladem je, že musí oba uzly používat tutéž databázi. Praktická část sprovoznení HA by překročila rámec tohoto seriálu. V případě zájmu odkazuji na projekt věnující se High Availability v Zabbixu. Podívejme se na základní princip alespoň po teoretické stránce.
Režim HA je nutné zajistit externímy nástroji, jejihž popis a instalace by překročila rámec tohoto seriálu. Další z možností je použití vyrtualizovaného protředí, kde je služba vysoké dostupnosti samozřejmostí.
V dnešním dílu jsme se podívali na možnosti využití dohledového systému Zabbix u rozsáhlých sítí, kdy je nutné přikročit k použití více serverů, tzv. distribuovanému monitoringu. V takových případech je nutné velmi pečlivě zvážit, zda je vhodné nasadit Zabbix v režimu proxy nebo použitím uzlů a také zvážit potřebný počet dohledových systémů, ať již v tom a nebo onom režimu. Zde uvedené informace jsou pouhý nástin, jakým směrem je možné se ubírat, protože reálné nasazení bude obnášet velmi pečlivou stdudii a plánování, aby měl distribuovaný systém dostatečné rezervy. V příštím dílu, který bude závěrečný se podíváme na věci, které se do předchozích dílů venešly, ať pro svůj obsah nebo čekaly až na závěrečný díl.
1. Zabbix domovské stránky : http://www.zabbix.com
2. Zabbix dokumentace : http://www.zabbix.com/documentation.php
3. Zabbix - Distributed monitoring : https://www.zabbix.com/documentation/2.0/manual/distributed_monitoring
4. Zabbix - Proxy : https://www.zabbix.com/documentation/2.0/manual/distributed_monitoring/proxies
5. Zabbix - Node : https://www.zabbix.com/documentation/2.0/manual/distributed_monitoring/nodes
6. Zabbix - High Availability : https://www.zabbix.org/wiki/Docs/howto/high_availability