Multikriteriální analýza a predikce incidentů pomocí Zabbixu Lukáš Macura Slezská univerzita v Opavě Obchodně podnikatelská fakulta v Karviné
Obsah Úvod Zabbix na SU Proč Zabbix? Proč analýza? GNU Octave Monda Závěr
Zabbix na SLU Karvina: Verze 2.0.9 Funguje velmi dobře Stále na mysql. Zmigrujeme na pgsql při přechodu na 2.2 Hodně konfigurace a inventory Historie a trendy v záložních tabulkách (+40G on disk) 752 active hosts, 37983 active items, 116 new values per second Inventory propojené s ObnovaNG a dalšími věcmi pomocí API Aproximately 12G of data.
Zabbix na SLU Opava: Version 2.0.6 Funguje dobře Mysql 213 active hosts, 3435 active items, 140 new values per second Aproximately 14G of data.
Proč Zabbix? Protože je nejlepší? :) Protože s ním máme zkušenosti Dá se velice pěkně ovládat a škálovat Vše v SQL Jednoduché JSON API Propojitelný skoro se vším Multiplatformní
Proč analýza? Pouhou analýzou dat můžeme zjistit zajímavé informace Nepotřebujeme žádný další HW Pouze zavedeme všechny servery a prvky do Zabbixu a pak zanalyzujeme historii. Můžeme najít nečekané závislosti mezi službama Můžeme využít volný CPU serveru
Multikriteriální analýza Víte co se děje na vaší síti? Když říkáte ano, většinou lžete. Buď lžete, protože si to myslíte, nebo protože to tak chcete :) Jak chcete najít incidenty, když nevíte, co hledáte? Můžete nastavit prahové hodnoty pro notifikaci, ale stále jste učitel systému. Co se stane, když sám učitel nemůže pochytit vše? Snažím se vyřešit multikriteriální analýzou Používám GNU octave
GNU Octave GNU nástroj pro matematické výpočty Podobný a stejně výkonný jako MATLAB Velmi pěkný nástroj na numerické výpočty Pěkné, konfigurovatelné grafy a výstupy Multiplatformní
GNU Octave
Monda MONitoring Data Analysis https://code.google.com/p/monda/ Projekt pro analýzu dat monitorovacího systému V současnosti propojen se Zabbixem Umí použít API i nativní SQL Vytahuje data z historie Zabbixu a generuje.m soubory pro octave
Monda V současné době alfa verze Součástí makefile pro automatizaci Umí Vytáhnout data z Zabbixu Základní analýzu Uložení dat pro pozdější další analýzy
Monda Stažení dat z Zabbixu Normalizace dat Statistická analýza Korelační analýza Vykreslení grafů a výstupů Mnoho dalšího
Monda git clone https://lukas.macura@code.google.com/p/monda/ cd monda cp config.mk.dist config.mk mc -e config.mk #Nastavime parametry, kde se nachazi zabbix, DB a co chceme analyzovat ZABBIX_USER = somewebuser ZABBIX_PW = somepassword ZABBIX_URL = http://zabbixhost/api_jsonrpc.php #... # Analyzation parameters PERSERVER = 'net.if.in\[eth0,bytes\] net.if.out\[eth0,bytes\] system.cpu.load proc.num\[,,run\] vfs HOSTGROUP = 'Servers' INTERVALS = 4hour 12hour 24hour START_TIMES = -1day -2day make
Grafy
Grafy
Výstup joanes:vfs.fs.size[/,free](24)<>joanes:vfs.fs.size[/,pfree](25): 0.999999 joanes:vfs.fs.size[/,pfree](25)<>joanes:vfs.fs.size[/,free](24): 0.999999 joanes:vfs.fs.size[/,pfree](25)<>joanes:vfs.fs.size[/,used](26): -0.999997 joanes:vfs.fs.size[/,used](26)<>joanes:vfs.fs.size[/,pfree](25): -0.999997 joanes:vfs.fs.size[/,free](24)<>joanes:vfs.fs.size[/,used](26): -0.999992 joanes:vfs.fs.size[/,used](26)<>joanes:vfs.fs.size[/,free](24): -0.999992 joanes:system.cpu.intr(9)<>joanes:system.cpu.switches(13): 0.986780 joanes:system.cpu.switches(13)<>joanes:system.cpu.intr(9): 0.986780 joanes:system.cpu.util[,idle](14)<>joanes:system.cpu.util[,user](21): -0.943094 joanes:system.cpu.util[,user](21)<>joanes:system.cpu.util[,idle](14): -0.943094 joanes:system.cpu.intr(9)<>joanes:system.cpu.util[,softirq](18): 0.889644 joanes:system.cpu.util[,softirq](18)<>joanes:system.cpu.intr(9): 0.889644 joanes:system.cpu.load[percpu,avg15](11)<>joanes:system.cpu.load[percpu,avg5](12): 0.883290 joanes:system.cpu.load[percpu,avg5](12)<>joanes:system.cpu.load[percpu,avg15](11): 0.883290 joanes:system.cpu.switches(13)<>joanes:system.cpu.util[,softirq](18): 0.852075 joanes:system.cpu.util[,softirq](18)<>joanes:system.cpu.switches(13): 0.852075 joanes:net.if.in[eth0](2)<>joanes:system.cpu.util[,softirq](18): 0.838164 joanes:system.cpu.util[,softirq](18)<>joanes:net.if.in[eth0](2): 0.838164
Závěr Analyzujte, analyzujte, analyzujte Reportujte, reportujte, reportujte Díky za pozornost macura@opf.slu.cz