34
Znáte zdraví svých aplikací? Několik námětů k předcházení problémům v běhu systémů

Znáte zdraví svých aplikací?

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

Page 1: Znáte zdraví svých aplikací?

Znáte zdraví svých aplikací?

Několik námětů k předcházení problémům v běhu systémů

Page 2: Znáte zdraví svých aplikací?

• 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

Page 3: Znáte zdraví svých aplikací?

O čem budeme hovořit?

Základní pojmy

Nástroje

Když selže prevence

Page 4: Znáte zdraví svých aplikací?

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!!!

Page 5: Znáte zdraví svých aplikací?

Základní pojmy

Page 6: Znáte zdraví svých aplikací?

Vymezení tématu

• Hardware

• Operační Systém

• Databáze/Aplikační Server– Caché, Ensemble

• Aplikace– Vaše aplikace

Page 7: Znáte zdraví svých aplikací?

Operační schéma

Aplikační metrika…

Aplikační metrika…

Žurnály

CPU Paměť Disky

Buffery Datasety

Page 8: Znáte zdraví svých aplikací?

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ě

Page 9: Znáte zdraví svých aplikací?

Operační systém

• Dostupná velikost paměti

• Četnost přístupů do odkládacího souboru

• ?

Page 10: Znáte zdraví svých aplikací?

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

Page 11: Znáte zdraví svých aplikací?

Aplikace

• Dávkové procesy

• Pravidelné úlohy

• Různé uživatelsky definované metriky

Page 12: Znáte zdraví svých aplikací?

Nástroje

Page 13: Znáte zdraví svých aplikací?

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

Page 14: Znáte zdraví svých aplikací?

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)

Page 15: Znáte zdraví svých aplikací?

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)

Page 16: Znáte zdraví svých aplikací?

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

Page 17: Znáte zdraví svých aplikací?

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

Page 18: Znáte zdraví svých aplikací?

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

Page 19: Znáte zdraví svých aplikací?

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

Page 20: Znáte zdraví svých aplikací?

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

Page 21: Znáte zdraví svých aplikací?

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ě:

Page 22: Znáte zdraví svých aplikací?

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

Page 23: Znáte zdraví svých aplikací?

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í

Page 24: Znáte zdraví svých aplikací?

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

Page 25: Znáte zdraví svých aplikací?

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()

Page 26: Znáte zdraví svých aplikací?

Pozor na firewal

• SNMP– Data: UDP 161– Události: UDP 162

• AgentX– TCP: 705

Page 27: Znáte zdraví svých aplikací?

Ukázky

Page 28: Znáte zdraví svých aplikací?

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/

Page 29: Znáte zdraví svých aplikací?
Page 30: Znáte zdraví svých aplikací?

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)

Page 31: Znáte zdraví svých aplikací?
Page 32: Znáte zdraví svých aplikací?

Jiné možnosti

• WMI (Windows Management Instrumentation)– Pouze Windows

• Caché Task Manager– Vlastní úlohy, poděděné od %SYS.Task– Email– Webové služby

Page 33: Znáte zdraví svých aplikací?

Když selže prevence

Page 34: Znáte zdraví svých aplikací?

Když už se něco přihodí

• Diagnostic report (neboli Buttons)

• Performance Buttons (pButtons) –pro získání nutno kontaktovat WRC