Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Dohledový systém Zabbix

Dohledových systémů na koncové stanice nebo stav prvků v síti je spousta. Od velkých, komerčních až po malé, zdarma, nejlépe open-source. Nicméně to, že jsou zadarmo, neznamená, že nic neumí. V tomto článku se budeme věnovat jednomu dohledovému systému, který je šířen pod licenci GNU GPL. Jmenuje se Zabbix.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Jsen nadšenec a přiznám se, že jsem i hodně zvědavý a rád „zkoumám”, takže jsem zkoušel mnoho dohledových systémů, přesněji řečeno programů, které kontrolují funkčnost okolních objektů na síti. Tím nemyslím zrovna roboty, které zvědavě brouzdají po síti a hledají možnou, málo zabezpečenou oběť (dobrá, těch je v mém okolí určitě několik). Na mysli mám systémy, které kontrolují dostupnost cíle nebo cílů a popřípadě ještě funkčnost nebo nefunkčnost určité služby nebo služeb na zmíněném cíli. Čistě teoreticky stačí mít šikovné prsty, chytrou hlavu plnou nápadů, ASCII editor vim, znalost třeba i cronu a pro zasílání výsledků ze skriptíku e-mailovou adresu.

Ale na rovinu, komu se chce skriptíky tvořit nebo si představovat z výsledků skriptů v našem zajisté stále plném e-mailu, jak to asi je vyjádřeno graficky. Již před vznikem výtvoru, o kterém si dnes povíme, dali dobří a šikovní lidé hlavy dohromady a posléze svou práci zveřejnili a umožnili ostatním používat dle svobodné vůle. Některé jsou povedené, některé méně, umí víc nebo míň a vyhovují tomu či onomu uživateli. Každý je jiný. Osobně jsem vyzkoušel několik těchto projektů, jmenovitě projekty Nagios nebo Cacti . Odhodlal jsem se i ke zprovoznění dohledového systému Zabbix, o zážitky a poznatky bych se s vámi rád podělil.

Zabbix server stáhneme z domovské stránky projektu na odkazu na Zabbix server.

Po stáhnutí rozbalíme archiv například do adresáře /usr/local/src a změníme aktuální adresář do Zabbixu.

Příprava databáze pro Zabbix

Za první věc, kterou musíte udělat před vlastní konfigurací překladu a samotným překladem Zabbixu, bych považoval vytvoření databáze a uživatele, který bude mít plný přístup k této databázi. Databázi naplníme pomocí připravených MySQL, respektive PostgreSQL skriptů.

Připojíme se na mysql server pod root uživatelem, heslo napíšeme dodatečně a vytvoříme databázi jménem zabbix, založíme uživatele zabbix a databázi zabbix tomuto uživateli plně přidělíme dle potřeby:

mysql -u root -p
create database zabbix;
grant usage on zabbix.* TO zabbix@localhost
identified by "<heslo>";
grant select, insert, update, delete, create,
drop, index, alter, create temporary tables on `zabbix`.* TO zabbix@
localhost;

Databázi, uživatele a jeho heslo máme založené, nyní je třeba tuto databázi naplnit. Struktura této databáze je uložena v sql souboru create/mysql/schema.sql, data do této struktury nalezneme v create/data/data.sql. Pokračujeme dále v mysql, kde se aktivujeme do naší nově vytvořené databáze zabbix, vytvoříme její strukturu (tabulky) a následně je naplníme, vše z předpřipravených sql dotazů ve výše zmíněných souborech :

use zabbix;
source create/mysql/schema.sql;
source create/data/data.sql;
exit;

V tomto okamžiku máme připravenou databázi v mysql. Zabbix podporuje ještě PostgreSQL, případně s modulem Oracle, ale osobně si myslím, že většina z nás zajisté používá MySQL …

Kompilace a instalace Zabbixu

Nyní jsme asi v třetině instalace Zabbix serveru. Před samotnou kompilací je třeba připravit konfiguraci překladu. Žádný strach, vše jde samo. Jediné, co je třeba, jsou správné parametry konfigurátoru. Chceme přeložit Zabbix server s podporou SNMP, agenta Zabbixu, pro MySQL a též jako server. A při úspěšném dokončení i instalaci:

./configure --enable-server --enable-agent --with-mysql –with-net-snmp
make install

Kompilované binární soubory Zabbixu najdete, alespoň u mě je tomu tak, v adresáři  /usr/local/bin/.

No, tak hrozné to nebylo, že? Ale to nej nej teprve začne.

Konfigurace operačního systému

Operační systém není třeba moc nastavovat nebo upravovat. Tento krok je nepovinný, i když doporučený. TCP porty, které používá Zabbix, vyjmenujeme do seznamu portů.

Editujte soubor services v adresáři /etc. Třeba na konec tohoto souboru přidejte následující řádky a uložte:

zabbix_agent 10050/tcp
zabbix_trap 10051/tcp

