Superviser les applications dans Azure App ServiceMonitor apps in Azure App Service

Azure App Service fournit des fonctionnalités de supervision intégrées pour les applications web, back-ends mobiles et applications API dans le portail Azure.Azure App Service provides built-in monitoring functionality for web apps, mobile back ends, and API apps in the Azure portal.

Dans le portail Azure, vous pouvez examiner les quotas et les métriques d’une application, passer en revue le plan App Service et configurer automatiquement les alertes et la mise à l’échelle en fonction de ces métriques.In the Azure portal, you can review quotas and metrics for an app, review the App Service plan, and automatically set up alerts and scaling that are based on the metrics.

Comprendre les quotasUnderstand quotas

Les applications hébergées dans App Service sont soumises à certaines limites concernant les ressources qu’elles peuvent utiliser.Apps that are hosted in App Service are subject to certain limits on the resources they can use. Ces limites sont définies par le plan App Service associé à l’application.The limits are defined by the App Service plan that's associated with the app.

Notes

Les plans d’hébergement App Service Gratuit et Partagé (préversion) sont des niveaux de base qui s’exécutent sur la même machine virtuelle Azure que les autres applications App Service.App Service Free and Shared (preview) hosting plans are base tiers that run on the same Azure virtual machines as other App Service apps. Certaines applications peuvent appartenir à d’autres clients.Some apps might belong to other customers. Ces niveaux sont réservés à une utilisation à des fins de test et de développement.These tiers are intended to be used only for development and testing purposes.

Si l’application est hébergée dans un plan Gratuit ou Partagé, les limites relatives aux ressources utilisables par l’application sont définies sous la forme de quotas.If the app is hosted in a Free or Shared plan, the limits on the resources that the app can use are defined by quotas.

Si l’application est hébergée dans un plan De base, Standard ou Premium, les limites applicables aux ressources que l’application peut utiliser sont définies par la taille (Petite, Moyenne, Grande) et par le nombre d’instances (1, 2, 3, et ainsi de suite) du plan App Service.If the app is hosted in a Basic, Standard, or Premium plan, the limits on the resources that they can use are set by the size (Small, Medium, Large) and instance count (1, 2, 3, and so on) of the App Service plan.

Les quotas des applications gratuites ou partagées sont les suivants :Quotas for Free or Shared apps are:

QuotaQuota DescriptionDescription
Temps UC (court)CPU (Short) Temps processeur autorisé pour cette application dans un intervalle de 5 minutes.The amount of CPU allowed for this app in a 5-minute interval. Ce quota se réinitialise toutes les cinq minutes.This quota resets every five minutes.
Temps UC (jour)CPU (Day) Temps total processeur autorisé pour cette application sur une journée.The total amount of CPU allowed for this app in a day. Ce quota se réinitialise toutes les 24 heures à minuit en temps universel coordonné.This quota resets every 24 hours at midnight UTC.
MémoireMemory Quantité totale de mémoire autorisée pour cette application.The total amount of memory allowed for this app.
Bande passanteBandwidth Quantité totale de bande passante sortante autorisée pour cette application sur une journée.The total amount of outgoing bandwidth allowed for this app in a day. Ce quota se réinitialise toutes les 24 heures à minuit en temps universel coordonné.This quota resets every 24 hours at midnight UTC.
Système de fichiersFilesystem Quantité totale de stockage autorisée.The total amount of storage allowed.

Le seul quota applicable aux applications hébergées dans les plans De base, Standard et Premium est Système de fichiers.The only quota applicable to apps that are hosted in Basic, Standard, and Premium plans is Filesystem.

Pour plus d’informations sur les quotas, limites et fonctionnalités spécifiques disponibles pour les différentes références (SKU) App Service, consultez Limites du service d’abonnement Azure.For more information about the specific quotas, limits, and features available to the various App Service SKUs, see Azure Subscription service limits.

Application de quotasQuota enforcement

Si une application dépasse le quota Temps UC (court) , Temps UC (jour) ou Bande passante, l’application est arrêtée jusqu’à la réinitialisation du quota.If an app exceeds the CPU (short), CPU (Day), or bandwidth quota, the app is stopped until the quota resets. Pendant ce laps de temps, toutes les requêtes entrantes donnent lieu à une erreur HTTP 403.During this time, all incoming requests result in an HTTP 403 error.

Message d’erreur 403

Si le quota Mémoire d’une application est dépassé, l’application est redémarrée.If the app Memory quota is exceeded, the app is restarted.

