Zabbix monitorovací systém Vlastnosti aktuální verze 2.0.9 Lukáš Malý, DiS Konzultant – oddělení implementace IT
email:
[email protected]
Úvod, představení •
Zabbix - Enterprise-class open source distributed monitoring
•
Otevřený vývoj
•
GNU General Public License (GPL) version 2
•
12 let vývoje
•
Alexei Vladishev - Zabbix SIA – Lotyšsko, Riga
•
Old release 1.8.18
•
Stable release 2.0.9
•
Beta Release 2.1.8 (First Beta Release of Zabbix 2.2)
Historie • 1998 - interní projekt banky - Alexei Vladishev •
7.4. 2001 - Zabbix 1.0alpha1 release GPL
•
23.3. 2004 - Zabbix 1.0
•
6.2. 2006 - Zabbix 1.1
•
29.5. 2007 - Zabbix 1.4
•
11.8. 2008 - Zabbix 1.6
•
7.12. 2009 - Zabbix 1.8
•
8.10. 2013 - Zabbix 1.8.18
•
21.5. 2012 - Zabbix 2.0.0
•
8.10. 2013 - Zabbix 2.0.9
• 21.10. 2013 - Zabbix 2.1.8 (First Beta Release of Zabbix 2.2)
Vývoj •
12 let aktivního vývoje
•
Komerční podpora od roku 2005 - Zabbix SIA
•
Partnerský program
•
Lokální certifikovaná podpora v ČR Datasys s.r.o. od 2010
•
Reseller, Certified Partner, Premium Partner, Technology partners
•
Podrobnosti o historii vývoje
•
http://www.zabbix.com/news.php
Vývoj •
Placený objednávkový vývoj
•
Templated web monitoring
•
Monitoring of Virtualization Platforms
•
Add comments to graph
•
Encryption of All Communications
•
http://www.zabbix.com/development_services.php
Coje Zabbix ? •
Zabbix je Open Source monitorovací systém
•
Žádná Profesional nebo Enterprise verze
•
Sleduje dostupnost a např. výkon zařízení
•
Servery – zabbix agent
•
Síťová zařízení - SNMP verze 1,2,3, ICMP
•
Hardware – SNMP, IPMI
•
Java Virtual Machine – JMX
•
Aplikace - script + zabbix-send
Coje Zabbix ? •
Ilustrace
Zabbix funkcionalita •
Agent / základní monitorování
•
Auto-discovery
•
Eskalace a opakované notifikace (E-mail, Jabber/XMPP, SMS)
•
Pro-active monitoring, vzdálené akce (reboot, restart)
•
WEB monitoring
•
Grafy, Mapy, Pohledy
•
IT Služby (SLA), reporty
•
Podpora IPv4 i IPv6 a další
•
http://www.zabbix.com/features.php
Hlavní komponenty Server: •
Zabbix core, logika systému
• Získává data, eskalace události WEB front-end: •
Přístup k historii dat
• Konfigurace Agent: active/passive • Server data collection, akce Proxy: •
Remote data collection
Hlavní komponenty Na čem je Zabbix postaven ? •
Server Standalone/Node (NodeID=X) source code ”C language”
•
WEB front-end source code ”PHP”
•
Agent source code ”C language”
•
Proxy Active/Passive source code ”C language”
•
Java Gateway source code “Java language”
Podpora OS •
Server/Proxy Linux, *BSD, Solaris, AIX, HP-UX
•
Agent Linux, *BSD, Solaris, AIX, HP-UX, Windows
Hlavní komponenty • Agent [malyl@zbx ~]$ pkg_info -r zabbix-agent-2.0.8 Dependency: libiconv-1.14_1 • Server [malyl@zbx ~]$ pkg_info -r zabbix-server-2.0.8 Dependency: libssh2-1.4.3_1,2 Dependency: openldap-client-2.4.36 Dependency: fping-3.5 Dependency: net-snmp-5.7.2_3 Dependency: curl-7.31.0_1 Dependency: postgresql-client-9.2.4 Dependency: libiconv-1.14_1 Dependency: gnutls-2.12.23_1 Dependency: iksemel-1.4_4 Dependency: openipmi-2.0.19_2 Dependency: openjdk-7.25.15_1
• WEB frond-end [malyl@zbx ~]$ pkg_info -r zabbix2-frontend-2.0.8 Dependency: apache-2.2.25 Dependency: php5-5.4.20 Dependency: php5-xmlwriter-5.4.20 Dependency: php5-xml-5.4.20 Dependency: php5-sockets-5.4.20 Dependency: php5-snmp-5.4.20 Dependency: php5-simplexml-5.4.20 Dependency: php5-session-5.4.20 Dependency: php5-pgsql-5.4.20 Dependency: php5-mbstring-5.4.20 Dependency: php5-gettext-5.4.20 Dependency: php5-gd-5.4.20 Dependency: php5-dom-5.4.20 Dependency: php5-xmlreader-5.4.20 Dependency: php5-ctype-5.4.20 Dependency: php5-bcmath-5.4.20
Zabbix a Distribuce •
Zabbix Official Repository
RPM balíčky pro Red Hat Enterprise 5,6 Linux (CentOS) DEB balíčky Debian (Squeeze,Wheezy) a Ubuntu (Lucid,Precise) http://repo.zabbix.com/
•
ZabbixZone Repository
CentOS 5, 6 Debian 6 Squeeze http://repo.zabbixzone.com/
•
Extra Packages for Enterprise Linux (EPEL) 5,6
Red Hat Enterprise Linux (RHEL), Fedora CentOS Scientific Linux (SL) http://fedoraproject.org/wiki/EPEL
Zabbix a Distribuce •
FreeBSD - aktuální porty 1.8.x a 2.0.x
zabbix2-agent zabbix2-frontend zabbix2-server zabbix2-proxy
•
Debian/Ubuntu – jen release verze zabbix
zabbix-agent zabbix-frontend-php zabbix-server-mysql zabbix-proxy-mysql
Kompilace ze src •
Související software
•
DB2, MySQL, PostgreSQL, SQLite, Net-SNMP, OpenSSL, PHP a knihovny OpenIPMI, iODBC, Iksemel, Libcurl, Gettext
•
shell> ./configure --enable-server --with-mysql --with-net-snmp --with-jabber --withlibcurl # for MySQL + Jabber + WEB monitoring
•
shell> make && make install
•
https://www.zabbix.com/documentation/2.0/manual/installation/install
Jak monitorovat? •
Kontrola služeb
•
FTP, SSH, HTTP, SMTP, DNS
•
Zabbix agent
•
Active a Passive
•
Monitoring logů a logy událostí
•
Vzdáleně volané příkazy
•
Ostatní
•
JMX – zapcat (old), Java Gateway
•
SNMP v1,v2,v3
•
Síťová zařízení, Routery, Switche, UPS
•
Aplikace
•
Monitorování Aplikací (Oracle, WebLogic, WebSpheare, PostgreSQL, MySQL, Postfix, Bind, Squid)
• •
SNMP Traps IPMI
• •
Monitoring Hardware Remote Management (reboot, reset, halt)
Zabbix Agent •
Active checks
Hodně efektivní
•
Passive checks
Vyžaduje aktivitu serveru pro získání hodnoty
Template / Šablona •
Definuje - Aplications, Items, Triggers, Graphs, Screens, Discovery
•
Užití pro stejná zařízení - Servery, Routery, Aplikace
•
Link with template Šablona z jiných šablon Template_Linux + eth1 …
•
XML Export / Import - Template, Hosts, Screen, Maps
•
Rychlejší modifikace
•
https://www.zabbix.com/wiki/templates/start
•
Další zdroje na Internetu např. GitHub
Template / Šablona Export
Items / Ploložky
Item / Ploložky - Type
Triggers / Spouštěče
Závislosti •
Zabbix nepodporuje závislost na Host
•
Je podporována závislost na Trigger
•
Definovaný trigger má podmíněnou závislost na jiném triggru.
•
"The host is down" depends on "The router is down"
•
Host závislost
•
Je dlouhodobě požadována komunitou
•
https://support.zabbix.com/browse/ZBXNEXT-46
Notifikace a Eskalace •
Media Types
•
Jabber - Interní / Externí Jabbim, jabber.org
•
Email - localhost Postfix / SMTP + auth
•
SMS - Gammu + script
•
Ez Texting - Komerční služba podporována Zabbixem. Stačí zadat uživatel a heslo.
•
Eskalace problému při jeho neodstranění
Vizualizace •
Latest data – jednoduchý graf hodnoty Items lze přepnout na výpis hodnot
•
Graphs – historie naměřených dat v definovaném dynamickém grafu
•
Screen – zobrazení více grafů např. menších náhledů
•
Maps – možnost zobrazení Hosts na mapě
Graphs / Grafy
Definice grafů
Screens / Obrazovky
Maps / Mapy
Maps / Mapy
WEB Monitoring •
Klihovna Libcurl zajišťuje sledování WEB prezentací.
•
Zjišťuje velikost stažené stránky
•
Rychlost jejího získání
•
Scénář umožnuje Autentizaci
•
Použití POST a GET
•
Failed step of scenario 'Web Page' 0
IT Services / Služby IT •
Máme možnost definovat SLA pro sledovaná zařízení.
•
Zabbix sleduje procentuální splnění nebo nesplnění SLA a jeho grafické znázornění.
•
Můžeme defninovat Servery nebo Služby atd.
Správa uživatelů •
Binárky Zabbix podporují knihovny OpenLDAP
•
Zabbix užívá interní uživatele
•
Skupiny LDAP se v Zabbixu nepouživají
•
Podpora LDAP / OpenLDAP, Active Directory, atd.
•
Je nutno založit stejného uživatele v Zabbixu
•
LDAP jen ověřuje heslo
•
Uživatel má možnost nastavení - Lokalizace 25 jazyků
•
php5-gettext, Česky (cs_CZ), English (en_US)
•
https://www.zabbix.com/documentation/2.0/contrib/translating
Rozšiřování Zabbixu •
Možnost v agentu definovat vlastní hodnoty
•
zabbix2_agentd.conf
•
UserParameter=key,command
•
DNS Bind četnost dotazů a paměť, Postfix fronta, HAProxy, cokoliv co lze ze serveru získat příkazem nebo scriptem.
•
Mnoho vytvořených šablon využívá toto rozšíření funkce agenta
•
https://www.zabbix.com/documentation/2.0/manual/config/items/userparameters
Zabbix Proxy •
Proxy server je speciální typ serveru
•
Umožňuje sledování vzdálených lokalit
•
Router pfSense 2.1 - package zabbix2 proxy
•
Ideální řešení pro rychlé zprovoznění Zabbix Proxy pro sledování vzdálené sítě.
•
Ve verzi 2.0.x již WEB monitoring je též funkční skrze proxy. Verze 1.8.x Curl prováděla jen ze Zabbix serveru.
Zabbix Node •
Velké řešení Monitoringu může být realizováno distribuovaně
•
Zástupnost serverů při výpadku
•
Synchronizace conf.
•
Nutnost konvertovat DB
API •
Hlavním mechanismem fungování API je JSON-RPC (ZBX)
•
DbforBIX, Oracle, PostgreSQL, MySQL – Java aplikace pro podrobné monitorování známých databází.
•
Zapcat – JMX Bridge > Tomcat, WebSpheare, WebLogic, JBoss
•
Ve verzi 2.0.x Zapcat nahrazeno pomocí Java Gateway
•
JSON/RPC (Ruby, PHP, Python, Java atd.)
•
Zabcon – Ruby
•
Android/iPhone – AndZabbix Pro, ZBX Mobile, ZAX, Mobbix Lite, Z4X agent pro Android, atd.
•
https://www.zabbix.com/documentation/2.0/manual/appendix/api/api
Dokumentace •
Zdroje informací o Zabbixu
•
Návody, rady, popisy funkcí, články na blogu
•
http://www.zabbix.com/documentation/
•
http://www.zabbix.com/wiki/
•
http://www.zabbix.com/forum/
•
http://blog.zabbix.com/
•
Sociální sítě
•
http://www.facebook.com/zabbix
•
https://google.com/+Zabbix
Dotazy
?
Děkuji za pozornost