170 likes | 288 Views
ASP.NET Monitoring. Paul Mizel pmizel@do-dotnet.de. Inhalt. Motivation Theoretische Ansätze ASP.NET Möglichkeiten Benutzeranzahl Demo Do.NET Pla Framework Do.NET Pla - Demoseite Do.NET Pla - How it works. Motivation. Was ist Monitoring? Überwachen Reagieren Was bringt Monitoring?
E N D
ASP.NET Monitoring Paul Mizel pmizel@do-dotnet.de
Inhalt • Motivation • Theoretische Ansätze • ASP.NET Möglichkeiten • Benutzeranzahl Demo • Do.NET Pla Framework • Do.NET Pla - Demoseite • Do.NET Pla - How it works
Motivation • Was ist Monitoring? • Überwachen • Reagieren • Was bringt Monitoring? • Statusübersicht • Statistiken • Systemkontrolle • SLA - Aussagen • Ziel von Monitoring • Höhere Verfügbarkeit • Stabileres System
Theoretische Ansätze • Monitoring Fachlogik • Jede Seite • MasterPage • Basis Seite • HttpHandler • HttpModule • State Speichern und Abfragen • FileSystem - Binär / XML / Text • InProcess - Session / Cache / Memory • OutProcess - WebService / MQs / Pipes • SQL • PerformanceCounter
Do.NET PLA Framework PLA - Performance Logs and Alerts HttpModule –> PlaModule • Zwei Default Provider Gruppen • Empty • PerformanceCounter • ProviderModel & Interface Injections & Eventbasiert • Flexibel Erweiterbar • Flexibel Konfigurierbar • Flexibel Anbindbar • Einfach bedienbar • Was PLA nicht ist • Errorhandling • Tracing oder Debuging
Inhalt des Do.NET Pla Frameworks • Monitoring Daten • Anzahl Aufrufe • Anzahl Fehlerhafter Aufrufe • Anzahl Aufrufe pro sec. • Anzahl Fehlerhafter Aufrufe pro sec. • % Durchschnittliche Aufrufzeit • Aussagen • Welche Seite wird wie am meisten aufgerufen • Welche Seite verursacht die meisten Fehler • Stosszeiten verhalten der Seiten, im Aufruf und Fehlerfall • Aussagen über Verarbeitungsverhalten der Seite
How to use #1 • HttpModule anmelden (web.config) • Do.NET Pla konfigurieren (web.config) • Do.NET Pla Provider erweitern <httpModules> <add name="PlaModule" type="Do.NET.Pla.PlaModule, Do.NET.Pla"/> </httpModules> <section name="performanceConfiguration" type="Do.NET.Pla.Configuration.PerformanceConfiguration"/> <performanceConfiguration enabled="true" providerGroup= "PerformanceCounter" applicationName = "Portal.Pla"> <performanceItems> <!--Add Namespaces--> <add name="*"enabled="true"isCriticalPerformance="false"description="Wartungsarbeiten" criticalResponder="Do.NET.Pla.PerformanceCriticalResponderDefault"/> </performanceItems> </performanceConfiguration> providerGroup= "Custom" performanceProvider="Do.NET.Pla.PerformanceCounter.Provider, Do.NET.Pla, Version=1.0.0.0, PublicKeyToken=null" performanceMetrics="Do.NET.Pla.PerformanceCounter.Metrics, Do.NET.Pla, Version=1.0.0.0, PublicKeyToken=null" performanceStore="Do.NET.Pla.PerformanceCounter.Store, Do.NET.Pla, Version=1.0.0.0, PublicKeyToken=null" performanceState="PlaWeb.Extend.ServiceState, PlaWeb.Extend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
How to use #2 • Aus der Page auf Pla zugreifen • In der Page reagieren • Fachlogik Monitoren Implementieren IPerformanceContainer Implementieren IPerformanceContainer try { using (IPerformanceMonitor mon = Performance.CreateMonitor(PerformanceContextTypes.Show)) { //mach was throw new Exception(); //Fehler simulation mon.CountOperation (true);//erfolgreich ausgeführt } } catch (Exception) { //Fehlerbehandlung }
How it work • HttpModule • Bindung an Init • Initialisierung des Frameworks (IPerformanceProvider) • Bindung an die Page (IPerformanceContainer, IPerformanceCriticalResponder) • Start der Zeitmessung • Bindung an Error • Fehler Markierung in Metrics • Bindung an Unload • Zeitmessung • Aufräumarbeiten • Was macht das Do.NET PLA Framework? • Instanz-Namen festlegen • Erfolgreich oder nicht erfolgreich ausgeführt merken • Zeitmessung erstellen • Abfrage des Status vom einer Quelle • Reaktion auf den kritischen Status melden
Zusammenfassung • Monitoring ist nicht einfach nur gucken • Über HttpModule elegante Lösungen möglich • Transparentes Monitoring von ASP.NET WebSeiten • Schwache Bindung zu ASP.NET Webseiten • Über PerformanceCounter • Liveüberwachung möglich • Autmatische Zwischenberechnung • In Kombination mit Enterprise Server Produkten • vollständig Automatisierbar • statistische Auswertungen • SLA Kontrolle
PLA – Performance Logs and Alerts • http://msdn2.microsoft.com/en-us/library/aa372635(VS.85).aspx • Data-Warehause • http://de.wikipedia.org/wiki/Data-Warehouse • System Center Operations Manager 2007 • http://www.microsoft.com/systemcenter/opsmgr/
Vielen Dank! Paul Mizel pmizel@do-dotnet.de