Dohledový systém Zabbix II. - instalace

Po teoretickém úvodu z minulého dílu se pojďme podívat na praktickou část další části seriálu o dohledovém systému Zabbix. V dnešním díle postupnými kroky dojdeme k zprovoznění dohledového systému a ti nedočkaví mohou začít bez zábran experimentovat a pronikat do tajů všeho, co Zabbix nabízí.

26.2.2013 00:00 | Antonín Kolísek | přečteno 22675×

Než začneme

Před samotnou instalací dohledového systému je nutné zvážit několik hledisek. Nejprve si musíme zodpovědět několik základních otázek. Kolik, co a jak dlouho. Tedy první hledisko je přibližný odhad toho, kolik zařízení budeme sledovat a k tomu odpovídající počet testů na každé zařízení. Dále je nutné mít představu, jak dlouhou historii naměřených dat chceme uchovat. Zmiňované informace mají primární vliv na velikost požadovaných systémových prostředků. Jde především o velikost databáze společně s počtem sledovaných zařízení (čím víc zařízení, tím větší zatížení databáze), která určuje požadovaný fyzický výkon serveru. Na jednoduchém příkladu si nyní ukážeme, jakým způsobem lze alespoň přibližně vypočítat požadavky na velikost databáze a jak si počínat s výběrem hardwaru.

Velikost databáze

Pro odhad požadovaného diskového prostoru musíme znát veškeré informace o konkrétním hostu, počet hostů, počet testů a délku historie. Pokud budeme uvažovat 1000 zařízení u každého budeme sbírat 5 hodnot data budeme sbírat každých 60 vteřin a historii chceme uchovat 30 dnů, výpočet bude následující.

Nyní již můžeme vypočítat přibližnou hodnotu potřebného diskového prostoru za 30 dnů součtem Konfigurace + Historie + Trendy + Události to je 10 MB + 1080 MB + 460 MB + 337 MB = 1887 MB. Výpočet je pouze orientační. Musíme brát v úvahu, že v reálném nasazení není u všech hostů stejný počet sledovaných parametrů (tesů) a stejně i délka historie / trendů / událostí může být různá. Pro výpočet je nutné uvažovat vždy mezní hodnoty.

Typ databáze

Výběr databáze závisí na mnoha faktorech. Z praktického hlediska záleží na robustnosti celého řešení, což závisí na velikosti a počtu sledovaných zařízení. Dále také na vlastních zkušenostech s konkrétním typem databáze. Nejpoužívanější databází pro Zabbix je dle zkušeností MySQL. Na tuto databázi se proto zaměříme i v našem seriálu. Pro velmi velké zatížení lze použít i databázi PostrgeSQL V případě výběru jiné databáze je možné vybírat z následujících:

Hardware

Návrh hardwaru pro Zabbix je velmi závislý na velikosti monitorované infrastruktury, tj. na počtu zařízení. Jiné požadavky budou po sledování řádově desítek až stovek zařízení a jiné požadavky pro tisíce a více hostů. Následující tabulka znázorňuje alespoň základní doporučení.

Při větším počtu hostů dochází k většímu zatížení databáze. V takovém případě je vhodné použít pro datové úložiště velmi rychlé disky, např. s rozhraním RAID10. V případě velkého zatížení databáze a velmi velkého počtu sledovaných zařízení (řádově tisíce) je vhodné rozložit provoz na nezávislé servery a oddělit fyzicky databázi, Zabbix server a webový server. V reálném nasazení, kdy je potřeba sledovat rozsáhlou infrastrukturu, je vhodné a často přímo nutné přikročit k distribuovanému monitoringu a využít režimu proxy nebo nodů.

Příprava systému

K provozování Zabbixu je nutné připravit operační systém tak, aby obsahoval potřebné programové vybavení. V našem případě se zaměřím na použití distribuce CentOS. Všechny kroky jsou platné pro RHEL GNU/Linux (Red Hat Enterprise Linux) který je v komerční sféře zřejmě nejvíce zastoupený. U jiných distrubucí by se postupovalo obdobnými kroky, jen by bylo použito jiného správce balíčků a jiných repozitářů pro instalaci programů. Názvy požadovaných aplikací jsou obdobné většinou ve všech distribucích GNU/Linux, proto nebude obtížné zužitkovat následující informace v jakékoli jiné distribuci. Odpovídající verze požadovaných aplikací je vhodné vždy kontrolovat s aktuálními požadavky viz dokumentace. Nebudu zde proto uvádět čísla verzí, ale jen názvy požadovaných aplikací viz následující výčet.

Výše uvedené balíčky jsou nutné pro úspěšné provozování dohledového systému Zabbix. Dále následuje seznam doporučených aplikací, které nejsou pro základní provoz nezbytně vyžadované. Pokud chceme, aby Zabbix nabízel i pokročilejší metody monitoringu (SNMP, IPMI, SSH,Web monitoring ...), bude nutné zajistit přítomnost také následujících balíčků:

Veškeré *-devel balíčky nainstalujeme jen v případě, že budeme Zabbix kompilovat ze zdrojových souborů, s čímž v našem případě počítáme. Ukážeme si zde všechny způsoby instalace. Instalaci / aktualizaci požadovaných součástí provedeme podle následujících kroků. Je možné, že pro splnění závislostí bude nutné instalovat i jiné balíčky, o což se postará nástroj pro správu balíčků.

V případě, že budeme kompilovat Zabbix ze zdrojových kódů, nainstalujeme potřebné devel balíčky a kompilační nástroje. Z hlediska bezpečnosti je někdy nežádoucí, aby produkční server obsahoval kompilační nástroje. V takovém případě je možné, s ohledem na bezpečnost a máme-li tuto možnost, sestavit balíček na jiném serveru. Případně můžeme použít již připravené balíčky z externích repozitářu. Pro náš případ, kdy chci názorně popsat i manuální sestavení a instalaci Zabbixu, můžeme zmíněné "malé" bezpečnostní riziko akceptovat. Kompilátor jazyka C, nástroje pro kompilaci a devel balíčky nainstalujeme následovně.

Pokud chceme, aby byl Zabbix s podporou notifikace pomocí služby Jabber, bude nutné naistalaovat balíky iksemel iksemel-devel, které je nutné instalovat z EPEL repozitáře.

fping

Zabbix využívá rozšířenou verzi programu ping. Program fping nemusí být obsažen v některých distribucích. Stejně jak to je i v našem případě při použití CentOS. Je nutné proto aplikaci nainstalovat do systému ručně, případně použít externí repozitář EPEL. Pro manuální instalaci balíčku budeme postupovat následovně.

Po instalaci nastavíme oprávnění. V tomto kroku je nutné založit i uživatele a skupinu.

Přesný čas

Sledovaná data by byla k ničemu, kdyby neodpovídala skutečnosti. Je proto nutné zajistit přesný čas na serveru, na kterém provozujeme Zabbix. O čas se stará démon ntpd, kterého je proto nutné natsavit. Je možné použít alternativní způsob nástrojem ntp-date a přidat do plánovače úloh cron následující řádek:

Bezpečnost především

Zabbix potřebuje pro svoji činost otevřené porty 10051, dále pak port 80 pro webové rozhraní. Dále je v některých případech nutné upravit nastavení SELinux pokud jej konkrétní distribuce používá nebo úplně v krajním případě deaktivovat.

Instalace

Možností jak nainstalovat Zabbix je několik. V případě použití balíčku se nemusíme starat o instalaci dalších programů pro splnění závislosti a o základní nastavení systému. Další výhodou je automatická aktualizace a úprava konfiguračních souborů. Administrátor se tak nemusí téměř o nic starat. My si ukážeme také možnost sestavit Zabbix ze zdrojových kódů, což je vhodné například v případě, kdy repozitáře nenabízí konkrétní verzi a nebo dohledový systém nenabízí vůbec. Nicméně i zde se budeme držet předpokladu, že používáme CentOS/RHEL.

Použití repozitářů

Nejednodušší možností je použít již sestavených balíčku pro danou architekturu (i386 / x86_64) a odpovídající verzi distribuce. V takovém případě máme dvě možnosti. Můžeme použít repozitáře EPEL nebo ZabbixZone. V žádném případě nekombinujeme oba repozitáře. V případě, že potřebujeme mít v systéme nastavené oba dva, je nutné použít priorit případně Zabbix v EPEL repozitáři zakázat.

EPEL (Extra Packages for Enterprise Linux)

ZabbixZone

Manuální instalace

Manuální instalace není příliš žádoucí v případě distribuce založené na balíčcích. Někdy to je ale jediná možnost, jak konkrétní nástroj provozovat. Je možné také RPM balíček vytvořit ručně, tím se tento seriál nebude zabývat, protože by byl překročen rámec seriálu. Pro lepší orientaci a administraci dohledového systému Zabbix uvádím možnost ruční instalace. Celý proces se skládá z několika kroků.

Příprava

Sestavení a instalace

Nastavení

Založení databáze

Založení databáze je stejné pro všechny metody instalace. Databázi je nutné nastavit ručně i v případě použití instalačních balíčku. Předpokládejme, že máme databázi (v našem případě MySQL) funkční a známe uživatele root. V případě, že se jedná o čistou instalaci, je nutné nejprve při prvním spuštění MySQL založit uživatele root.

V případě běžící MySQL databáze pokračujeme v tvorbě databáze pro Zabbix.

Nastavení webserveru

V případě použití balíčku dojde k nastavení webového serveru (Apache) automaticky. Je důležité dát jen pozor na umístění webového frontendu, který se nachází v /usr/share/zabbix. Pokud instalujeme Zabbix ručně, umístíme frontend dle vlastního nastavení webserveru. Pokud se jedná o čistou instalaci a webový server není ještě nastavený, konfigurace může být následující.

Vytvoříme /etc/httpd/conf.d/zabbix.conf s následujícím obsahem:

Především hodnoty pro nastavení PHP (php_value) jsou nutné pro úspěšný provoz Zabbixu. Nyní můžeme restartovat webový server a pokračovat v instalaci.

Konfigurace Zabbix serveru a agenta

Editujeme konfigurační soubory zabbix_server.conf a zabbix_agentd.conf. My jsme zvolili umístění konfiguračních souboru při sestavování zdrojových kódů volbou --sysconfdir=/etc/zabbix. Při instalaci z balíčků nebo ponecháním výchozí cesty nalezneme konfigurační soubory v /usr/local/etc/zabbix.

Instalace webového rozhraní

Posledním krokem instalačního procesu je instalace webového rozhraní. Všechny kroky probíhají přes libovolný webový prohlížeč. Celý proces je velmi jednoduchý viz následující obrazovky.













Rekapitulace

V dnešní části seriálu jsme se úspěšně dostali do stavu, kdy můžeme začít experimentovat s dohledovým systémem Zabbix. Veškeré nastavení je pouze základní. Pro reálné nasazení je nutné často velmi zdlouhavého ručního ladění parametrů a to jak databáze, tak serverového procesu. V příštím díle se podíváme na základní popis prostředí, aby bylo možné pomalými kroky pronikat do tajů monitoringu.

Odkazy

1. Zabbix domovské stránky : http://www.zabbix.com

2. Zabbix dokumentace : http://www.zabbix.com/documentation.php

3. Zabbix - Požadavky : https://www.zabbix.com/documentation/2.0/manual/installation/requirements

4. Zabbix - Instalace : https://www.zabbix.com/documentation/2.0/manual/installation/install

5. EPEL : http://fedoraproject.org/wiki/EPEL

6. ZabbixZone : http://repo.zabbixzone.com

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