Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Higiena i zdrowie aplikacji .Net (Operating and Instrumenting)

Podobne prezentacje


Prezentacja na temat: "Higiena i zdrowie aplikacji .Net (Operating and Instrumenting)"— Zapis prezentacji:

1 Higiena i zdrowie aplikacji .Net (Operating and Instrumenting)
Cezary Nolewajka Getin Sp. z o.o.

2 Wstęp O czym jest ta prezentacja?
Monitorowanie i raportowanie działania aplikacji Różne mechanizmy monitorowania Enterprise Management Narzędzia do monitorowania: MOM

3 Wstęp Dla kogo jest ta prezentacja?
Projektanci oraz programiści (projekt i implementacja odpowiednich mechanizmów) Administratorzy (implementacja infrastruktury i konfiguracja Enterprise Management)

4 Monitorowanie - dlaczego?
weryfikacja poprawności działania oraz czy system spełnia wymogi SLA przestoje w działaniu systemu powodują wymierne straty dla organizacji często do 80% czasu poświęconego rozwiązaniu problemu jest poświęcona na zidentyfikowanie problemu monitorowanie działania jest kluczowe dla diagnostyki problemów

5 Monitorowanie - dlaczego? (c.d.)
wiele z problemów objawia się dopiero w środowisku produkcyjnym informacja o awarii systemu będzie znana zanim spostrzegą ją użytkownicy automatyzacja działania i procesów zarządzania systemami możliwość przewidywania i proaktywnego reagowania

6 Monitorowanie - co? Platorma systemowa Monitorowanie aplikacji
Monitorowanie usług (serwisów) jako całości (SLA!) Sieć Monitorowanie sprzętu komputerowego (serwerów)

7 Monitorowanie - ‘zdrowa’ aplikacja?
zwraca poprawne wyniki w odpowiednim czasie wydajna (np. brak zbędnych pętli, oszczędne wykorzystywanie zasobów) optymalne wykorzystanie środowiska aplikacji minimalne wykorzystanie infrastruktury (przy ciągłym zapewnieniu funkcjonalności i wymaganej wydajności)

8 Monitorowanie - ‘zdrowa’ aplikacja?
zwalnia wykorzystywane zasoby jak tylko skończy je wykorzystywać stosuje wydajne wykorzystywanie zasobów pamięci (np. wykorzystywanie z pliku „pagefile” tylko, gdy jest to konieczne) działanie aplikacji nie wpływa negatywnie na inne aplikacje

9 Monitorowanie - ‘niezdrowa’ aplikacja?
nie zwraca wyników zwraca wynik działania zbyt wolno, lub wydajność nie jest stabilna zwraca nieprawidłowe wyniki nie zwalnia wykorzystywanych zasobów w niewydajny sposób wykorzystuje zasoby systemu operacyjnego (np. zarządzanie pamięcią) negatywnie wpływa na działanie innych aplikacji

10 Monitorowanie - jak? Aspekty wyboru źródła danych
Zbieranie informacji z systemów poza aplikacją (np. system, Performance Counters) Przygotowanie aplikacji tak, aby dostarczała danych o działaniu aplikacji

11 Monitorowanie - jak? (c.d.)
Narzędzia od najprostrzych metod aż po infrastruktury VS .Net: System.Diagnostics: Trace/Debug, Performance Counter, EventLog VS.Net, Windows 2000/2003 Server: WMI (Windows Management and Instrumentation) EIF (Enterprise Instrumentation Framework) Microsoft Operations Manager 2000

12 Monitorowanie - po kolei...
Wybór elementów i strategii monitorowania Budowanie danych bazowych (baseline) Wykorzystanie symulacji i sztucznych bodźców (testy) Przygotowanie aplikacji (instrumenting)

13 Najprostrze narzędzia
System.Diagnostics Trace/Debug EventLog Performance Counters