Další z věcí, které je třeba v systému udělat, je zajištění automatického spouštění služby zabbix_server. Někteří z vás znalců, kteří se tak nudíte, že čtete tento článek, na moje řešení zděšeně vytřeštíte oči a přinejmenším týden hrůzou nebudete spát. Je jistě více řešení, kromě ručního spouštění při každém startu, já jsem se do toho dal pomocí xinetd.

Dle konfigurace xinetd založíme v adresáři, z kterého tento démonek načítá jednotlivé konfigurace jím pouštěných služeb. U mě je to adresář /etc/xinet.d/. V něm jsem založil soubor zabbix_server s následujícím obsahem:

# Popis:
# Zabbix server
#
# zabbix_trap je služba, kterou jsme definovali v „/etc/services“
service zabbix_trap
{
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = root                          ##může však běžet i pod jiným uživatelem
        server                  = /usr/local/bin/zabbix_server  ##zkontrolujte cestu k zabbix_server
        disable                 = no
}

Až budeme mít Zabbix server nakonfigurovaný, restartujeme xinetd démona. Nyní by to ještě nemělo smysl, jelikož náš Zabbixík na spuštění není připravený.

Konfigurace Zabbix serveru

Nyní přichází to nejlepší, co jsem měl na mysli. Tedy část toho nejlepšího. Když si člověk řádně přečte manuál Zabbixu z jeho stránek dokumentace, je vše jednodušší.

Vzorové konfigurace najdeme ve zdrojovém adresáři Zabbixu, kde jsme ho kompilovali, v podadresáři misc/conf/. V adresáři /etc/ vytvoříme adresář zabbix a soubory z  misc/conf/ do něj nakopírujeme. Abych nebyl narčen zbytečným plýtváním místem na disku, raději rovnou oznámím, že pro službu zabbix_server stačí mít pouze soubor zabbix_server.conf. A nyní se tomuto souboru podíváme na zoubek.

Formát souboru je jak jinak než čistě textový. Jednotlivé nastavení je dobře komentováno. Já jsem dělal následující změny oproti defaultnímu nastavení, opět nechávám komentáře z conf souboru:

# Name of PID file
PidFile=/var/tmp/zabbix_server.pid      ##PID bych rád měl na tomto místě

# Name of log file
# If not set, syslog is used
LogFile=/var/log/zabbix_server.log      ##LOG poblíž
# Database host name
# Default is localhost
DBHost=localhost                        ##server, kde běží MySQL

# Database name
DBName=zabbix                           ##jméno databáze

# Database user
DBUser=zabbix                           ##uživatel databáze

# Database password
# Comment this line if no password used
DBPassword="supertajne_heslo :)"        ##heslo uživatele

# Connect to MySQL using Unix socket?

#DBSocket=/tmp/mysql.sock
DBSocket=/var/lib/mysql/mysql.sock      ##dále je možné i s MySQL komunikovat přes socket

Pokud mě má paměť neklame a neselhal REFRESH, z konfigurace Zabbix serveru by to bylo vše. Určitě si ještě pamatujete text asi o půl stránky výše, který říkal, že restart xinetd démona neměl smysl, jelikož služba zabbix_server není ještě připravena. Nyní již připravena je, a tak můžeme restartovat xinetd démona. Zkontrolujeme systémový log, jestli je tam vše v pořádku a na důkaz toho se zkusíme telnetem připojit na localhost na port zabbix_serveru, což je 10051. Náš příkaz bude znít takto:

telnet localhost 10051

Pokud nám Zabbix server běží, zobrazí se nám:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'

Tak, a máme druhou třetinu za sebou.

Frontend Zabbixu

Doteď jsme si hráli v textovém režimu, cvičili si znalosti práce v našem oblíbeném textovém ASCII editoru, nyní nastává pomalu čas se pokusit vzpomenout na práci s hlodavcem u vašeho PC (neee, nemyslím Bertíka, co se po vysilujícím běhu v kolotoči unavil a zahrabává se v hoblinách). I když, ruku na srdce, prstíky na klávesnici budou sem tam potřeba …

Frontend Zabbixu je řešen pomocí HTML, přesněji PHP s MySQL, tedy je nutno mít spuštěný web server. Všechny potřebné soubory jsou opět přiloženy u instalace Zabbixu, najdeme je u něj v podadresáři frontends/php/. V adresáři, který je „DocumentRoot” našeho web serveru, vytvoříme adresář zabbix a obsah frontends/php/ do něj nakopírujeme. Adresářová cesta tedy může vypadat třeba  /srv/www/htdocs/private/admin/zabbix.

Opět sáhneme po našem oblíbeném ASCII editoru, přepneme aktuální adresář do adresáře frontendu Zabbixu a zde začneme s úpravami jeho konfigurace. Opět udělám jen výtah konfigurace, části, které je potřeba proti defaultnímu nastavení změnit:

$DB_TYPE        ="MYSQL";
$DB_SERVER      ="localhost";                   ##MySQL server běží na tomto serveru
$DB_DATABASE    ="zabbix";                      ##jméno databáze
$DB_USER        ="zabbix";                      ##uživatel databáze
$DB_PASSWORD    ="supertajné_heslo :)";         ##a jeho heslíčko