En cas de dépassement du quota Système de fichiers, toute opération d’écriture échoue.If the Filesystem quota is exceeded, any write operation fails. Les échecs des opérations d’écriture incluent toutes les écritures dans les journaux d’activité.Write operation failures include any writes to logs.

Vous pouvez augmenter ou supprimer les quotas dans votre application en procédant à la mise à niveau de votre plan App Service.You can increase or remove quotas from your app by upgrading your App Service plan.

Comprendre les métriquesUnderstand metrics

Les métriques fournissent des informations sur le comportement de l’application ou du plan App Service.Metrics provide information about the app or the App Service plan's behavior.

Pour une application, les métriques disponibles sont les suivantes :For an app, the available metrics are:

MétriqueMetric DescriptionDescription
Temps de réponse moyenAverage Response Time Temps moyen, en millisecondes, nécessaire à l’application pour traiter les requêtes.The average time taken for the app to serve requests, in milliseconds.
Plage de travail moyenne de la mémoireAverage memory working set Quantité moyenne de mémoire, en mégaoctets (Mio), utilisée par l’application.The average amount of memory used by the app, in megabytes (MiB).
ConnexionsConnections Nombre de sockets liés existants dans le bac à sable (w3wp.exe et ses processus enfants).The number of bound sockets existing in the sandbox (w3wp.exe and its child processes). Un socket lié est créé en appelant les API bind()/connect(), et persiste jusqu’à être fermé avec CloseHandle()/closesocket().A bound socket is created by calling bind()/connect() APIs and remains until said socket is closed with CloseHandle()/closesocket().
Temps processeurCPU Time Temps processeur, en secondes, consommée par l’application.The amount of CPU consumed by the app, in seconds. Pour plus d’informations sur cette métrique, consultez Temps processeur et pourcentage processeur.For more information about this metric, see CPU time vs CPU percentage.
Assemblys actuelsCurrent Assemblies Nombre d’assemblys actuellement chargés dans tous les AppDomains dans cette application.The current number of Assemblies loaded across all AppDomains in this application.
Données entrantesData In Quantité de bande passante entrante, en Mio, consommée par l’application.The amount of incoming bandwidth consumed by the app, in MiB.
Données sortantesData Out Quantité de bande passante sortante, en Mio, consommée par l’application.The amount of outgoing bandwidth consumed by the app, in MiB.
Garbage collections de génération 0Gen 0 Garbage Collections Nombre de fois que les objets de génération 0 ont été récupérés par le Garbage Collector depuis le début du processus d’application.The number of times the generation 0 objects are garbage collected since the start of the app process. Les garbage collections de génération supérieure comprennent toutes celles de génération inférieure.Higher generation GCs include all lower generation GCs.
Garbage collections de génération 1Gen 1 Garbage Collections Nombre de fois que les objets de génération 1 ont été récupérés par le Garbage Collector depuis le début du processus d’application.The number of times the generation 1 objects are garbage collected since the start of the app process. Les garbage collections de génération supérieure comprennent toutes celles de génération inférieure.Higher generation GCs include all lower generation GCs.
Garbage collections de génération 2Gen 2 Garbage Collections Nombre de fois que les objets de génération 2 ont été récupérés par le Garbage Collector depuis le début du processus d’application.The number of times the generation 2 objects are garbage collected since the start of the app process.
Nombre de descripteursHandle Count Nombre total de handles actuellement ouverts par le processus d’application.The total number of handles currently open by the app process.
Http 2xxHttp 2xx Nombre de requêtes donnant lieu à un code d’état HTTP ≥ 200, mais < 300.The count of requests resulting in an HTTP status code ≥ 200 but < 300.
Http 3xxHttp 3xx Nombre de requêtes donnant lieu à un code d’état HTTP ≥ 300, mais < 400.The count of requests resulting in an HTTP status code ≥ 300 but < 400.
Http 401Http 401 Nombre de requêtes donnant lieu à un code d’état HTTP 401.The count of requests resulting in HTTP 401 status code.
Http 403Http 403 Nombre de requêtes donnant lieu à un code d’état HTTP 403.The count of requests resulting in HTTP 403 status code.
Http 404Http 404 Nombre de requêtes donnant lieu à un code d’état HTTP 404.The count of requests resulting in HTTP 404 status code.
Http 406Http 406 Nombre de requêtes donnant lieu à un code d’état HTTP 406.The count of requests resulting in HTTP 406 status code.
Http 4xxHttp 4xx Nombre de requêtes donnant lieu à un code d’état HTTP ≥ 400, mais < 500.The count of requests resulting in an HTTP status code ≥ 400 but < 500.
Erreurs de serveur httpHttp Server Errors Nombre de requêtes donnant lieu à un code d’état HTTP ≥ 500, mais < 600.The count of requests resulting in an HTTP status code ≥ 500 but < 600.
Autres octets par seconde (E/S)IO Other Bytes Per Second Débit auquel le processus d’application émet des octets pour les opérations d’E/S qui n’impliquent pas de données, telles que les opérations de contrôle.The rate at which the app process is issuing bytes to I/O operations that do not involve data, such as control operations.
Autres opérations par seconde (E/S)IO Other Operations Per Second Débit auquel le processus d’application émet des opérations d’E/S qui ne sont ni des opérations de lecture, ni des opérations d’écriture.The rate at which the app process is issuing I/O operations that are neither read nor write operations.
Octets lus par seconde (E/S)IO Read Bytes Per Second Débit auquel le processus d’application lit les octets à partir des opérations d’E/S.The rate at which the app process is reading bytes from I/O operations.
Opérations de lecture par seconde (E/S)IO Read Operations Per Second Débit auquel le processus d’application émet des opérations d’E/S de lecture.The rate at which the app process is issuing read I/O operations.
Octets écrits par seconde (E/S)IO Write Bytes Per Second Débit auquel le processus d’application écrit des octets dans des opérations d’E/S.The rate at which the app process is writing bytes to I/O operations.
Opérations d’écriture par seconde (E/S)IO Write Operations Per Second Débit auquel le processus d’application émet des opérations d’E/S d’écriture.The rate at which the app process is issuing write I/O operations.
Plage de travail de la mémoireMemory working set Quantité actuelle de mémoire, en Mio, utilisée par l’application.The current amount of memory used by the app, in MiB.
Octets privésPrivate Bytes Taille actuelle (en octets) de mémoire allouée par le processus d’application qui ne peut pas être partagée avec d’autres processus.Private Bytes is the current size, in bytes, of memory that the app process has allocated that cannot be shared with other processes.
DemandesRequests Nombre total de requêtes, quel que soit leur code d’état HTTP résultant.The total number of requests regardless of their resulting HTTP status code.
Requêtes dans la file d’attente d’applicationRequests In Application Queue Nombre de requêtes dans la file d’attente de requêtes de l’application.The number of requests in the application request queue.
Nombre de threadsThread Count Nombre de threads actuellement actifs dans le processus d’application.The number of threads currently active in the app process.
Total des domaines d’applicationTotal App Domains Nombre actuel de domaines d’application chargés dans cette application.The current number of AppDomains loaded in this application.
Total des domaines d’application déchargésTotal App Domains Unloaded Nombre total de domaines d’application déchargés depuis le démarrage de l’application.The total number of AppDomains unloaded since the start of the application.

Pour un plan App Service, les métriques disponibles sont les suivantes :For an App Service plan, the available metrics are:

Notes

Les métriques du plan App Service sont disponibles uniquement pour les niveaux De base, Standard et Premium.App Service plan metrics are available only for plans in Basic, Standard, and Premium tiers.

MétriqueMetric DescriptionDescription
Pourcentage UCCPU Percentage Utilisation moyenne de l’UC dans toutes les instances du plan.The average CPU used across all instances of the plan.
Pourcentage de mémoireMemory Percentage Utilisation moyenne de la mémoire dans toutes les instances du plan.The average memory used across all instances of the plan.
Données entrantesData In Utilisation moyenne de la bande passante entrante dans toutes les instances du plan.The average incoming bandwidth used across all instances of the plan.
Données sortantesData Out Utilisation moyenne de la bande passante sortante dans toutes les instances du plan.The average outgoing bandwidth used across all instances of the plan.
Longueur de file d'attente de disqueDisk Queue Length Nombre moyen de requêtes de lecture et d’écriture mises en file d’attente sur le stockage.The average number of both read and write requests that were queued on storage. Une longueur de file d’attente de disque élevée est une indication d’une application susceptible d’être ralentie en raison d’un nombre d’E/S de disque excessif.A high disk queue length is an indication of an app that might be slowing down due to excessive disk I/O.
Longueur de la file d’attente HTTPHttp Queue Length Nombre moyen de requêtes HTTP qui devaient se trouver dans la file d’attente avant d’être exécutées.The average number of HTTP requests that had to sit on the queue before being fulfilled. Une longueur de file d’attente HTTP élevée ou croissante est le symptôme d’un plan surchargé.A high or increasing HTTP Queue length is a symptom of a plan under heavy load.

Temps processeur et pourcentage UCCPU time vs CPU percentage

Deux métriques reflètent l’utilisation du processeur  :There are two metrics that reflect CPU usage:

Temps processeur : Utile pour les applications hébergées dans un plan Gratuit ou Partagé, car l’un des quotas de ces applications est défini en minutes de processeur utilisées par l’application.CPU Time: Useful for apps hosted in Free or Shared plans, because one of their quotas is defined in CPU minutes used by the app.

Pourcentage processeur : Utile pour les applications hébergées dans des plans De base, Standard et Premium qui peuvent faire l’objet d’un scale-out. Le pourcentage CPU est une bonne indication de l’utilisation globale de toutes les instances.CPU percentage: Useful for apps hosted in Basic, Standard, and Premium plans, because they can be scaled out. CPU percentage is a good indication of the overall usage across all instances.

Granularité des métriques et stratégie de conservationMetrics granularity and retention policy

Les métriques d’une application et d’un plan App Service sont journalisées et agrégées par le service avec les granularités et les stratégies de conservation suivantes :Metrics for an app and app service plan are logged and aggregated by the service, with the following granularities and retention policies:

  • Les métriques de granularité Minute sont conservées 30 heures.Minute granularity metrics are retained for 30 hours.
  • Les métriques de granularité Hour sont conservées 30 jours.Hour granularity metrics are retained for 30 days.
  • Les métriques de granularité Day sont conservées 30 jours.Day granularity metrics are retained for 30 days.

Supervision des quotas et des métriques dans le portail AzureMonitoring quotas and metrics in the Azure portal

Pour examiner l’état des différents quotas et métriques qui affectent une application, accédez au portail Azure.To review the status of the various quotas and metrics that affect an app, go to the Azure portal.

Graphique des quotas dans le portail Azure

Pour rechercher des quotas, sélectionnez Paramètres > Quotas.To find quotas, select Settings > Quotas. Sur le graphique, vous pouvez examiner :On the chart, you can review:

  1. le nom du quota ;The quota name.
  2. son intervalle de réinitialisation ;Its reset interval.
  3. sa limite actuelle ;Its current limit.
  4. sa valeur actuelle.Its current value.

Graphique des métriques dans le portail Azure Vous pouvez accéder aux métriques directement à partir de la page de ressources.Metric chart in the Azure portal You can access metrics directly from the Resource page. Pour personnaliser le graphique :To customize the chart:

  1. Sélectionnez le graphique.Select the chart.
  2. Sélectionnez Modifier le graphique.Select Edit chart.
  3. Modifiez l’intervalle de temps.Edit the Time Range.
  4. Modifiez le type de graphique.Edit the Chart type.
  5. Modifiez les métriques à afficher.Edit the metrics you want to display.

Pour plus d’informations sur les métriques, consultez Superviser les métriques des services.To learn more about metrics, see Monitor service metrics.

Alertes et mise à l’échelle automatiqueAlerts and autoscale

Les métriques pour une application ou un plan App Service peuvent être rattachées à des alertes.Metrics for an app or an App Service plan can be hooked up to alerts. Pour plus d’informations, consultez Réception de notifications d’alerte.For more information, see Receive alert notifications.

Les applications App Service hébergées dans les plans App Service De base, Standard ou Premium prennent en charge la mise à l’échelle automatique.App Service apps hosted in Basic, Standard, or Premium App Service plans support autoscale. La mise à l’échelle automatique vous permet de configurer des règles qui supervisent les métriques du plan App Service.With autoscale, you can configure rules that monitor the App Service plan metrics. Les règles peuvent diminuer ou augmenter le nombre d’instances, ce qui permet de fournir des ressources supplémentaires si nécessaire.Rules can increase or decrease the instance count, which can provide additional resources as needed. Les règles peuvent aussi vous permettre d’économiser de l’argent quand l’application est surprovisionnée.Rules can also help you save money when the app is over-provisioned.

Pour plus d’informations sur la mise à l’échelle automatique, consultez Guide pratique pour mettre à l’échelle et Bonnes pratiques pour la mise à l’échelle automatique Azure Monitor.For more information about autoscale, see How to scale and Best practices for Azure Monitor autoscaling.