14 Struktura przykładów int nSleep = 100; int nLoop = 1000;
for (int i = 0; i <= nLoop; i++) { nSleep = nSleep - rnd.Next (10, 50); if (nSleep < 10) nSleep = 10; // do something with: // SleepValue // Loop }

15 System.Diagnostics - Trace/Debug
WriteLine, Write, Indent, Unindent Assert TraceSwitch BooleanSwitch TraceListener

16 System.Diagnostics - Trace/Debug
<assert assertuienabled="false" ...></assert> <trace autoflush="true" indentsize="2"> <listeners> <remove name="Default"></remove> <add name="MyListener" type="...” ... /> </listeners> </trace> <switches> <add name="SwitchName" value="2" /> </switches> </system.diagnostics>

17 01_DebugTrace

18 System.Diagnostics - Performance Counters
CategoryName, CounterName NextValue (odczyt) Increment, IncrementBy, RawValue (zapis) CounterType RawData, Average, Difference, Instantaneous, Percentage, Rate

19 02_PerformanceCounters

20 System.Diagnostics - EventLog
EventLog.WriteEvent Własne dzienniki zdarzeń (EventLog) Własne źródła zdarzeń (EventSource) HKLM/SYSTEM/CurrentControlSet/ Services/EventLog - uprawnienia!

21 03_EventLog

22 WMI - Windows Management and Instrumentation
DMTF (Desktop Management Task Force) => CIM (Common Information Model) TDC (Technology Development Committee), 1996 CIM TDC: Compaq, CISCO, HP, IBM/Tivoli, Intel, MS, Novell, SunSoft WBEM (Web Based Enterprise Management) CIM – standard przemysłowy opracowany do reprezentowania systemów, aplikacji, sieci, urządzeń, ... WMI – implementacja WBEM i CIM zrealizowana przez MS

23 WMI - co można? Zarządzanie obiektami Instrumentacja aplikacji
Język zapytań WQL (WMI Query Language) Wyszukiwanie definicji klas i instancji obiektów Subskrypcja zdarzeń Wywoływanie metod Dostęp do atrybutów Strongly-typed WMI Instrumentacja aplikacji Zarejestrowanie klasy w schemacie WMI Emitowanie zdarzeń Udostępnianie metod i danych

24 WMI - co można? (c.d.) Współpraca z wieloma systemami monitorującymi
MS Operations Manager HP OpenView IBM Tivoli NetIQ inne...

25 WMI - Platform SDK

26 WMI - instrumentacja aplikacji
[assembly:Instrumented("Root/WMITest")] using System.Management.Instrumentation; Zdarzenia [InstrumentationClass(InstrumentationType.Event)] Klasa bazowa BaseEvent Instrumentation.Fire () lub BaseEvent::Fire ()

27 WMI - instrumentacja aplikacji
Obiekty [InstrumentationClass(InstrumentationType.Instance)] Klasa bazowa Instance Klasy i atrybuty publiczne mapowane na typy CLI i WMI InstallUtil !!!

28 04_WMIExposeEvent

29 06_WMICallMethod

30 06_WMICallMethod (c.d.)

31 WMI - ograniczenia w .Net
Ograniczenia WMI w kodzie “managed” Nie da się udostępniać atrybutów do zapisu Nie da się udostępniać metod Nie jest wspierane tworzenie kwalifikatorów Właściwości obiektów nie mogą być definiowane jako atrybuty klucze Ograniczenia te nie dotyczą implementacji WMI w C++ „unmanaged”

32 05_WMIObjectClass

33 EIF - Enterprise Instrumentation Framework
Wyklucza wady innych API konieczność uczenia się różnych API konieczność zmian w kodzie w celu dostrojenia monitorowanych danych konieczność zmian w kodzie w celu dodania kolejnego mechanizmu monitorowania EIF to rekomendowana technika instrumentacji ze względu na łatwość konfiguracji i zarządzania w środowisku produkcyjnym

34 EIF - architektura Event Schema bazuje na System.Management, a więc i WMI dla implementacji Event Schema Event Sources Event Sinks Request Tracing (execution flow !!!) Instrumentation API XML Configuration File nie pozwala na udostępnianie instancji obiektów !

35 EIF

36 EIF - konfiguracja TraceSessions.config
EnterpriseInstrumentation.config <filters> <filter name="defaultSoftwareElementFilter" > <eventCategoryRef name="All Events"> <eventSinkRef name="wmiSink" /> <eventSinkRef name="traceSink" /> <eventSinkRef name="logSink" /> </eventCategoryRef> </filter> </filters>

37 Microsoft Operations Manager
Strategia zarządzania systemami proponowana przez Microsoft Mechanizmy Windows 2000/2003 Server Operations Manager Systems Management Server (zarządzanie zmianami i konfiguracją) Microsoft Operations Framework (MOF) Usługi .Net Mangement Services

38 Microsoft Operations Manager
Zarządzanie operacyjne Zarządzanie rozproszone (agenci) Zarządzanie centralne (konsola administracyjna) Reguły Ostrzeżenia Monitorowanie wydajności Pakiety Management Packs (baza wiedzy technicznej) Graficzne narzędzia raportowania Skalowalność do rozmiarów korporacyjnych Agenci Zautomatyzowanie wdrażania agentów i reguł

39 Podsumowanie Czy warto monitorować? Właściwy dobór zakresu i strategii
Właściwy dobór sposobów notyfikacji Właściwy dobór narzędzi Nie strzelać do wróbla z armaty! WMI EIF Łączenie technik, np.: Trace + CustomTrace Listener + .config + WMI = EIF !!! (no prawie)

40 Bibliografia Operating .Net-Based Applications ( net/maintain/opnetapp/default.asp) Enterprise Instrumentation Framework Documentation WMI Platform SDK MSDN for Visual Studio .Net 2003 Operations Manager 2000 Documentation CHIP SPECIAL: MS Visual Studio .Net

41


Pobierz ppt "Higiena i zdrowie aplikacji .Net (Operating and Instrumenting)"

Podobne prezentacje


Reklamy Google