Introduction à la surveillance de service cloud (classique)
Important
Cloud Services (classique) est désormais déconseillé pour tous les clients depuis le 1er septembre 2024. Tous les déploiements existants en cours d’exécution seront arrêtés par Microsoft, et les données seront définitivement perdues à partir d’octobre 2024. Les nouveaux déploiements doivent utiliser le nouveau modèle de déploiement basé sur Azure Resource Manager Azure Cloud Services (support étendu) .
Vous pouvez surveiller les principales mesures de performances pour n’importe quel service cloud. Chaque rôle de service cloud collecte des données de base : utilisation du processeur, utilisation du réseau et utilisation du disque. Si l’extension Microsoft.Azure.Diagnostics
est appliquée à un rôle du service cloud, ce rôle peut collecter davantage de points de données. Cet article vous fournit une présentation de Diagnostics Azure pour Cloud Services.
Avec la surveillance de base, les données des compteurs de performances des instances de rôle sont échantillonnées et collectées toutes les 3 minutes. Ces données de monitoring de base ne sont pas stockées dans votre compte de stockage, et n’entraînent aucun coût supplémentaire.
Avec le monitoring avancé, un plus grand nombre de métriques sont échantillonnées et collectées à des intervalles de 5 minutes, 1 heure et 12 heures. Les données consolidées sont stockées dans un compte de stockage et purgées tous les 10 jours. Le compte de stockage utilisé est configuré par rôle. Vous pouvez utiliser différents comptes de stockage pour différents rôles. Vous utilisez une chaîne de connexion dans les fichiers .csdef et .cscfg à des fins de configuration.
Surveillance de base
Comme indiqué dans l’introduction, un service cloud recueille automatiquement des données de surveillance de base à partir de la machine virtuelle hôte. Ces données incluent le pourcentage d’utilisation du processeur, les entrées/sorties du réseau et les accès disque en lecture/écriture. Les données d’analyse collectées s’affichent automatiquement dans les pages de vue d’ensemble et de métriques du service cloud, dans le portail Azure.
Le monitoring de base ne nécessite pas de compte de stockage.
Surveillance avancée
La surveillance avancée implique l’utilisation de l’extension Diagnostics Azure (et éventuellement le SDK d’Application Insights) sur le rôle que vous souhaitez analyser. L’extension Diagnostics utilise un fichier de configuration (par rôle) nommé diagnostics.wadcfgx pour configurer les mesures de diagnostic analysées. L’extension Azure diagnostics collecte et stocke des données dans un compte de stockage Azure. Ces paramètres sont configurés dans les fichiers .wadcfgx, .csdef et .cscfg. Cela signifie qu’un coût supplémentaire est associé au monitoring avancé.
Lorsque chaque rôle est créé, Visual Studio lui ajoute l’extension Diagnostics Azure. Cette extension des diagnostics peut collecter les types d’informations suivants :
- Compteurs de performances personnalisés
- Journaux d’activité d’application
- Journaux d’événements Windows
- Source d’événement .NET
- Journaux IIS (Internet Information Services)
- Suivi ETW (suivi d’événements pour Windows) basé sur un manifeste
- Journaux d’activité d’erreurs client
Important
Alors que toutes ces données sont regroupées dans le compte de stockage, le portail ne fournit pas un moyen natif pour les représenter visuellement. Il est fortement recommandé d’intégrer un autre service, comme Application Insights, dans votre application.
Configurer l’extension de diagnostic
Pour commencer, si vous ne disposez pas d'un compte de stockage classique, créez-en un. Assurez-vous que le compte de stockage est créé avec le modèle de déploiement classique spécifié.
Ensuite, accédez à la ressource Compte de stockage (classique). Sélectionnez Paramètres>Clés d’accès et copiez la valeur de Chaîne de connexion principale. Vous avez besoin de cette valeur pour le service cloud.
Pour activer les diagnostics avancés, vous devez modifier deux fichiers de configuration, ServiceDefinition.csdef et ServiceConfiguration.cscfg.
ServiceDefinition.csdef
Dans le fichier ServiceDefinition.csdef, ajoutez un nouveau paramètre nommé Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
pour chaque rôle qui utilise des diagnostics avancés. Visual Studio ajoute cette valeur dans le fichier lorsque vous créez un nouveau projet. Au cas où il serait manquant, vous pouvez l’ajouter maintenant.
<ServiceDefinition name="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WorkerRole name="WorkerRoleWithSBQueue1" vmsize="Small">
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
Cet extrait de code définit un nouveau paramètre qui doit être ajouté à chaque fichier ServiceConfiguration.cscfg.
Vous disposez probablement de deux fichiers .cscfg, un nommé ServiceConfiguration.cloud.cscfg pour le déploiement sur Azure et l’autre nommé ServiceConfiguration.local.cscfg qui est utilisé pour les déploiements locaux dans l’environnement émulé. Ouvrez et modifiez chaque fichier .cscfg. Ajoutez un paramètre nommé Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
. Définissez la valeur sur la chaîne de connexion principale du compte de stockage classique. Si vous souhaitez utiliser le stockage local sur votre machine de développement, utilisez UseDevelopmentStorage=true
.
<ServiceConfiguration serviceName="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2015-04.2.6">
<Role name="WorkerRoleWithSBQueue1">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=KWwkdfmskOIS240jnBOeeXVGHT9QgKS4kIQ3wWVKzOYkfjdsjfkjdsaf+sddfwwfw+sdffsdafda/w==" />
<!-- or use the local development machine for storage
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
-->
Utiliser Application Insights
Quand vous publiez l’instance de Cloud Services à partir de Visual Studio, vous pouvez envoyer les données de diagnostic à Application Insights. Vous pouvez créer la ressource Azure Application Insights à ce moment-là ou envoyer les données à une ressource Azure existante. Application Insights peut effectuer un monitoring de votre service cloud au niveau de sa disponibilité, de ses performances, de ses défaillances et de son utilisation. Vous pouvez ajouter des graphiques personnalisés à Application Insights afin d’afficher les données qui vous intéressent le plus. Les données d’instance de rôle peuvent être collectées à l’aide du SDK d’Application Insights dans votre projet de service cloud. Pour plus d’informations sur l’intégration d’Application Insights, consultez Application Insights avec Cloud Services.
Bien que vous puissiez utiliser Application Insights pour afficher les compteurs de performances (et les autres paramètres) que vous avez spécifiés via l’extension Diagnostics Microsoft Azure, vous n’obtiendrez une expérience plus riche qu’en intégrant le kit SDK Application Insights à vos rôles Worker et Web.