Journalisation, métriques et alertes dans Azure

Pour comprendre le fonctionnement de votre service Azure, vous devez comprendre la journalisation, les métriques et les alertes disponibles et comment les utiliser.

Pourquoi utiliser la journalisation, les métriques et les alertes ?

Utilisez le tableau suivant pour comprendre les informations que vous pouvez découvrir sur vos ressources Azure.

Type

Exemples de questions

Hébergement Azure

Les services d’hébergement tels qu’Azure App Service et Azure Function fournissent plusieurs formes de commentaires pour répondre à des questions telles que :

  • Mon application (ou conteneur) a-t-elle été déployée avec succès ?
  • Mon application (ou conteneur) a-t-elle démarré correctement ?
  • Mon application (ou conteneur) s’exécute-t-elle correctement ?

Service Azure

Azure offre des métriques pour les services, ce qui vous permet d’obtenir des réponses telles que :

  • Quelle est la disponibilité du service ?
  • Quelles erreurs le service génère-t-il ?
  • Mon service est-il si occupé qu’il n’est pas en mesure de suivre la demande ?
  • Ai-je atteint mon quota de transactions de niveau tarifaire ?

Kit de développement logiciel (SDK) Azure

Le Kit de développement logiciel (SDK) Azure fournit un accès à Azure à partir de nombreux langages de programmation. Les kits SDK fournissent la journalisation pour vous permettre de poser des questions telles que :

  • Qu’est-ce que le SDK lui-même fait ?
  • Qu’est-ce que mon code fait ?

Votre code ou conteneur

Pour comprendre le fonctionnement de votre propre code ou conteneur, intégrez application Recommandations à partir d’Azure Monitor. L’Recommandations d’application vous permet de capturer les journaux d’activité entre les services d’une application unique pour poser des questions telles que :

  • Quelles exceptions votre code lève ?
  • Quels événements déclenchent votre code ?
  • Comment votre code interagit-t-il avec les dépendances ?

Qu’est-ce qui est fourni pour la journalisation, les métriques et les alertes ?

Type Disponibilité Description
Métriques Fourni sans configuration Commencez par les métriques, car chaque service Azure aura des métriques pour vous permettre de voir comment elle fonctionne.
Alertes Configurable Configurez les alertes pour qu’elles soient averties lorsque des comportements négatifs ou arrivant à expiration de quota se produisent.
Journalisation Configurable Certains services, tels que les services d’hébergement, ont une journalisation pour vous aider à comprendre comment votre code ou conteneur se comporte. Vous devrez peut-être configurer la journalisation avant de voir les fichiers journaux.
Journalisation personnalisée Configurable par le biais du code À partir de votre propre code, vous pouvez vous connecter à Azure Monitor à l’aide de l’application Recommandations SDK pour le serveur et l’application cliente. Le code n’a pas besoin d’être hébergé sur Azure pour se connecter à Azure Monitor.

Voir les mesures depuis le portail Azure

Affichez les métriques de votre ressource de manière planifiée dans la Portail Azure dans la section Surveillance -> Métriques.

Screenshot to view metrics for Cognitive Services in Azure portal.

Afficher les alertes dans Portail Azure

Définissez des alertes pour votre ressource dans le portail Azure de chaque ressource. Les alertes peuvent inclure des mesures, des flux de communication (par exemple, un e-mail) et une fréquence spécifiques. Voici les alertes courantes à définir :

  • Demandes
  • Temps de réponse
  • Erreurs de serveur http (dans les environnements d’hébergement)

Set common alerts for your resource such as requests, response time and http server errors (for your hosting environment resources).

Afficher la journalisation des services hébergés dans Portail Azure

Les applications hébergées et les conteneurs peuvent être configurés pour journaliser des informations sur :

  • deployment
  • start-up
  • exécution

Activez ces journaux pour comprendre le comportement de votre application hébergée. Ces journaux sont probablement le premier endroit où vous découvrirez que votre déploiement a échoué ou que votre configuration de démarrage est incorrectement configurée ou que les dépendances manquantes sont manquantes.

Journalisation vers stdout et stderr

