Monitoring d’applications et de services .NET
Monitoring d’applications et de services .NET
Stève SFARTZArchitecte en Système d’informationDivision Plateformes et EcosystèmeMicrosoft France [email protected]://blog.sfartz.com
Stève SFARTZArchitecte en Système d’informationDivision Plateformes et EcosystèmeMicrosoft France [email protected]://blog.sfartz.com
Forum architectes, Microsoft France – jeudi 19 octobre 2006 222
Gestion automatiséeGestion automatiséede Systèmes Dynamiquesde Systèmes Dynamiques
InfrastructureInfrastructurevirtuellevirtuelle
Gestion Gestion par les modèlespar les modèles
Connaissance Connaissance par les modèlespar les modèles
Dynamic Systems InitiativeDynamic Systems Initiative
Forum architectes, Microsoft France – jeudi 19 octobre 2006 333
Un scénario classiqueUn scénario classique
DéveloppementDéveloppement
ProductionProduction
Pourquoi ? Elle a très Pourquoi ? Elle a très bien fonctionné en bien fonctionné en recetterecette
Tout ce que je sais c’est que Tout ce que je sais c’est que les clients appellent les clients appellent lorsqu’elle tombelorsqu’elle tombe
Très bien, alors comment Très bien, alors comment est-elle tombée ?est-elle tombée ?
Comment pourrais-je le Comment pourrais-je le savoir ? Je n’ai pas écrit le savoir ? Je n’ai pas écrit le code !code !
Comment puis-je mesurer la Comment puis-je mesurer la disponibilité de ton disponibilité de ton application?application?““!@$#% $^%& *^!!!”!@$#% $^%& *^!!!”
C’est certainement dû C’est certainement dû au serveur, le code est au serveur, le code est correctcorrect
Forum architectes, Microsoft France – jeudi 19 octobre 2006 444
Comment en est-on arrivé là ?Comment en est-on arrivé là ?
La production a-t-elle été impliquée dans les phases amont d’architecture et de conception ?
La production a-t-elle été impliquée dans les phases amont d’architecture et de conception ?
Forum architectes, Microsoft France – jeudi 19 octobre 2006 555
Comment en est-on arrivé là ?Comment en est-on arrivé là ?
La production a-t-elle été impliquée dans les phases amont d’architecture et de conception ?
Dispose-t-on d’un environnement de tests semblable à l’environnement de production ?
La production a-t-elle été impliquée dans les phases amont d’architecture et de conception ?
Dispose-t-on d’un environnement de tests semblable à l’environnement de production ?
Forum architectes, Microsoft France – jeudi 19 octobre 2006 666
Comment en est-on arrivé là ?Comment en est-on arrivé là ?
La production a-t-elle été impliquée dans les phases amont d’architecture et de conception ?
Dispose-t-on d’un environnement de tests semblable à l’environnement de production ?
Comment intégrer mes applications dans un environnement de production ?
La production a-t-elle été impliquée dans les phases amont d’architecture et de conception ?
Dispose-t-on d’un environnement de tests semblable à l’environnement de production ?
Comment intégrer mes applications dans un environnement de production ?
Forum architectes, Microsoft France – jeudi 19 octobre 2006 777
L’outillage en productionL’outillage en productionVision et Vision et historique des historique des composants du SIcomposants du SI
Suivi des incidents Suivi des incidents en temps réelen temps réel
Capture des Capture des données données opérationnellesopérationnelles
Configuration ManagerConfiguration Manager
Service DeskService Desk
Forum architectes, Microsoft France – jeudi 19 octobre 2006 88
Feuille de route System Center Feuille de route System Center
Q4CY06
H1CY07
H1CY07
H2CY07
H2CY07
H2CY07
Forum architectes, Microsoft France – jeudi 19 octobre 2006 999
Quels besoins de monitoring ?Quels besoins de monitoring ?
SuperviserPilotage des activitésCapacity Planning
DiagnostiquerDe façon autonome pour plus de réactivité
IntervenirDe façon autonome ou bien en relation avec d’autres équipes
SuperviserPilotage des activitésCapacity Planning
DiagnostiquerDe façon autonome pour plus de réactivité
IntervenirDe façon autonome ou bien en relation avec d’autres équipes
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1010
Contexte : Architecture MOMContexte : Architecture MOM
11
Instrumentation .NETInstrumentation .NET
Stève SFARTZArchitecte en système d’informationsDivision Plate-forme EntrepriseMICROSOFT [email protected]
Stève SFARTZArchitecte en système d’informationsDivision Plate-forme EntrepriseMICROSOFT [email protected]
Forum architectes, Microsoft France – jeudi 19 octobre 2006 121212
Instrumentation vu des développeursInstrumentation vu des développeurs
Pourquoi ?
Suivi d’activités
Mais aussi être interrogeable voir modifiable
Tenir compte de l’environnement d’exécution
Pourquoi ?
Suivi d’activités
Mais aussi être interrogeable voir modifiable
Tenir compte de l’environnement d’exécution
Forum architectes, Microsoft France – jeudi 19 octobre 2006 131313
InstrumentationInstrumentation
Comment ?
Spécifique vis-à-vis d’un OSEventLog, Compteurs de performancesWMI (Windows Management Instrumentation)
Interopérabilité avec des standardsSNMP, WS-Management
Interfaçages avec des outilsSupervision, Service Desk, Déploiement
Comment ?
Spécifique vis-à-vis d’un OSEventLog, Compteurs de performancesWMI (Windows Management Instrumentation)
Interopérabilité avec des standardsSNMP, WS-Management
Interfaçages avec des outilsSupervision, Service Desk, Déploiement
Forum architectes, Microsoft France – jeudi 19 octobre 2006 141414
Un domaine spécifiqueVocabulaireUn domaine spécifiqueVocabulaire
CIM This is the premier concept of WBEM by this model WMI stores the Managed objects data (namespace, classes, methods, properties, and so forth).
CIM Repository
This is the storage that holds the Managed objects data. The structure of the CIM repository is built upon the DMTF
CIMOM The CIM repository is managed by the CIMOM, which acts as an agent for object requests. The CIMOM tracks available classes and determines which provider is responsible for supplying instances of these classes.
DMTF Distributed Management Task Force—The DMTF consortium was founded in May of 1992. This initiative was conceived and created by eight companies such as: BMC Software Inc., Cisco Systems Inc., Compaq Computer Corp., Intel Corp., Microsoft Corp. and so on. The aims of this consortium are to define industry standards for management.
MIB Management Information Base describes a set of managed objects. Each managed object in a MIB has a unique identifier
MOF Managed Object Format. This text file includes the class definition of on or more managed object. You can export and import this definition from the CIM repository by using the WMI CIM Studio.
WBEM Web-Based Enterprise Management stands for several DMTF industry standards including the Common Information Model. WBEM provides a standardized way to access information from various hardware and software management systems in an enterprise environment.
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1515
WMI - Windows management InstrumentationWMI - Windows management Instrumentation
C’est une implémentation de deux standards CIM ( Common information Model) et WBEM (Web-Based Entreprise Management)
Permet à des composants étrangers à l’OS d’être gérés localement ou à distance comme des composants natifs.
Le périmètre des objets déclarés dans le repository WMI est très large.
C’est une implémentation de deux standards CIM ( Common information Model) et WBEM (Web-Based Entreprise Management)
Permet à des composants étrangers à l’OS d’être gérés localement ou à distance comme des composants natifs.
Le périmètre des objets déclarés dans le repository WMI est très large.
16
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1717
WMI - Windows management InstrumentationWMI - Windows management Instrumentation
Un service de l’OS ( Windows Management Service ) encapsule l’accès au CIMOMEn amont les « providers » s’inscrivent auprès du service et publient les événementsEn aval les « subcribers » s’inscrivent auprès du service et consomment les événements
Un service de l’OS ( Windows Management Service ) encapsule l’accès au CIMOMEn amont les « providers » s’inscrivent auprès du service et publient les événementsEn aval les « subcribers » s’inscrivent auprès du service et consomment les événements
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1818
WMI - Windows management InstrumentationWMI - Windows management Instrumentation
Le codeLe code
using System;using System.Management;using System.Configuration.Install;using System.Management.Instrumentation;
[InstrumentationClass (InstrumentationType.Event)]public class MessageEvent { public long start; public long stop; public string service; public string info; public string sessionID; public string frontID; public string backID;}
using System;using System.Management;using System.Configuration.Install;using System.Management.Instrumentation;
[InstrumentationClass (InstrumentationType.Instance)]public class MessageProvider{ private string source; public MessageProvider() { source = "NONE"; } public string Source { get { return source; } set { source = value;} }}
using System;using System.Net;using System.Management;using System.Configuration.Install;using System.Management.Instrumentation;
[assembly: Instrumented("root / Sgcib / Defi / Business/ Stp / Monitoring")]
namespace Sgcib.Defi.Business.Stp.Monitor.WmiEventSubscriber{ [System.ComponentModel.RunInstaller (true )] public class ProviderInstaller : DefaultManagementProjectInstaller
Instrumentation.Publish(wmiProvider);
Instrumentation.Fire(wmiEvent);
EVENT PROVIDER INSTALLER
ENREGISTRER
GENERER
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1919
WMI - Windows management InstrumentationWMI - Windows management Instrumentation
Les outilsWbemTest
Outil de gestion du repository CMI
WMI Code CreatorPermet de construire ou de valider le code WMI
Plug-in Visual studioPermet de visualiser dans l’outil de développement les événements générés sur le serveurGénère les squelettes de classes WMI
Les outilsWbemTest
Outil de gestion du repository CMI
WMI Code CreatorPermet de construire ou de valider le code WMI
Plug-in Visual studioPermet de visualiser dans l’outil de développement les événements générés sur le serveurGénère les squelettes de classes WMI
20
Forum architectes, Microsoft France – jeudi 19 octobre 2006 212121
Des compétences spécifiqueFramework .NetDes compétences spécifiqueFramework .Net
Traces de log, debugSystem.Diagnostics
Consommateur WMISystem.Management
Provider WMISystem.Management.Instrumentation
Traces de log, debugSystem.Diagnostics
Consommateur WMISystem.Management
Provider WMISystem.Management.Instrumentation
Forum architectes, Microsoft France – jeudi 19 octobre 2006 222222
CachingCaching
SecuritySecurity
Data Data AccessAccess LoggingLogging
ExceptionExceptionHandlingHandling
Enterprise Library for .NET 2.0Enterprise Library for .NET 2.0
Plug-inConfigConfig
Helpers Helpers & Design& Design
Instrumen-Instrumen-tationtation
ObjectObjectBuilderBuilder
CryptographyCryptography
Core
Block DependencyOptional ProviderDependency
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2323
InstrumentationEvent-Driven ArchitectureInstrumentationEvent-Driven Architecture
InstrumentationInstrumentationProviderProviderClass(es)Class(es)
InstrumentationInstrumentationListenerListenerClass(es)Class(es)
Configuration de Configuration de l’instrumentationl’instrumentation
WMIWMI
Compteurs de Compteurs de performancesperformances
EventEventLogLog
eventevent
ObjectBuilderObjectBuilder
injecteinjecte
Application or BlockApplication or Blockappelappel
Forum architectes, Microsoft France – jeudi 19 octobre 2006 242424
CachingCaching
SecuritySecurity
Data Data AccessAccess LoggingLogging
ExceptionExceptionHandlingHandling
Logging Application BlockLogging Application Block
Plug-inConfigConfig
Helpers Helpers & Design& Design
Instrumen-Instrumen-tationtation
ObjectObjectBuilderBuilder
CryptographyCryptography
Core
Block DependencyOptional ProviderDependency
25
Forum architectes, Microsoft France – jeudi 19 octobre 2006 262626
Logging Application BlockLogging Application Block
Log d’informations techniques et métiersEvénéments, Traces, Support, Audit,
Destinations multiplesEventLog, Database, Fichiers Texte, MSMQ, E-mail, WMI, et sur mesure (extensibilité)
Lecture de la configuration au runtimeWizard et modifications à chaud
Formattage configurable
Log d’informations techniques et métiersEvénéments, Traces, Support, Audit,
Destinations multiplesEventLog, Database, Fichiers Texte, MSMQ, E-mail, WMI, et sur mesure (extensibilité)
Lecture de la configuration au runtimeWizard et modifications à chaud
Formattage configurable
Forum architectes, Microsoft France – jeudi 19 octobre 2006 272727
Nouveautés VistaNouveautés Vista
Event ViewerXML natif, extensibleConsolidation (forward depuis d’autres machines)
VuesConstruction de filtresOutil visuelImport / export sous forme de requête XPATH
Event ViewerXML natif, extensibleConsolidation (forward depuis d’autres machines)
VuesConstruction de filtresOutil visuelImport / export sous forme de requête XPATH
28
Forum architectes, Microsoft France – jeudi 19 octobre 2006 292929
Où déposer mes données d’instrumentation ?Où déposer mes données d’instrumentation ?
Forum architectes, Microsoft France – jeudi 19 octobre 2006 303030
Entrepôt de données de managementEntrepôt de données de management
Management Data Repository(CIM repository...)
Instrumentation
Forum architectes, Microsoft France – jeudi 19 octobre 2006 313131
Stratégie d’implémentationStratégie d’implémentation
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
32
Monitoring Applicatif Société Générale
Monitoring Applicatif Société Générale
Stève SFARTZArchitecte en système d’informationsDivision Plate-forme EntrepriseMICROSOFT [email protected]
Stève SFARTZArchitecte en système d’informationsDivision Plate-forme EntrepriseMICROSOFT [email protected]
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3333
Contexte : Le STP Contexte : Le STP Chaîne de traitement des transactions financières
Quelques chiffresPlusieurs dizaines de serveursPlusieurs centaines de processus physiquesPlusieurs dizaines de milliers de transactions jours
Chaîne de traitement des transactions financières
Quelques chiffresPlusieurs dizaines de serveursPlusieurs centaines de processus physiquesPlusieurs dizaines de milliers de transactions jours
Windows Communications Foundation Supervision des services
Windows Communications Foundation Supervision des services
Stève SFARTZArchitecte en Système d’informationDivision Plateformes et Ecosystè[email protected]://blog.sfartz.com
Stève SFARTZArchitecte en Système d’informationDivision Plateformes et Ecosystè[email protected]://blog.sfartz.com
Forum architectes, Microsoft France – jeudi 19 octobre 2006 353535
Stratégie de monitoringStratégie de monitoring
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
Forum architectes, Microsoft France – jeudi 19 octobre 2006 363636
Service Configuration EditorService Configuration EditorOutil de configuration statiqueFourni avec le Microsoft Windows SDK
Forum architectes, Microsoft France – jeudi 19 octobre 2006 373737
Monitoring WCFMonitoring WCF
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3838
TracesTraces<configuration><system.diagnostics><sources>
<source name="System.ServiceModel switchValue="Information, ActivityTracing" propagateActivity="true" > <listeners><add name="xml"/></listeners> </source>
<source name="System.ServiceModel.MessageLogging"><listeners><add name="xml"/></listeners>
</source></sources>
<sharedListeners><add name="xml"type="System.Diagnostics.XmlWriterTraceListener"initializeData="C:\Demos\17 - WINFX\WCF\Traces\Traces.wcf" />
</sharedListeners></system.diagnostics>
<system.serviceModel><diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true” logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true“ maxMessagesToLog="3000" />
</diagnostics>
Sources
Listener
Options
Forum architectes, Microsoft France – jeudi 19 octobre 2006 393939
Trace EWTTrace EWT
Event Tracing for Windows (ETW)
Démarrage d’une session de trace ETW avec Logman.exe ou Tracelog.exe
Création d’un fichier binaire d’extension .etl
Event Tracing for Windows (ETW)
Démarrage d’une session de trace ETW avec Logman.exe ou Tracelog.exe
Création d’un fichier binaire d’extension .etl
<system.diagnostics> <sources> <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing" propagateActivity="true"> <listeners> </add> <add name="ETW"> <filter type="" /> </add> </listeners> </source> </sources> <sharedListeners> <add type= "Microsoft.ServiceModel.Samples.EtwTraceListener, ETWTraceListener" name="ETW" traceOutputOptions="Timestamp"> <filter type="" /> </add> </sharedListeners> </system.diagnostics>
Forum architectes, Microsoft France – jeudi 19 octobre 2006 404040
Service Trace ViewerService Trace Viewer
Outil de trace statique
Fourni avec le Microsoft Windows SDK
Outil de trace statique
Fourni avec le Microsoft Windows SDK
Forum architectes, Microsoft France – jeudi 19 octobre 2006 414141
Live Service Trace ViewerLive Service Trace ViewerOutil de trace dynamiqueFourni par Craig McMurtry et Vittorio BertocciOutil de trace dynamiqueFourni par Craig McMurtry et Vittorio Bertocci
Forum architectes, Microsoft France – jeudi 19 octobre 2006 424242
Monitoring WCFMonitoring WCF
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
Forum architectes, Microsoft France – jeudi 19 octobre 2006 434343
PerformancesPerformances
Compteurs de performance prédéfinis
Trois niveaux d’observation :ServiceEndpointOperation
Compteurs de performance prédéfinis
Trois niveaux d’observation :ServiceEndpointOperation
<configuration> <system.serviceModel>
<diagnostics performanceCounters="All" /> </system.serviceModel>
</configuration>
Forum architectes, Microsoft France – jeudi 19 octobre 2006 444444
Moniteur de performanceMoniteur de performanceOutil de mesure de performances
Fourni avec Windows
Outil de mesure de performances
Fourni avec Windows
Forum architectes, Microsoft France – jeudi 19 octobre 2006 454545
Monitoring WCFMonitoring WCF
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
Forum architectes, Microsoft France – jeudi 19 octobre 2006 464646
Provider WMIProvider WMI
Fournisseur de services WMI intégré
Supervision de l’état opérationnel du service
Diagnostic de l’état des composants du service
Fournisseur de services WMI intégré
Supervision de l’état opérationnel du service
Diagnostic de l’état des composants du service
<configuration> <system.serviceModel>
<diagnostics wmiProviderEnabled="true"></system.serviceModel>
</configuration>
Forum architectes, Microsoft France – jeudi 19 octobre 2006 474747
WMI CIM StudioWMI CIM StudioOutil dynamique d’analyse de l’état du servicehttp://www.microsoft.com/downloads/details.aspx?FamilyID=6430f853-1120-48db-8cc5-f2abdc3ed314&DisplayLang=en
Forum architectes, Microsoft France – jeudi 19 octobre 2006 484848
Monitoring WCFMonitoring WCF
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
Forum architectes, Microsoft France – jeudi 19 octobre 2006 494949
Intermédiaire Intermédiaire
Mécanismes client et serveur
Activation par configuration
Activation par code
Mécanismes client et serveur
Activation par configuration
Activation par code
serviceEndpoint = serviceHost.AddServiceEndpoint(typeof(IPresto), usedBinding, "submitOneWay", new Uri(config.SoapIntermediaryEndpointUri));
<endpoint address="http://localhost:8080/myservice" listenUri="http://localhost:9090/myservice" binding="basicHttpBinding" contract="IMyService"/>
Forum architectes, Microsoft France – jeudi 19 octobre 2006 505050
TCPTraceTCPTraceIntercepteur d’échanges TCPFourni par Simon Fellhttp://www.pocketsoap.com/tcptrace/
Intercepteur d’échanges TCPFourni par Simon Fellhttp://www.pocketsoap.com/tcptrace/
Forum architectes, Microsoft France – jeudi 19 octobre 2006 515151
Monitoring WCFMonitoring WCF
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
Forum architectes, Microsoft France – jeudi 19 octobre 2006 525252
DebugViewDebugViewOutil de debugFourni par Mark Russinovichhttp://www.sysinternals.com/Utilities/DebugView.html
Outil de debugFourni par Mark Russinovichhttp://www.sysinternals.com/Utilities/DebugView.html
Forum architectes, Microsoft France – jeudi 19 octobre 2006 535353
Monitoring WCFMonitoring WCF
Production
Mon
itorin
g
Scr
iptin
g
Rep
ortin
g
Développement
Fichiers deconfiguration
Workflow, Règles métier
Forum architectes, Microsoft France – jeudi 19 octobre 2006 5454
SynthèseSynthèse
Les mécanismes de supervision WCF sont natifs
Flexibilité du déploiementMonitoring SLADiagnostic de bout en bout
Ils sont complétés par de nombreux outils :Outils SDKOutils WindowsOutils Tiers
Les mécanismes de supervision WCF sont natifs
Flexibilité du déploiementMonitoring SLADiagnostic de bout en bout
Ils sont complétés par de nombreux outils :Outils SDKOutils WindowsOutils Tiers
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.