Activer la journalisation des diagnostics

Effectué

Il existe des diagnostics intégrés pour faciliter le débogage d’une application App Service. Dans cette leçon, vous découvrez comment activer la journalisation des diagnostics et ajouter une instrumentation à votre application, et comment accéder aux informations journalisées par Azure.

Le tableau suivant montre les types de journalisation, les plateformes prises en charge et l’emplacement où les journaux peuvent être stockés et localisés pour accéder aux informations.

Type Plateforme Emplacement Description
Journalisation des applications Windows, Linux Système de fichiers App Service et/ou objets blob de stockage Azure Consigne les messages générés par votre code d’application. Les messages sont générés par l’infrastructure web de votre choix ou directement à partir du code de votre application en utilisant le modèle de journalisation standard de votre langage. Chaque message se voit attribuer l’une des catégories suivantes : Critique, Erreur, Avertissement, Info, Débogage ou Trace.
Journalisation du serveur web Windows Système de fichiers App Service ou objets blob de stockage Azure Données de requête HTTP brutes au format de fichier journal étendu W3C. Chaque message de journal comprend des données telles que la méthode HTTP, l’URI de ressource, l’IP cliente, le port client, l’agent utilisateur, le code de réponse, etc.
Messages d’erreur détaillés Windows Système de fichiers App Service Copies des pages d’erreur .html qui auraient été envoyées au navigateur client. Pour des raisons de sécurité, les pages d’erreur détaillées ne doivent pas être envoyées aux clients en production, mais App Service peut enregistrer la page d’erreur chaque fois qu’une erreur d’application se produit avec le code HTTP 400 ou supérieur.
Suivi des demandes ayant échoué Windows Système de fichiers App Service Informations de suivi détaillées des demandes qui ont échoué, y compris une trace des composants IIS utilisés pour traiter la demande et la durée dans chaque composant. Un dossier est généré pour chaque demande ayant échoué, qui contient le fichier journal XML et la feuille de style XSL permettant d’afficher le fichier journal.
Journalisation du déploiement Windows, Linux Système de fichiers App Service Permet de déterminer pourquoi un déploiement a échoué. La journalisation du déploiement se déroule automatiquement et il n’existe aucun paramètre de configuration de la journalisation du déploiement.

Activer la journalisation des applications (Windows)

  1. Pour activer la journalisation des applications Windows dans le portail Azure, accédez à votre application et sélectionnez Journaux App Service.

  2. Sélectionnez Activé pour Journal des applications (Système de fichiers) , Journal des applications (Blob) ou les deux. L’option Système de fichiers est utilisée à des fins de débogage temporaire et se désactive elle-même après 12 heures. L’option Blob est destinée à la journalisation à long terme et a besoin d’un conteneur de stockage d’objets blob dans lequel écrire les journaux.

    Notes

    Si vous regénérez les clés d’accès de votre compte de stockage, vous devez réinitialiser la configuration de journalisation correspondante pour utiliser les clés d’accès mises à jour. Pour cela, désactivez puis réactivez la fonctionnalité de journalisation.

  3. Vous pouvez aussi définir le Niveau des détails inclus dans le journal, comme indiqué dans le tableau suivant.

    Level Catégories incluses
    Désactivé None
    Error Erreur, Critique
    Avertissement Avertissement, Erreur, Critique
    Informations Info, Avertissement, Erreur, Critique
    Verbose Trace, Débogage, Info, Avertissement, Erreur, Critique (toutes les catégories)
  4. Lorsque vous avez terminé, sélectionnez Enregistrer.

Activer la journalisation des applications (Linux/Conteneur)

  1. Dans Journaux App Service, affectez à l’option Journal des applications la valeur Système de fichiers.

  2. Dans Quota (Mo) , spécifiez le quota de disque pour les journaux des applications. Dans Période de conservation (jours) , définissez le nombre de jours pendant lesquels les journaux doivent être conservés.

  3. Lorsque vous avez terminé, sélectionnez Enregistrer.

Activer la journalisation de serveur Web

  1. Pour Journalisation du serveur web, sélectionnez Stockage pour stocker les journaux dans le stockage d’objets blob, ou Système de fichiers pour stocker les journaux sur le système de fichiers App service.

  2. Dans Période de conservation (jours) , définissez le nombre de jours pendant lesquels les journaux doivent être conservés.

  3. Lorsque vous avez terminé, sélectionnez Enregistrer.

Ajouter des messages de journalisation dans le code

Dans votre code d’application, vous utilisez les fonctionnalités de journalisation habituelles pour envoyer des messages de journalisation aux journaux des applications. Par exemple :

  • Les applications ASP.NET peuvent utiliser la classe System.Diagnostics.Trace pour enregistrer des informations dans le journal de diagnostic d’application. Par exemple :

    System.Diagnostics.Trace.TraceError("If you're seeing this, something bad happened");
    

    Par défaut, ASP.NET Core utilise le fournisseur de journalisation Microsoft.Extensions.Logging.AzureAppServices.

  • Les applications Python peuvent utiliser le package OpenCensus pour envoyer des journaux au journal de diagnostic de l’application.

Diffuser les journaux d’activité en continu

Avant de diffuser des journaux en temps réel, activez le type de journal souhaité. Toutes les informations écrites dans des fichiers se terminant par .txt, .log ou .htm qui sont stockées dans le répertoire /LogFiles (d:/home/logfiles) sont streamées par App Service.

Notes

Certains types de mémoire tampon de journalisation sont écrits dans le fichier journal. Dès lors, il se peut que les événements apparaissent de manière désordonnée dans le flux. Ainsi, il est possible qu'une entrée du journal d'application qui se produit lorsqu'un utilisateur visite une page soit affichée dans le flux avant l'entrée de journal HTTP correspondante pour la demande de page.

  • Portail Azure - Pour streamer les journaux dans le portail Azure, accédez à votre application et sélectionnez Flux de journaux.

  • Azure CLI - Pour streamer les journaux en direct dans Cloud Shell, utilisez la commande suivante :

    az webapp log tail --name appname --resource-group myResourceGroup
    
  • Console locale - Pour streamer les journaux dans la console locale, installez Azure CLI et connectez-vous à votre compte. Une fois connecté, suivez les instructions indiquées pour Azure CLI.

Accéder aux fichiers journaux

Si vous configurez l’option des objets blob de stockage Azure pour un type de journal, vous avez besoin d’un outil client qui fonctionne avec le stockage Azure.

Pour les journaux stockés dans le système de fichiers App Service, le moyen le plus simple consiste à télécharger le fichier ZIP dans le navigateur à l’adresse suivante :

  • Applications Linux/de conteneur : https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip
  • Applications Windows : https://<app-name>.scm.azurewebsites.net/api/dump

Pour les applications Linux/de conteneur, le fichier ZIP contient les journaux de sortie de la console pour l’hôte Docker et le conteneur Docker. Pour une application avec scale-out, le fichier ZIP contient un ensemble de journaux pour chaque instance. Dans le système de fichiers App Service, ces fichiers journaux sont le contenu du répertoire /home/LogFiles.