Vortragsfolien - NET User Group Dortmund

Werbung
ASP.NET Monitoring
Paul Mizel
[email protected]
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
14.02.2017
© Copyright Do-DotNet - 2008
2
Motivation
Was ist Monitoring?
Überwachen
Reagieren
Was bringt Monitoring?
Statusübersicht
Statistiken
Systemkontrolle
SLA - Aussagen
Ziel von Monitoring
Höhere Verfügbarkeit
Stabileres System
14.02.2017
© Copyright Do-DotNet - 2008
3
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
14.02.2017
© Copyright Do-DotNet - 2008
4
© Copyright Do-DotNet - 2008
Do.NET PLA Framework
© Copyright Do-DotNet - 2008
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
14.02.2017
© Copyright Do-DotNet - 2008
7
Module des Do.NET Pla Frameworks
ASP.NET Web Application
PlaModule:HttpModule laden
Do.NET Pla Framework
IPerformanceProvider
IPerformanceMetrics
IPerformanceState
IPerformanceMonitor
IPerformance
Metrics
IPerformance
State
IPerformance
Store
IPerformanceStore
External
PerformanceCounter
Data-Warehouse – MSCOM
14.02.2017
© Copyright Do-DotNet - 2008
Statusabfrage
Statusantwort
Config – Cache – Service – DB
8
© Copyright Do-DotNet - 2008
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
14.02.2017
© Copyright Do-DotNet - 2008
10
How to use #1
HttpModule anmelden (web.config)
<httpModules>
<add name="PlaModule" type="Do.NET.Pla.PlaModule, Do.NET.Pla"/>
</httpModules>
Do.NET Pla konfigurieren (web.config)
<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>
Do.NET Pla Provider erweitern
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">
14.02.2017
© Copyright Do-DotNet - 2008
11
How to use #2
Aus der Page auf Pla zugreifen
Implementieren IPerformanceContainer
In der Page reagieren
Implementieren IPerformanceContainer
Fachlogik Monitoren
try
{
using (IPerformanceMonitor mon =
Performance.CreateMonitor(PerformanceContextTypes.Show))
{
//mach was
throw new Exception(); //Fehler simulation
mon.CountOperation (true);//erfolgreich ausgeführt
}
}
catch (Exception) {
//Fehlerbehandlung
}
14.02.2017
© Copyright Do-DotNet - 2008
12
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
14.02.2017
© Copyright Do-DotNet - 2008
13
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
14.02.2017
© Copyright Do-DotNet - 2008
14
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/
Weitere Vortragsfolien der .NET User Group
Dortmund findet ihr auf:
www.do-dotnet.de
© Copyright Do-DotNet - 2008
Vielen Dank!
Paul Mizel
[email protected]
© Copyright Do-DotNet - 2008
© Copyright Do-DotNet - 2008
Herunterladen