La journalisation personnalisée est automatiquement fournie par les applications web Azure et les fonctions Azure, si vous utilisez les fonctions de journalisation appropriées :

  • Les applications web utilisent console.log('your message here')
  • Les applications de fonctions utilisent context.log('your message here')

Journalisation personnalisée dans Azure

Vous pouvez ajouter une journalisation personnalisée plus riche avec azure Monitor Application Recommandations, qui offre des scénarios serveur (Node.js) et client (navigateur) :

Activer la journalisation des applications avec application Recommandations

Votre meilleur choix de journalisation configurable est application Recommandations, qui peut fournir :

  • Journalisation standard
    • dans le service Azure
    • dans votre code source en fonction de l’initialisation
  • Journalisation personnalisée
    • à partir de votre pipeline de déploiement
    • dans votre code source

Activer la journalisation des applications pour App Service

Pour activer la journalisation de l’hôte d’application dans le Portail Azure :

  1. Accédez à Surveillance -> Journaux App Service, activez la journalisation des applications pour le système de fichiers.
  2. Configurez le quota (Mo). La valeur par défaut est 35.
  3. Définissez la valeur de période de rétention (jours) sur une valeur par défaut telle que 3 ou 7 jours.
  4. Sélectionnez Enregistrer pour commencer à capturer les journaux d’activité de l’hôte.

Afficher les journaux d’application pour App Service

Lorsque vous activez les journaux d’activité d’application, les journaux sont stockés dans le dossier Journaux de votre hôte d’application web. Affichez les journaux à partir de l’Portail Azure ou de l’extension Visual Studio Code pour App Service.

Les formats de nom de fichier journal sont les suivants :

  • Déploiement : {DATE-TIME}_{RANDOM-CHARS}_{docker}.log
  • Démarrage et exécution : {DATE-TIME}_{RANDOM-CHARS}_default_docker.log

Diffuser des journaux d’activité pour App Service

Pour App Service, utilisez le tableau suivant pour en savoir plus sur le flux de journaux :

Méthode Description
Azure CLI az webapp log tail
Extension App Service pour VSCode Cliquer avec le bouton droit sur la ressource et sélectionner Démarrer le streaming des journaux

Activer la journalisation des applications pour Azure Functions (plan)

Consultez les étapes permettant d’activer la journalisation de l’hôte pour App Service

Activer la journalisation des applications pour Azure Functions (consommation)

Avec une application Functions basée sur la consommation, si vous utilisez la journalisation fournie par l’objet de contexte dans votre code source, ces journaux sont fournis sous la section Monitor de chaque fonction. Le Portail Azure vous permet également de diffuser en continu les journaux à mesure que les requêtes entrent dans la fonction.

Interroger vos journaux d’Recommandations application avec le langage de requête Kusto

Lorsque vous utilisez le context.log dans une application de fonction ou le console.log dans une application web, et que vous avez Application Insights activé, ces journaux personnalisés sont ajoutés à votre ressource Application Insights dans la table Trace. Si vous préfixez votre journal personnalisé avec une chaîne spécifique, par exemple JavaScript, vous pouvez rechercher dans la table Trace tous les messages qui contiennent ce préfixe lorsque vous souhaitez réduire votre journal aux entrées personnalisées, à l’aide du langage de requête Kusto.

traces
| where message contains "JavaScript"

If you prefix your custom log with a specific string, such as `JavaScript`, you can search the Trace table for any messages that contain that prefix when you want to reduce your log to just those custom entries.

Développement local avec Application Insights

Si vous essayez l’Recommandations d’application en exécutant du code localement, qui utilise l’un des packages application Recommandations npm, veillez à appeler la méthode afin que la flush() journalisation soit envoyée immédiatement à l’application Recommandations. Lorsque vous affichez les journaux, n’oubliez pas qu’il peut falloir quelques minutes avant que vos journaux personnalisés ne soient disponibles dans Application Insights.

Afficher les données d’échec d’application dans application Recommandations

Examinez les échecs des ressources supervisées dans Application Insights.

View failures for Application Insights monitored resources.

Étapes suivantes