Initialiser ou modifier la configuration des diagnostics Azure

Mis à jour: novembre 2015

Vous pouvez recueillir des données de diagnostics en important le module de diagnostics Microsoft Azure dans le modèle de service, puis en configurant les sources de données à partir desquelles les données de diagnostics sont collectées. Le moniteur de diagnostic s'exécute dans Microsoft Azure et dans l'émulateur de calcul Microsoft Azure pour recueillir des données de diagnostics pour une instance de rôle. Si le module de diagnostics a été importé dans le modèle de service pour un rôle, le moniteur de diagnostic démarre automatiquement au démarrage d'une instance de rôle. Les sources de données doivent être ajoutées à la configuration du moniteur de diagnostic pour recueillir des données de diagnostics. Si vous ne configurez pas explicitement le moniteur de diagnostic, la configuration par défaut est utilisée lorsque le rôle démarre. Seules certaines des sources de données disponibles sont ajoutées au moniteur de diagnostic par défaut. Vous devez configurer la collection d'autres sources de données à l'aide du fichier diagnostics.wadcfg. Les données de diagnostics sont recueillies et stockées sur l'instance de rôle, mais elles ne sont conservées dans le stockage que si vous spécifiez un compte de stockage dans le fichier ServiceConfiguration.cscfg. Une fois votre application déployée dans Microsoft Azure, vous pouvez également modifier à distance la configuration du moniteur de diagnostic à partir d'une application exécutée en dehors de Microsoft Azure. Pour la procédure détaillée d'activation des diagnostic dans votre application, consultez Procédure : activer les diagnostics dans un service cloud.

Pour recueillir des données de diagnostics, vous devez importer le module de diagnostics dans le modèle de service pour chaque rôle à partir duquel vous voulez recueillir des données de diagnostics. L'importation du module s'effectue en ajoutant un élément Import au fichier ServiceDefinition.csdef. L'exemple suivant montre l'élément Import défini pour un rôle web :

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="WebRole1">
    <!--<Sites> ... </Sites> -->
    <!-- <Endpoints> ... </Endpoints> -->
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

Pour plus d'informations sur la définition du fichier de définition de service et du fichier de configuration de service, voir Référence de schéma Windows Azure. Pour plus d'informations sur la définition du modèle de service pour un service hébergé, voir Set Up a Hosted Service for Windows Azure.

Les données de diagnostics ne sont pas persistantes dans le stockage par défaut. Pour transférer des données de diagnostics vers le stockage, vous devez définir une chaîne de connexion dans le fichier ServiceConfiguration.cscfg. L'exemple suivant montre comment définir une chaîne de connexion pour transférer des données vers l'émulateur de stockage Microsoft Azure :

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
  <Role name="WebRole1">
    <Instances count="1" />
    <ConfigurationSettings>
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Si vous souhaitez utiliser un compte de stockage dans Microsoft Azure, vous devez changer la chaîne de connexion de façon à inclure un nom et une clé de compte :


<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>"/>
</ConfigurationSettings>

Les valeurs AccountName et AccountKey figurent dans le Portail de gestion Microsoft Azure, dans le tableau de bord du compte de stockage, sous Gérer les clés d'accès. Le protocole pour la chaîne de connexion doit être https.

Seules certaines des sources de données disponibles sont ajoutées au moniteur de diagnostic par défaut. Vous devez en ajouter autres pour recueillir des types de données de diagnostics spécifiques. Pour plus d'informations sur les types de données de diagnostics que vous pouvez configurer pour la collecte par votre application, voir Sources de données de diagnostics.

Vous pouvez recueillir des données de diagnostics en important le module de diagnostics dans le modèle de service, puis en configurant les sources de données à partir desquelles les données de diagnostics sont recueillies. Les sources de données doivent être ajoutées à la configuration du moniteur de diagnostic pour recueillir des données de diagnostics. Il existe plusieurs mécanismes pour configurer les diagnostics ; l'utilisation du fichier de configuration diagnostics.wadcfg lors du déploiement est le mécanisme privilégié pour la gestion de la configuration à l'échelle des rôles. Pour plus d'informations, consultez Mécanismes de configuration des diagnostics et ordre de priorité.

Après avoir déployé un service cloud, vous pouvez également modifier à distance la configuration du moniteur de diagnostic dans votre application à partir d'une autre application exécutée en dehors de Microsoft Azure.

La version 1.2 permettait de configurer le moniteur de diagnostic par programme. Cette fonctionnalité été abandonnée dans la version 1.3 et les versions ultérieures. Dans les versions 1.2, 1.3 et supérieures, le Kit de développement logiciel (SDK) Microsoft Azure vous permet de configurer les Diagnostics en utilisant plutôt un fichier de configuration XML (diagnostics.wadcfg). Cette méthode offre de nombreux avantages par rapport à l'écriture de code dans la méthode OnStart :

  1. Les diagnostics débutent avant que la méthode OnStart soit exécutée, de sorte que les erreurs lors des tâches de démarrage puissent être interceptées et consignées.

  2. Toute modification apportée à la configuration au moment de l'exécution est conservée après un redémarrage.

  3. Les modifications de configuration des diagnostics ne nécessitent pas la reconstruction du code.

  4. Vous pouvez démarrer automatiquement le moniteur de diagnostic avec une configuration spécifique sans avoir besoin de code supplémentaire (qui pourrait provoquer une exception qui empêcherait votre rôle de démarrer).

Pour les rôles web, le fichier de configuration diagnostics.wadcfg est placé dans le répertoire bin sous le répertoire racine du rôle. Pour les rôles de travail, le fichier de configuration diagnostics.wadcfg est placé dans le répertoire racine du rôle. Si le fichier de configuration existe à l'un de ces emplacements lorsque le module de diagnostics est importé, le moniteur de diagnostic configure les paramètres à l'aide du fichier de configuration au lieu des paramètres par défaut. Lorsque votre rôle web ou de travail est déployé, les informations de configuration du fichier de diagnostics.wadcfg sont écrites dans le conteneur wad-control-container dans votre compte de stockage. Pour plus d'informations sur l'utilisation du fichier de configuration de diagnostics, voir Utiliser le fichier de configuration des diagnostics Azure .

La méthode Start avec DiagnosticMonitorConfiguration peut être utilisée pour définir la configuration des diagnostics dans la méthode OnStart de votre rôle. Cette approche est efficace pour un nouveau déploiement, mais inefficace pour un déploiement de mise à jour ; mieux vaut donc l'éviter.

noteRemarque
Cela s'applique à Azure SDK 2.4 et versions antérieures.

Après avoir déployé un service cloud, modifiez à distance la configuration du moniteur de diagnostic à partir du code exécuté dans une application en dehors de Microsoft Azure à l'aide de la classe DeploymentDiagnosticManager. À partir de cette classe, modifiez les moniteurs de diagnostic pour une ou plusieurs instances de rôles. Vous pouvez également modifier la configuration du moniteur de diagnostic pour une seule instance de rôle à l'aide de la classe RoleInstanceDiagnosticManager. Pour plus d'informations, consultez Modifier à distance la configuration du moniteur de diagnostic.

noteRemarque
Cela s'applique à Azure SDK 2.4 et versions antérieures.

Voir aussi

Afficher: