340 likes | 474 Views
Zabbix. Szerver monitorozó programunk. Alapok. Korábban is a Zabbix előző verzióit használtuk szervereink monitorozására, ám a legfrissebb 1.8.10-es verzió nem volt elérhető a debian csomaglistában, így az új zabbix szerver telepítése nem a hagyományos csomagkezelőkön keresztül zajlott.
E N D
Zabbix Szerver monitorozó programunk
Alapok • Korábban is a Zabbix előző verzióit használtuk szervereink monitorozására, ám a legfrissebb 1.8.10-es verzió nem volt elérhető a debian csomaglistában, így az új zabbix szerver telepítése nem a hagyományos csomagkezelőkön keresztül zajlott.
Alapok 2 • Milyen előnyei vannak az új verziónak: • Fejlettebb jogosultság kezelési rendszer • Fejlettebb item és trigger kezelési rendszer • Újabb template kezelés • API külső programokhoz (pl android alkalmazások) • Riasztások finomhangolása (pl. delay) • Megújult PHP frontend (nem biztos hogy átláthatóbb)
Telepítés - függőségek • Függőségek: • Apache 2 • PHP5 (smtp, mysql, gd2 modulok stb..) • MySQL (esetleg Postgre SQL, Orace, IBM DB2 stb.)
Telepítés 2 – telepítési lépések • Adatbázis létrehozás, és felhasználó létrehozás • Táblaszerkezet importálása (create/shema/mysql.sql) • Adatok importálása (create/data/images_mysql.sql)
Telepítés 3 – fordítás • Szerver fordítás:./configure --enable-server --with-mysql --with-libcurlmake install • Kliens fordítás./configure --enable-agentmake install
Telepítés 4 - indítás • Mivel a kész programot nem lehet a hagyományos módon indítani, mert a telepítés során a sem a zabbix szervernek sem a kliensnek nem készül indító állománya ezt saját kezűleg kellett megírni
Telepítés 5 – Szerver indító script(/etc/init.d/zabbix-server) #! /bin/sh # # Zabbix daemon start/stop script. # # Written by Alexei Vladishev <alexei.vladishev@zabbix.com>. NAME=zabbix_server DAEMON=/usr/local/sbin/${NAME} DESC="Zabbix server daemon" PID=/var/run/zabbix-server/$NAME.pid test -f $DAEMON || exit 0 case "$1" in start) echo "Starting $DESC: $NAME" start-stop-daemon --oknodo --start --pidfile $PID \ --exec $DAEMON ;; stop) echo "Stopping $DESC: $NAME" start-stop-daemon --oknodo --stop --pidfile $PID \ --exec $DAEMON ;; restart|force-reload) $0 stop $0 start ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
Telepítés 6 – indítási hibák • Az indító script megírásával még nem indult el sem a szerver sem a kliens. Mindkettő futásához szükséges pid fájlhoz szükséges helyet el kellett készíteni és a jogosultságokat be kellett állítani, ezek a következők lettek: • /var/run/zabbix-agent • /var/run/zabbix-server
Telepítés 7 – konfigurációs fájlok (zabbix-server.conf) • LogFile, DebugLevel • PidFile • DBHost, DBName, DBSchema, DBUser, DBPassword • HousekeepingFrequency, Timeout, UnreachablePeriod, UnavaibleDelay, UnreachableDelay • AlertScriptsPath • ExternalScriptsPath • LogSlowQueries
Telepítés 8 – konfigurációs fájlok (zabbix-agentd.conf) • PidFile • LogFile (elhagyható) • Server (zabbix-agent.conf fájlban is be kell állítani) • Hostname
Hostok • Hostok alatt a megfigyelt szervereket értjük. • Rendszerünkben két nagy csoportra oszthatóak, a belső hálózati IP címmel rendelkezőek (pl, Titan, Foxtrot) és a belső címmel nem rendelkező szerverekre (Xenon, Pegazusok). • A gépeket IP cím alapján vizsgáljuk • A könnyebb azonosíthatóság kedvéért pedig el is nevezzük a zabbix szerveren őket (a valódi szerver nevük alapján).
Templatek • A rendszerben nagyon jól használható template kezelő rendszer van. Egy hosthoz több template is rendelhető, így pl. rendelhetünk egy szerverhez egy általános linux és egy webserver templatet is.
Template 2 A használt és használt templateink: • Template_Linux (általános linux) • WS_Templates_WS_Commmons (minden WS szerverre süksége) • WS_Template_DNS_Servers • WS_Template_Mailblacklists (Blacklist figyelő) • WS_Template_Mailtests (Email szervereket figyelő) • WS_Template_Webservers (Webserverekre szükséges)
Items • Az itemek azok a tulajdonságok amiket a hostokon vizsgálunk (pl. szabad hely, terhelés) A hostoknak a következő fontos paraméteri vannak: • Description (név) • Key (amit vizsgálunk pl.: proc.num[xenconsoled], vagy exim4fut) • Data type (milyen értékeket várunk eredményül) • Update interval (milyen sűrűséggel ellenőrizzük) • Status (éppen aktív-e, figyeljük-e)
Tiggers • Az itemekhez megfelelő riasztásokat tudunk készíteni, (pl. nem fut valamilyen szolgáltatás) • Ezeket a riasztásokat priorizálni is tudjuk, 6 különböző prioritást tudunk beállítani (Disaster, High, Average, Warning, Information, Not classified).
Triggers 2 - beállítás Az alábbi beállításokat kell megadnunk: • Name (trigger neve) • Expression (az item értéke és a riasztás állapotának határértéke pl load > 10) • Event generation: normal, vagy ismételt (Multiple Problem Events) • Serverity (prioritás)
Media Types • Különböző kommunikációs forrásokat lehet megadni, hogy a regisztrált felhasználókat hogyan értesítse a bekövetkezett eseményekről (pl email). • Ehhez két saját médiát adtam hozzá, a ws_mail-t ami egy hagyományos php alapú email küldő, és egy ws_sms-t ami a webserver sms rendszeren keresztül küld SMS értesítést a B.O. tagjainak. • Ez akorábban látott server konfigban megadott AlertScriptben meagdott mappába kellett helyezni.
Actions • Itt adható meg, hogy az adott prioritású riasztásra, milyen esemény hajtódjon végre. • Itt adható meg az üzenet szövege és a kézbesítés módja is, szóval itt tudjuk a triggereket a összekapcsolni a csatolt médiákkal.
Users és User Groups • A zabbix jogosultági rendszerében tudunk felhasználókat és csoportokat is kezelni. Egy felhasználó több csoport tagja is lehet. • Az alapértelmezett csoportokon kívül még létrehozam egy Web-Server.HU admins csoportot, és hozzáadtam a BO tagjait. • A guest felhasználónak pedig olvasási jogot adtam a Web-Server.hu szerverekre, hogy az Admiban és az Errorhandlerben nyomon lehessen követni a szerverek állapotának alakulását.
Users és User Groups 3 • A felhasználói alapadatokon (név, felhasználói név) és jelszón kívül megadhatóak még a következők. • Ki melyik csoport tagja • Nyelv, téma (frontend), sorok sázma egy oldalon, frissítés ide. • Média típusok. Ezen belül pedig: értesítés fajtája, célja (pl.: email cím), milyen triggerekről jönnöm az értesítés és mikor.