Z konfigurace frontendu Zabbixu by to mělo být vše, dokonce celá instalace a konfigurace Zabbixu jako server je hotová, máme tedy pro dnešek splněno na 100%.

Pro ověření funkčnosti a natěšení se na příští část si pusťte oblíbený www prohlížeč a do řádků odkazů http dejte adresu, která odpovídá cestě frontendu Zabbix serveru. Tedy například, je-li cesta taková, jakou jsem uvedl u kopírování PHP souborů o několik řádků výše, může být http adresa následující: http://www.server.cz/private/admin/zabbix  – na té adrese se nám zjeví Zabbix.

Zabbix

V tomto díle jsme si ukázali, jak Zabbix nainstalovat, respektive jeho serverovou část. K tomu, aby to bylo zcela kompletní a mohli jsme monitorovat i jinak než přes SNMP, je třeba na monitorovaných stanicích nainstalovat a pustit Zabbix agenty a nakonfigurovat je v Zabbix serveru. Na to se podíváme příště a zároveň bych k tomu přidal něco omáčky a ukázal bych též, jak si nastavit něco podobného, jako je na screenshotech na domovské stránce Zabbixu.

Anketa

Používáte dohledový systém?

       

Školení: Linux – Zálohování, Vysoká dostupnost, SNMP dohled

Na třídenním školení se naučíte nainstalovat a spravovat systém zálohování, replikace dat a vysoké dostupnosti dat. Dále také pracovat s RAID a LVM poli a nainstalovat a spravovat si vlastní dohledový systém.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,77

Přehled názorů

testovem/textovem
anonymní uživatel 8. 8. 2006 03:24
Nový
└ 
Re: testovem/textovem
Josef Karliak 8. 8. 2006 07:12
Nový
Vyhody oproti Nagiosu, Cacti
vbZ 8. 8. 2006 07:56
Nový
├ 
Re: Vyhody oproti Nagiosu, Cacti
houska 8. 8. 2006 08:23
Nový
│
└ 
Re: Vyhody oproti Nagiosu, Cacti
vbZ 8. 8. 2006 08:49
Nový
│
 
└ 
Re: Vyhody oproti Nagiosu, Cacti
cryp 8. 8. 2006 11:26
Nový
│
 
 
└ 
Re: Vyhody oproti Nagiosu, Cacti
Chulda 8. 8. 2006 11:31
Nový
├ 
Re: Vyhody oproti Nagiosu, Cacti
astray 8. 8. 2006 08:52
Nový
│
├ 
Re: Vyhody oproti Nagiosu, Cacti
hoppik 8. 8. 2006 15:40
Nový
│
├ 
Re: Vyhody oproti Nagiosu, Cacti
R/W 8. 8. 2006 16:15
Nový
│
├ 
Re: Vyhody oproti Nagiosu, Cacti
Kamik 8. 8. 2006 20:38
Nový
│
└ 
Re: Vyhody oproti Nagiosu, Cacti
Martins 9. 8. 2006 21:10
Nový
├ 
Re: Vyhody oproti Nagiosu, Cacti
Josef Karliak 8. 8. 2006 08:56
Nový
│
├ 
Re: Vyhody oproti Nagiosu, Cacti
Láďa 8. 8. 2006 11:29
Nový
│
└ 
Re: Vyhody oproti Nagiosu, Cacti
Filip Huška 8. 8. 2006 23:12
Nový
└ 
help
1x23 25. 4. 2007 22:50
Nový
Nagios - naprosta spokojenost
Ondra 8. 8. 2006 09:37
Nový
Monitoring
Solva 8. 8. 2006 10:07
Nový
└ 
Re: Monitoring
Jakub Suchy 8. 8. 2006 12:03
Nový
aa
anonymní uživatel 8. 8. 2006 10:13
Nový
Monitoring Windows stanic
Jiří Hnidek 8. 8. 2006 17:56
Nový
├ 
Re: Monitoring Windows stanic
Pavel Hradecký 8. 8. 2006 18:16
Nový
├ 
Re: Monitoring Windows stanic
Solva 9. 8. 2006 09:45
Nový
│
└ 
Re: Monitoring Windows stanic
astray 9. 8. 2006 22:43
Nový
│
 
└ 
Re: Monitoring Windows stanic
Solva 10. 8. 2006 10:46
Nový
└ 
Re: Monitoring Windows stanic
R/W 10. 8. 2006 13:23
Nový
Need a help!!!
Michal Libra 9. 8. 2006 18:19
Nový
├ 
Re: Need a help!!!
Jaroslav Vorlicek 10. 8. 2006 17:50
Nový
│
└ 
Re: Need a help!!!
MichaL . 10. 8. 2006 18:02
Nový
└ 
Re: Need a help!!!
petr_bear 14. 5. 2007 12:40
Nový
pinger
vojta 10. 8. 2006 17:56
Nový
vyreseny problem s loginem
x/ 7. 5. 2010 15:46
Nový
Zabbix vs Nagios vs Cacti
Woloda Zangetsu 18. 8. 2010 09:47
Nový
Školenie zabbixu
mrB 9. 11. 2011 13:07
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem