Analyser les journaux et les indicateurs de performance avec les paramètres de diagnostic
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s’applique à : ✔️ Java ✔️ C#
Cet article s’applique au : Niveau ✔️ De base/Standard ✔️ Entreprise
Cet article explique comment analyser les données de diagnostic dans Azure Spring Apps.
La fonctionnalité de diagnostic d’Azure Spring Apps vous permet d’analyser les journaux et les métriques avec l’un des services suivants :
- Utiliser Azure Log Analytics. Il existe un délai lors de l’exportation des journaux d’activité Log Analytics.
- Enregistrez les journaux dans un compte de stockage pour les auditer ou les inspecter manuellement. Spécifiez la durée de conservation (en jours).
- Envoyez les journaux par flux de données à votre Event Hub pour ingestion par un service tiers ou une solution d’analyse personnalisée.
Choisissez la catégorie de journal et de métrique que vous souhaitez analyser.
Conseil
Si vous souhaitez simplement diffuser vos journaux d’activité, vous pouvez utiliser la commande Azure CLI az spring app logs.
Journaux d’activité
Journal | Description |
---|---|
ApplicationConsole | Journal de la console de toutes les applications clientes. |
SystemLogs | Les valeurs LogType disponibles sont ConfigServer (De base/Standard uniquement), ServiceRegistry (tous les plans), ApiPortal (plan Entreprise uniquement), ApplicationConfigurationService (plan Entreprise uniquement), SpringCloudGateway (plan Entreprise uniquement) et SpringCloudGatewayOperator (plan Entreprise uniquement) |
IngressLogs | Journaux d’entrée de toutes les applications du client, accès uniquement aux journaux. |
BuildLogs | Journaux de génération de toutes les applications du client pour chaque étape de génération. |
Remarque
Pour protéger votre application contre les fuites d’informations d’identification potentielles, tous les contenus du journal avec des informations d’identification ou d’autres informations sensibles sont masqués par ***
. Par exemple, tout contenu de journal avec les modèles suivants est géré comme des informations sensibles et les valeurs correspondantes sont masquées :
dbpass
,password
,key
,secret
,sig
etsignature
suivis par:
ou=
. Ces modèles apparaissent généralement dans les paramètres d’URL et les images mémoire de charge utile. Par exemple,https://somestorage.blob.core.windows.net?sv=2021-08-06&st=2024-04-30T10%3A01%3A19Z&se=2024-04-30T11%3A01%3A19Z&sr=b&sp=r&sig=xxxxxxxxxxxxxx
devienthttps://somestorage.blob.core.windows.net?sv=2021-08-06&st=2024-04-30T10%3A01%3A19Z&se=2024-04-30T11%3A01%3A19Z&sr=b&sp=r&sig=***
.- Chaînes encodées de type jeton JWT au format :
eyJxxxxxx.eyJxxxxxx
Si vous trouvez des valeurs masquées dans vos journaux d’activité, veillez à mettre à jour votre code d’application pour éliminer la fuite d’informations d’identification.
Métriques
Pour obtenir la liste complète des métriques, consultez la section Options de métriques utilisateur dans Métriques pour Azure Spring Apps.
Pour commencer, activez l’un de ces services pour recevoir les données. Pour en savoir plus sur la configuration de Log Analytics, consultez Prise en main de Log Analytics dans Azure Monitor.
Configurer les paramètres de diagnostic
Dans le portail Azure, accédez à votre instance Azure Spring Apps.
Sélectionnez l’option Paramètres de diagnostic, puis Ajouter un paramètre de diagnostic.
Entrez un nom pour le paramètre, puis choisissez l’emplacement où vous souhaitez envoyer les journaux. Vous pouvez sélectionner une ou plusieurs des options suivantes selon vos besoins :
- Archiver dans un compte de stockage
- Diffuser vers un hub d’événements
- Envoyer à Log Analytics
- Envoyer à une solution de partenaire
Choisissez la catégorie de journal et la catégorie de métrique à superviser, puis spécifiez la durée de conservation (en jours). La durée de conservation s’applique uniquement au compte de stockage.
Cliquez sur Enregistrer.
Remarque
Il peut s’écouler jusqu’à 15 minutes entre le moment où les journaux ou les métriques sont émis et le moment où ils apparaissent dans votre compte de stockage, votre hub d’événements ou Log Analytics. Si l’instance Azure Spring Apps est supprimée ou déplacée, l’opération ne s’exécute pas en cascade vers les ressources Paramètres de diagnostic. Les ressources Paramètres de diagnostic doivent être supprimées manuellement avant l’opération sur le parent, l’instance Azure Spring Apps. Dans le cas contraire, si une nouvelle instance Azure Spring Apps est configurée avec le même ID de ressource que celle qui a été supprimée, ou si l’instance Azure Spring Apps est redéplacée dans son emplacement d’origine, les ressources Paramètres de diagnostic précédentes continuent de l’étendre.
Afficher les journaux et les métriques
Il existe plusieurs méthodes pour afficher les journaux et les métriques, comme décrit dans les titres suivants.
Utiliser le volet Journaux d’activité
Dans le portail Azure, accédez à votre instance Azure Spring Apps.
Pour ouvrir le volet Recherche dans les journaux, sélectionnez Journaux.
Dans la zone de recherche Tables, utilisez l’une des requêtes suivantes :
Pour afficher des journaux d'activité, entrez une requête telle que l’exemple suivant :
AppPlatformLogsforSpring | limit 50
Pour afficher des métriques, entrez une requête telle que l’exemple suivant :
AzureMetrics | limit 50
Pour afficher le résultat de la recherche, sélectionnez Exécuter.
Utiliser Log Analytics
Dans le Portail Azure, dans le volet de gauche, sélectionnez Log Analytics.
Sélectionnez l’espace de travail Log Analytics que vous avez choisi quand vous avez ajouté vos paramètres de diagnostic.
Pour ouvrir le volet Recherche dans les journaux, sélectionnez Journaux.
Dans la zone de recherche Tables, utilisez l’une des requêtes suivantes :
Pour afficher des journaux d'activité, entrez une requête telle que l’exemple suivant :
AppPlatformLogsforSpring | limit 50
Pour afficher des métriques, entrez une requête telle que l’exemple suivant :
AzureMetrics | limit 50
Pour afficher le résultat de la recherche, sélectionnez Exécuter.
Vous pouvez rechercher dans les journaux d’activité de l’application ou de l’instance spécifique en définissant une condition de filtre, comme illustrée dans l’exemple suivant :
AppPlatformLogsforSpring | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName" | limit 50
Remarque
==
respecte la casse, mais pas=~
.
Pour en savoir plus sur le langage de requête qui est utilisé dans Log Analytics, consultez Requêtes de journal Azure Monitor. Pour interroger tous vos journaux Log Analytics à partir d’un client centralisé, consultez Explorateur de données Azure.
Utiliser votre compte de stockage
- Sur le Portail Azure, recherchez Comptes de stockage dans le volet de navigation gauche ou dans la zone de recherche.
- Sélectionnez le compte de stockage que vous avez choisi quand vous avez ajouté vos paramètres de diagnostic.
- Pour ouvrir le volet Conteneur d’objets blob, sélectionnez Objets blob.
- Pour consulter les journaux d’application, recherchez un conteneur appelé insights-logs-applicationconsole.
- Pour consulter les métriques des applications, recherchez un conteneur appelé insights-metrics-pt1m.
Pour en savoir plus sur l’envoi d’informations de diagnostic à un compte de stockage, consultez Stocker et afficher des données de diagnostic dans le stockage Azure.
Utiliser votre hub d’événements
Sur le Portail Azure, recherchez Event Hubs dans le volet de navigation gauche ou dans la zone de recherche.
Recherchez et sélectionnez le hub d’événements que vous avez choisi quand vous avez ajouté vos paramètres de diagnostic.
Pour ouvrir le volet Liste des hubs d’événements, sélectionnez Hubs d’événements.
Pour consulter les journaux d’application, recherchez un hub d’événements appelé insights-logs-applicationconsole.
Pour consulter les métriques des applications, recherchez un hub d’événements appelé insights-metrics-pt1m.
Pour en savoir plus sur l’envoi d’informations de diagnostic à un hub d’événements, consultez Diffusion des données de Diagnostics Azure dans le chemin réactif à l’aide d’Event Hubs.
Analyser les journaux
Azure Log Analytics s’exécute avec un moteur Kusto afin que vous puissiez interroger vos journaux à des fins d’analyse. Pour obtenir une présentation rapide de l’interrogation des journaux à l’aide de Kusto, passez en revue le tutoriel sur Log Analytics.
Les journaux d’application fournissent des informations critiques et des journaux d’activité détaillés sur l’intégrité de votre application, ses performances, et bien plus encore. Les sections suivantes présentent quelques requêtes simples pour vous aider à comprendre les états actuels et passés de votre application.
Afficher les journaux d’application à partir d’Azure Spring Apps
Pour consulter la liste des journaux d’application à partir d’Azure Spring Apps, triés par heure avec les journaux les plus récents affichés en premier, exécutez la requête suivante :
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc
Afficher les entrées de journaux contenant des erreurs ou des exceptions
Pour examiner les entrées de journal non triées qui mentionnent une erreur ou une exception, exécutez la requête suivante :
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"
Utilisez cette requête pour rechercher des erreurs, ou modifiez les termes de la requête afin de rechercher des codes d’erreur ou des exceptions spécifiques.
Afficher le nombre d’erreurs et d’exceptions signalées par votre application au cours de la dernière heure
Pour créer un graphique à secteurs indiquant le nombre d’erreurs et d’exceptions journalisées par votre application au cours de la dernière heure, exécutez la requête suivante :
AppPlatformLogsforSpring
| where TimeGenerated > ago(1h)
| where Log contains "error" or Log contains "exception"
| summarize count_per_app = count() by AppName
| sort by count_per_app desc
| render piechart
Afficher les entrées du journal d’entrée contenant un hôte spécifique
Pour évaluer les entrées de journal d’activité générées par un hôte spécifique, exécutez la requête suivante :
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and Host == "ingress-asc.test.azuremicroservices.io"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Utilisez cette requête pour trouver la valeur Status
de la réponse, RequestTime
et d’autres propriétés des journaux d’entrée de cet hôte spécifique.
Afficher les entrées du journal d’entrée pour une valeur requestId spécifique
Pour consulter les entrées de journal d’une valeur requestId
<request_ID> spécifique, exécutez la requête suivante :
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Afficher les entrées du journal de génération pour une application spécifique
Pour consulter les entrées de journal d’une application spécifique pendant le processus de génération, exécutez la requête suivante :
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>"
| sort by TimeGenerated
Afficher les entrées du journal de génération pour une application spécifique dans une étape de génération spécifique
Pour consulter les entrées de journal d’une application spécifique dans une étape de génération spécifique, exécutez la requête suivante. Remplacez l’espace réservé <app-name>
par le nom de votre application. Remplacez l’espace réservé <build-stage>
par l’une des valeurs suivantes, qui représentent les étapes du processus de génération : prepare
, detect
, restore
, analyze
, build
, export
ou completion
.
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>" and ContainerName == "<build-stage>"
| sort by TimeGenerated
Afficher les journaux VMware Spring Cloud Gateway dans le plan Entreprise
Pour évaluer les entrées de journal pour les journaux VMware Spring Cloud Gateway dans le plan Entreprise, exécutez la requête suivante :
AppPlatformSystemLogs
| where LogType == "SpringCloudGateway"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Un autre composant, nommé Spring Cloud Gateway Operator, contrôle le cycle de vie de Spring Cloud Gateway et des itinéraires. Si vous rencontrez des problèmes avec l’itinéraire qui ne prend pas effet, vérifiez les journaux d’activité de ce composant. Pour évaluer les entrées de journal pour l’opérateur VMware Spring Cloud Gateway dans le plan Entreprise, exécutez la requête suivante :
AppPlatformSystemLogs
| where LogType == "SpringCloudGatewayOperator"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Afficher les journaux de l’Application Configuration Service for Tanzu dans le plan Enterprise
Pour évaluer les entrées de journal pour le service de configuration d’application pour les journaux Tanzu dans le plan Entreprise, exécutez la requête suivante :
AppPlatformSystemLogs
| where LogType == "ApplicationConfigurationService"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Afficher les journaux du Registre des services Tanzu dans le plan Enterprise
Pour consulter les entrées des journaux du registre du service Tanzu dans le plan d’entreprise, exécutez la requête suivante :
AppPlatformSystemLogs
| where LogType == "ServiceRegistry"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Afficher le portail d’API pour les journaux VMware Tanzu dans le plan Enterprise
Pour consulter les entrées de journaux du portail API pour VMware Tanzu dans le plan Enterprise, exécutez la requête suivante :
AppPlatformSystemLogs
| where LogType == "ApiPortal"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
En savoir plus sur l’interrogation des journaux d’application
Azure Monitor fournit une prise en charge étendue de l’interrogation des journaux d’application à l’aide de Log Analytics. Pour plus d’informations sur ce service, consultez Bien démarrer avec les requêtes de journal dans Azure Monitor. Pour plus d’informations sur la création de requêtes pour analyser vos journaux d’application, consultez Vue d’ensemble des requêtes de journal dans Azure Monitor.
Points d’entrée pratiques dans Portail Azure
Utilisez les étapes suivantes pour naviguer vers le volet Log Analytics avec des requêtes prédéfinies :
Accédez à la page Vue d’ensemble de votre instance du service Azure Spring Apps, puis sélectionnez Applications dans le volet de navigation.
Recherchez votre application cible, puis sélectionnez le menu contextuel.
Dans le menu contextuel, sélectionnez Afficher les journaux d’activité.
Cette action vous dirige vers le volet Log Analytics avec des requêtes prédéfinies.
Il existe d’autres points d’entrée pour afficher des journaux d’activité. Vous trouverez également le bouton Afficher les journaux d’activité pour les composants managés tels que Service de construction et Registre de service.
Forum aux questions (FAQ)
Comment convertir des traces de pile Java à plusieurs lignes en une ligne unique ?
Il existe une solution de contournement pour convertir vos traces de pile à plusieurs lignes en une ligne unique. Vous pouvez modifier la sortie du journal Java pour remettre en forme les messages de trace de pile, en remplaçant les caractères de saut de ligne par un jeton. Si vous utilisez la bibliothèque Logback Java, vous pouvez remettre en forme les messages de trace de pile en ajoutant %replace(%ex){'[\r\n]+', '\\n'}%nopex
comme suit :
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
level: %level, message: "%logger{36}: %msg", exceptions: "%replace(%ex){'[\r\n]+', '\\n'}%nopex"%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
Vous pouvez ensuite remplacer le jeton par des caractères de nouvelle ligne dans Log Analytics comme illustré dans l’exemple suivant :
AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')
Il est possible que vous puissiez appliquer la même stratégie à d’autres bibliothèques de journaux Java.