Upload
dora-castaneda
View
32
Download
3
Embed Size (px)
DESCRIPTION
Znáte zdraví svých aplikací?. Několik námětů k předcházení problémům v běhu systémů. Co budeme rozumět pod pojmem „zdravá aplikace“ To, že všechny subsystémy fungují Že všechny subsystémy fungují pokud možno optimálně Že jsme schopni včas detekovat případnou blížící se pohromu. - PowerPoint PPT Presentation
Citation preview
Znáte zdraví svých aplikací?
Několik námětů k předcházení problémům v běhu systémů
• Co budeme rozumět pod pojmem „zdravá aplikace“
– To, že všechny subsystémy fungují
– Že všechny subsystémy fungují pokud možno optimálně
– Že jsme schopni včas detekovat případnou blížící se pohromu
O čem budeme hovořit?
Základní pojmy
Nástroje
Když selže prevence
Varování:
• Následující přednáška bude vysoce odborná a bude klást extrémní nároky na posluchače.
• Slabším povahám se může udělat špatně nebo alespoň nevolno, ne-li přímo zle.
• Je však ve Vašem zájmu vydržet do konce!!!
Základní pojmy
Vymezení tématu
• Hardware
• Operační Systém
• Databáze/Aplikační Server– Caché, Ensemble
• Aplikace– Vaše aplikace
Operační schéma
Aplikační metrika…
Aplikační metrika…
Žurnály
CPU Paměť Disky
Buffery Datasety
Co všechno se může pokazit
• A tedy co vše je potřeba hlídat
• Hardware:– Teplota serveru– Místo na discích– Propustnost sítě
Operační systém
• Dostupná velikost paměti
• Četnost přístupů do odkládacího souboru
• ?
AS/DS
• Systémové zdroje (buffery)
• Stav síťových protokolů (ECP / shadow)
• Systémové soubory (datasety, žurnály)
• License (využití licenčních jednotek)
• Systémové úlohy
• Protokoly chyb
Aplikace
• Dávkové procesy
• Pravidelné úlohy
• Různé uživatelsky definované metriky
Nástroje
Caché System Monitor
• Rutina %MONAPPMGR– Základní API pro monitorování Caché– Registruje třídy metrik– Poplachy
• Třídy v balíčku %Monitor– Definují třídy metrik
Definování vlastních metrik
• Odvodit od %Monitor.Adaptor
• Definovat sledované veličiny – metriky– Musí být datové typy z balíčku %Monitor
• Z nich vzniknou persistentní třídy vzorků dat v balíčku .Sample
• Implementovat metody– GetSample– Volitelně Initialize,Startup,Shutdown
• POZOR: Třídy sbírající data pro SNMP musí být vytvořeny v %SYS (pokud nepoužijete SNMP můžete je vytvořit v aplikačním jmenném prostoru)
Caché System Monitor
• K metrikám registrovaným pomocí %MONAPPMGR lze přistupovat pomocí API
– Set agent=##class(%Monitor.SampleAgent).%New(<trida_s_datovymi_vzorky>)
– agent.Collect()
• Zobrazení– CSP stránky: každá třída vzorků je persistentní a CSP– Terminál: w ##class(%Monitor.View).Display(agent)
SNMP Protokol
• Simple Network Management Protocol– Protokol pro sběr informací ze síťových zařízení– Umí také konfigurovat zařízení na dálku
– 2 varianty komunikace• Periodický sběr dat• Asynchronní depeše
– V Caché od verze 5.1
Princip SNMP
Klienti•GUI klienti•Stavové informace, depeše, události
Agent•Snmp démon•Sub agenti (agentX)Sledovaná zařízení / aplikace•Metriky•Vzorky dat
Implementace v Caché
• Dokumentace:– Monitoring Caché using SNMP– http://192.168.77.130:57772/csp/docbook/DocBook.UI.
Page.cls?KEY=GCM_snmp#GCM_snmp_use
Implementace v Caché
• Prvky– %Monitor_Service
• Povolit službu– Monitor Settings [Home][Configuration][Monitor
Settings]• Start SNMP Agent at System Startup -> Yes
– %MONAPPMGR• Registruje vlastní třídy metrik
– Caché / Ensemble MIB• soubor se strukturami sledovaných veličin
Sestavení vlastního MIB souboru
• API třída MonitorTools.SNMP – %SYS namespace– Metoda CreateMIB()
– Viz online dokumentace (Monitoring Caché Using SNMP) a dokumentace třídy MonitorTools.SNMP
• POZOR: CreateMIB() ve verzích nižších než 2009.1 obsahuje chybu. Vygenerovaný MIB soubor je nutno ručně upravit, přidat čárku na konce řádek se seznamem metrik
Sem patří čárka
Konfigurace SNMP na Windows
• Na Windows musíte mít nainstalovánu a spuštěnu službu SNMP Service – Je součástí nástrojů pro sledování a správu sítě– Musíte mít povoleny porty 161 (UDP) a 705 (TCP)
• POZOR: v instalaci Caché pro Windows je chyba, která způsobí, že některé potřebné knihovny se správně nezaregistrují, takže registraci je potřeba provést ručně:
Registrace iscsnmp.dll
• Varianta a)– Z terminálu provést >w $ZU(190,5,1)
• Varianta b)– Regedit– Ke klíči HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents
– Přidat nový uzel s hodnotou SOFTWARE\InterSystems\Cache\SNMP\CurrentVersion
Konfigurace SNMP na Unixu
• Pokud Váš Linux/Unix podporuje v rámci net-snmp i agentx pak máte vyhráno, jinak máte problém a musíte se zanořit hluboko do konfigurace net-snmp
• Naštěstí nové verze těchto OS agentx podporují
Ukázka pro SUSE ES 10
• /etc/init.d obsahuje soubor snmpd– Skript pro start/stop démona– Čte konfiguraci z /etc/snmp/snmpd.conf
• /etc/snmp/snmpd.conf– Přidat řádek: master agentx
• /etc/init.d/snmpd skript:– Změnit tak, aby při startu použil navíc tento parametr:-x TCP:localhost:705
Konfigurace SNMP – společná část
• Nastartovat (pokud již neběží) snmp démon– W $$start^SNMP(port,timeout)
• Musí vrátit 1• Na Windows se neposílá data přímo, ale posílá ve skutečnosti
Windows objekt typu událost
– Démon se dá zastavit takto:• W $$stop^SNMP()
Pozor na firewal
• SNMP– Data: UDP 161– Události: UDP 162
• AgentX– TCP: 705
Ukázky
SNMP klienti
• Paessler Traffic Grapher– http://www.paessler.com/prtg
• IReasoning MIB browser– http://www.ireasoning.com/mibbrowser.shtml
• NetMechanica– http://www.netmechanica.com/products/
Depeše (Traps)
Asynchronní zprávy ze serveru
• Sada předdefinovaných událostí v Caché / Ensemble
• ##class(%Monitor.Alert).External(“SNMP”,aplikace,úroveň,textová zpráva)
Jiné možnosti
• WMI (Windows Management Instrumentation)– Pouze Windows
• Caché Task Manager– Vlastní úlohy, poděděné od %SYS.Task– Email– Webové služby
Když selže prevence
Když už se něco přihodí
• Diagnostic report (neboli Buttons)
• Performance Buttons (pButtons) –pro získání nutno kontaktovat WRC