Données de diagnostic de calcul de la plateforme Windows Azure en tant que service (PaaS)
Lorsque vous devez résoudre un problème, l’une des choses les plus importantes à comprendre est ce que les données de diagnostic sont disponibles. Si vous ne savez pas où rechercher des journaux ou d’autres informations de diagnostic, vous devrez peut-être recourir à l’approche d’essai et d’erreur ou de fusil de chasse à la résolution des problèmes. Si vous avez accès aux journaux d’activité, vous avez une meilleure chance de diagnostiquer un problème, même si ce n’est pas dans votre domaine d’expertise.
Cet article décrit les données disponibles dans les environnements de calcul PaaS (Platform as a Service) Azure. Il décrit comment collecter facilement ces données à partir d’une machine virtuelle PaaS Windows.
Les sections suivantes incluent les sources de données les plus couramment utilisées lorsque vous résolvez des problèmes dans une machine virtuelle PaaS Windows. Les sections sont classées à peu près par importance (fréquence d’utilisation du journal pour diagnostiquer les problèmes).
Journaux des événements Windows Azure
Les journaux des événements Windows Azure contiennent une sortie de diagnostic clé du runtime Azure. Les journaux enregistrent des informations sur des événements tels que les suivants :
- Le rôle démarre et s’arrête
- Tâches de démarrage
OnStart
démarrer et arrêterOnRun
commencer- Crashes
- Recycle
Pour afficher les journaux des événements Windows Azure :
Dans le menu Démarrer , recherchez l’Observateur d’événements, puis sélectionnez cette application.
Dans le volet de navigation, développez Applications et journaux des services, puis sélectionnez Windows Azure.
Cette source de diagnostic vous aide à identifier la cause de plusieurs des problèmes les plus courants qui empêchent le démarrage correct des rôles Azure. Il s’agit notamment d’échecs de tâche de démarrage et de blocage dans OnStart
ou OnRun
. L’Observateur d’événements capture les blocages dans les processus hôtes du runtime Azure qui exécutent votre code de point d’entrée de rôle (par exemple, WebRole.cs ou WorkerRole.cs) et fournit des piles d’appels.
Journaux des événements de l’application
Vous pouvez utiliser les journaux des événements d’application pour la résolution des problèmes standard sur les serveurs Azure et locaux. Vous pouvez souvent trouver des erreurs liées à w3wp.exe dans ces journaux d’activité.
Pour afficher les journaux des événements d’application :
Dans le menu Démarrer , recherchez l’Observateur d’événements, puis sélectionnez cette application.
Dans le volet de navigation, développez Journaux Windows, puis sélectionnez Application.
Journaux d’exécution de l’agent d’application
Le journal d’exécution de l’agent d’application se trouve dans C :\Logs\AppAgentRuntime.log et est écrit par l’exécutable WindowsAzureGuestAgent.exe . Le journal contient des informations sur les événements qui se produisent dans l’agent invité et la machine virtuelle. Ces informations d’événement incluent, mais elles ne sont pas limitées aux catégories suivantes :
- Configuration du pare-feu
- Modifications de l’état du rôle
- Recycle
- Redémarre
- Modifications de l’état d’intégrité
- Arrêt et démarrage du rôle
- Certificate configuration (Configuration du certificat)
Ce journal est utile pour obtenir une vue d’ensemble rapide des événements qui se produisent au fil du temps à un rôle. Cela est dû au fait qu’il enregistre les principales modifications apportées au rôle sans journalisation des pulsations. Si l’agent invité ne peut pas démarrer correctement le rôle (par exemple, si un fichier verrouillé empêche le nettoyage du répertoire), vous verrez l’événement enregistré dans ce journal.
Journaux de pulsation de l’agent d’application
Le journal des pulsations de l’agent d’application se trouve à C :\Logs\WaAppAgent.log et est écrit par l’exécutable WindowsAzureGuestAgent.exe . Il contient des informations d’état sur les sondes d’intégrité sur le programme d’amorçage de l’hôte.
Le processus de l’agent invité est chargé de signaler l’état d’intégrité (par exemple, Ready
ou Busy
) à l’infrastructure. Par conséquent, l’état d’intégrité que ce journal signale est identique à l’état que vous verrez dans le portail de gestion. Le journal est utile pour déterminer l’état actuel du rôle au sein de la machine virtuelle, ou pour déterminer ce que l’état était à un moment donné. Vous pouvez fournir des descriptions de problèmes telles que « Mon site web a diminué de 10h00 à 11h30 hier » pour utiliser le journal des pulsations pour vous aider à déterminer l’état d’intégrité du rôle pendant cette période.
Journaux d’amorçage de l’hôte
Le journal du programme d’amorçage de l’hôte se trouve dans C :\Resources\WaHostBootstrapper.log. Il contient des entrées pour les tâches de démarrage, notamment les plug-ins tels que la mise en cache ou le protocole RDP (Remote Desktop Protocol). Le journal contient également des sondes d’intégrité pour le processus hôte qui exécute votre code de point d’entrée de rôle (le code WebRole.cs qui s’exécute dans WaIISHost.exe).
Un fichier journal est généré chaque fois que le programme d’amorçage de l’hôte est redémarré. (En d’autres termes, il redémarre chaque fois que votre rôle est recyclé en raison d’un événement tel qu’un incident, un recyclage, un redémarrage de machine virtuelle ou une mise à niveau.) Cette pratique facilite l’utilisation du journal pour déterminer la fréquence ou le moment où votre rôle a été recyclé.
Journaux internet Information Services
Les journaux Internet Information Services (IIS) se trouvent à l’adresse C :\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\LogFiles\Web. Ces journaux d’activité sont utilisés pour la résolution des problèmes standard sur les serveurs Azure et locaux.
Les journaux IIS sont souvent négligés dans les scénarios tels que « Mon site web a diminué de 10h00 à 11h30 hier ». Il est naturel de blâmer Azure pour la panne. (« Mon site fonctionnait correctement pendant deux semaines, donc le problème doit être Azure ! ») Toutefois, les journaux IIS indiquent souvent autrement. Vous pouvez constater que des temps de réponse accrus se sont produits immédiatement avant la panne. Vous pouvez également constater que les codes d’état non réussis ont été retournés par IIS. Ces codes indiquent un problème qui s’est produit dans le site web lui-même (autrement dit, dans le code ASP.NET qui s’exécute dans w3wp.exe) et non dans Azure.
Compteurs de performance
Pour afficher les compteurs de performances, sélectionnez le menu Démarrer, recherchez sur perfmon, puis sélectionnez Analyseur de performances. Cette application est un composant logiciel enfichable dans la console de gestion Microsoft (MMC). Vous pouvez également installer et configurer l’extension de diagnostics Windows Azure (WAD).
Les compteurs de performances sont utilisés pour la résolution des problèmes standard sur les serveurs Azure et locaux. Si vous configurez WAD à l’avance, vous aurez souvent de précieux compteurs de performances pour résoudre les problèmes qui se sont produits dans le passé (par exemple, « Mon site web a diminué de 10h00 à 11h30 hier. »).
Outre les problèmes pour lesquels vous collectez des compteurs de performances spécifiques, les utilisations les plus courantes pour les compteurs de performances qui sont collectés par WAD consiste à rechercher les éléments suivants, dans l’ordre donné :
Entrées régulières du compteur de performances
Période d’absence d’entrée
L’un des états du tableau suivant.
State Description Reprise des entrées régulières Scénario dans lequel la machine virtuelle n’avait potentiellement pas été en cours d’exécution Utilisation du processeur de 100 % Une boucle infinie ou un autre problème logique dans le code du site web lui-même
journaux d’activité de HTTP.SYS
Les journaux HTTP.SYS se trouvent à l’adresse D :\Windows\System32\LogFiles\HTTPERR. Ces journaux d’activité sont utilisés pour la résolution des problèmes standard sur les serveurs Azure et locaux.
Comme c’est le cas pour les journaux IIS, les journaux HTTP.SYS sont souvent négligés. Toutefois, ils sont importants lorsque vous essayez de résoudre un problème dans lequel un site web de service hébergé ne répond pas. Souvent, ce problème est dû à l’incapacité d’IIS à traiter le volume de requêtes entrantes. La preuve de cette cause apparaît généralement dans les journaux HTTP.SYS.
Fichiers journaux des demandes ayant échoué IIS
Les fichiers journaux « Demande ayant échoué IIS » se trouvent dans C :\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\FailedReqLogFiles. Ces journaux d’activité sont utilisés pour la résolution des problèmes standard sur les serveurs Azure et locaux.
Par défaut, ces fichiers journaux ne sont pas activés dans Windows Azure. Ils sont rarement utilisés. Toutefois, si vous résolvez des problèmes spécifiques à IIS ou ASP.NET, vous devez envisager d’activer le suivi FREB (échec de la mise en mémoire tampon des événements de demande). Le suivi FREB peut fournir plus de détails sur ces problèmes.
Tables et configuration des diagnostics Windows Azure
Les tables et la configuration de l’extension de diagnostics Windows Azure (WAD) se trouvent à l’adresse C :\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\Monitor. Ces éléments représentent le cache local sur machine virtuelle des données WAD.
WAD effectue les étapes suivantes :
Capture les données à mesure que vous l’avez configurée.
Stocke les données dans les fichiers .tsf personnalisés sur la machine virtuelle.
Transfère les données vers le stockage en fonction de la période de transfert planifiée que vous avez spécifiée.
Malheureusement, étant donné que les données se trouvent dans un format .tsf personnalisé, le contenu des données WAD est d’une utilisation limitée. Mais ils contiennent les fichiers de configuration de diagnostic qui sont utiles pour résoudre les problèmes si WAD ne fonctionne pas correctement. Dans le dossier Configuration , recherchez un fichier nommé config.xml. Ce fichier inclut les données de configuration pour WAD. Si WAD ne fonctionne pas correctement, vérifiez ce fichier pour vous assurer qu’il reflète la façon dont vous attendez que WAD soit configuré.
Fichiers journaux de mise en cache Windows Azure
Les fichiers journaux de mise en cache Windows Azure se trouvent dans C :\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\AzureCaching. Ces journaux contiennent des informations détaillées sur la mise en cache basée sur les rôles Windows Azure. Les journaux d’activité peuvent vous aider à résoudre les problèmes dans lesquels la mise en cache ne fonctionne pas comme prévu.
Journaux WaIISHost
Le journal WaIISHost se trouve dans C :\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\WaIISHost.log. Il contient des informations du processus de WaIISHost.exe . Ce processus est l’endroit où votre code de point d’entrée de rôle (WebRole.cs) s’exécute pour WebRoles. La plupart de ces informations sont également incluses dans les autres journaux abordés dans cet article (tels que les journaux d’événements Windows Azure). Toutefois, vous pouvez parfois trouver des informations plus utiles ici.
Journaux IISConfigurator
Le journal IISConfigurator se trouve dans C :\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\IISConfigurator.log. Il contient des informations sur le processus IISConfigurator. Ce processus est utilisé pour effectuer la configuration IIS réelle de votre site web, en fonction du modèle que vous avez défini dans les fichiers de définition de service. Le processus échoue rarement ou rencontre des erreurs. Toutefois, si IIS ou w3wp.exe ne semble pas être configuré correctement pour votre service, ce journal est l’emplacement à vérifier.
Fichiers de configuration de rôle
Le fichier de configuration de rôle se trouve dans C :\Config\<DeploymentID>.<RoleName>.<Version>.xml. Il contient des informations sur la configuration de votre rôle, telles que les éléments suivants :
Paramètres définis dans le fichier ServiceConfiguration.cscfg
Répertoires de ressources locales
Adresses IP et ports pour l’adresse IP dynamique (DIP) et l’adresse IP virtuelle (VIP)
Empreinte numérique de certificat
Sondes d’équilibreur de charge
Les autres instances
Le fichier de configuration de rôle est similaire au fichier de définition de modèle de rôle dans lequel il ne contient pas d’informations générées par le runtime. Toutefois, il peut être utile de s’assurer que votre service est configuré comme prévu.
Fichier de définition de modèle de rôle
Le fichier de définition de modèle de rôle se trouve à l’emplacement E :\RoleModel.xml ou F :\RoleModel.xml. Il contient des informations sur la façon dont votre service est défini en fonction du runtime Azure.
Le fichier contient des entrées pour chaque tâche de démarrage et des informations sur la façon dont la tâche est exécutée, y compris les caractéristiques suivantes :
- Background
- Variables d'environnement
- Emplacement
Vous pouvez également voir comment votre <élément sites> est défini pour un rôle web.
Le fichier de définition de modèle de rôle ne contient pas d’informations générées par le runtime, mais il peut vous aider à vérifier qu’Azure exécute votre service comme prévu. Cette vérification vous permet souvent de disposer d’une version particulière d’une définition de service sur votre ordinateur de développement, mais le serveur de build et de package utilise une autre version des fichiers de définition de service.
À propos des fichiers ETL
Le dossier C :\Logs contient des fichiers RuntimeEvents_<Iteration.etl> et WaAppAgent_<Iteration.etl>. Ces fichiers ETL (Event Trace Log) sont des traces de suivi d’événements pour Windows (ETW) qui contiennent une compilation des informations trouvées dans les journaux des événements Windows Azure, les journaux d’activité de l’agent invité et d’autres journaux. Les fichiers sont une compilation pratique des données de journal les plus importantes dans une machine virtuelle Azure. Étant donné que les fichiers sont au format ETL, vous devez effectuer des étapes supplémentaires pour consommer les informations. Si vous disposez d’un outil d’affichage ETW favori, vous pouvez ignorer la plupart des fichiers journaux mentionnés. Au lieu de cela, vous pouvez simplement examiner les informations contenues dans ces deux fichiers ETL.
Prochaines étapes
Plus d’informations
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.