Partager via


Résoudre les problèmes liés à l'activation du Débogueur de capture instantanée d'Application Insights ou à l'affichage des instantanés

Si vous avez activé Débogueur de capture instantanée Application Insights pour votre application, mais que vous ne voyez pas de captures instantanées pour les exceptions, vous pouvez utiliser ces instructions pour résoudre les problèmes.

La génération d’instantanés échoue pour de nombreuses raisons. Vous pouvez commencer par exécuter le contrôle d’intégrité de capture instantanée pour identifier certaines des causes courantes possibles.

Scénarios non pris en charge

Scénarios où Snapshot Collector n’est pas pris en charge :

Scénario Effets secondaires Recommandation
Lorsque vous utilisez le kit de développement logiciel (SDK) Snapshot Collector directement depuis votre application (.csproj) et que vous avez activé l’option avancée Interop. Le kit de développement logiciel (SDK) Application Insights local (y compris la télémétrie Snapshot Collector) est perdu. Par conséquent, aucun instantané n’est disponible.
Votre application peut se bloquer au démarrage avec System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor.
Pour plus d’informations sur la fonctionnalité Interop d’Application Insights, consultez la documentation.
Si vous utilisez l’option avancée Interop, utilisez l’injection Snapshot Collector sans code, activée via le portail Microsoft Azure.

Vérifier que vous utilisez le bon point de terminaison du Débogueur de capture instantanée

Seules les régions Azure Government et Microsoft Azure géré par 21Vianet nécessitent actuellement des modifications de leurs points de terminaison.

Pour App Service et les applications qui utilisent le kit de développement logiciel (SDK) Application Insights, vous devez mettre à jour la chaîne de connexion à l’aide des valeurs de substitution prises en charge pour le Débogueur de capture instantanée :

Propriété de chaîne de connexion Cloud du gouvernement des États-Unis Nuage Chine
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Pour plus d’informations sur les autres substitutions de connexion, consultez la documentation Application Insights.

Pour Function App, vous devez mettre à jour host.json à l’aide des valeurs de substitution prises en charge :

Propriété Cloud du gouvernement des États-Unis Nuage Chine
AgentEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Voici un exemple de host.json mis à jour avec le point de terminaison de l’agent cloud pour le gouvernement des États-Unis :

{
    "version": "2.0",
    "logging": {
        "applicationInsights": {
            "samplingExcludedTypes": "Request",
            "samplingSettings": {
                "isEnabled": true
            },
            "snapshotConfiguration": {
                "isEnabled": true,
                "agentEndpoint": "https://snapshot.monitor.azure.us"
            }
        }
    }
}

Utilisez le contrôle d’intégrité des instantanés

Plusieurs problèmes courants empêchent l’affichage du bouton Ouvrir l’instantané de débogage. Par exemple :

  • Utilisation d’un collecteur d’instantanés obsolète
  • Atteindre la limite de chargement quotidienne
  • L’instantané prend simplement beaucoup de temps à charger.

Accédez à la vérification d’intégrité de l’instantané pour résoudre les problèmes courants via un lien dans le volet Exception de la vue de trace de bout en bout.

Capture d’écran montrant comment entrer un contrôle d’intégrité de capture instantanée.

L’interface interactive, de type conversation, recherche des problèmes courants et vous guide pour les résoudre.

Capture d’écran montrant la fenêtre interactive Contrôle d’intégrité qui liste les problèmes et les suggestions pour les résoudre.

Si cela ne résout pas le problème, consultez les étapes de dépannage manuel suivantes.

Vérifier les paramètres du client TLS/SSL (ASP.NET)

Si vous avez une application ASP.NET qui est hébergée dans Azure App Service ou IIS sur une machine virtuelle, votre application risque de ne pas pouvoir se connecter au service Débogueur de capture instantanée en raison d’un protocole de sécurité SSL manquant.

Le point de terminaison du Débogueur Snapshot nécessite le protocole TLS version 1.2. L’ensemble des protocoles de sécurité SSL est l’une des particularités activées par la valeur httpRuntime targetFramework dans la section system.web de web.config.

Si httpRuntime targetFramework est 4.5.2 ou inférieure, TLS 1.2 n’est pas inclus par défaut.

Remarque

La valeur httpRuntime targetFramework est indépendante du framework cible utilisé lors de la génération de votre application.

Pour vérifier le paramètre, ouvrez votre fichier web.config et recherchez la section system.web. Vérifiez que la version de targetFramework pour httpRuntime est définie sur 4.6 ou une version supérieure.

<system.web>
    ...
    <httpRuntime targetFramework="4.7.2" />
    ...
</system.web>

Remarque

La modification de la valeur httpRuntime targetFramework modifie les quirks du runtime appliquées à votre application et peut entraîner d’autres changements de comportement subtils. Veillez à tester soigneusement votre application après avoir apporté cette modification. Pour obtenir la liste complète des modifications de compatibilité, consultez Modifications de re-ciblage.

Remarque

Si la version de targetFramework est 4.7 ou supérieure, Windows détermine les protocoles disponibles. Dans Azure App Service, TLS 1.2 est disponible. Toutefois, si vous utilisez votre propre machine virtuelle, vous devrez peut-être activer TLS 1.2 dans le système d’exploitation.

Scénarios de surcharge du débogueur de capture instantanée

Le débogueur de capture instantanée est conçu pour être utilisé dans les environnements de production. Les paramètres par défaut incluent des limites de débit pour réduire l’impact sur vos applications.

Toutefois, vous pouvez rencontrer de petites surcharges de processeur, de mémoire et d’E/S associées au débogueur de capture instantanée, comme dans les scénarios suivants.

Lorsqu’une exception est levée dans votre application :

  • La création d’une signature pour le type de problème et la décision de créer un instantané ajoute une charge de processeur et de mémoire petite.

  • Si la désoptimisation est activée, il existe une surcharge pour effectuer un nouveau JIT sur la méthode qui a levé l’exception. Cette opération est engagée la prochaine fois que la méthode s’exécute. Selon la taille de la méthode, cela peut être compris entre 1 ms et 100 ms de temps processeur.

Si le gestionnaire d’exceptions décide de créer un instantané :

  • La création de l’instantané de processus prend environ une demi-seconde (P50 = 0,3 s, P90 = 1,2 s, P95 = 1,9 s) pendant laquelle le thread qui a levé l’exception est suspendu. Les autres threads ne sont pas bloqués.

  • La conversion de l’instantané de processus en minidump et son chargement dans Application Insights prend plusieurs minutes.

    • Conversion : P50 = 63 s, P90 = 187 s, P95 = 275 s.
    • Chargement : P50 = 31 s, P90 = 75 s, P95 = 98 s.

    Cela s’effectue dans le chargeur de capture instantanée, qui s’exécute dans un processus distinct. Le processus du chargeur de capture instantanée s’exécute en dessous de la priorité normale du processeur et utilise des E/S de basse priorité.

    Le minidump est d’abord écrit sur le disque et la quantité d’espace disque est approximativement identique au jeu de travail du processus d’origine. L’écriture du minidump peut provoquer des erreurs de page au fur et à mesure que la mémoire est lue.

    Le minidump est compressé pendant le chargement, ce qui consomme à la fois le processeur et la mémoire dans le processus du chargeur de capture instantanée. La surcharge du processeur, de la mémoire et du disque est proportionnelle à la taille de l’instantané du processus. Le chargeur de capture instantanée traite les instantanés en série.

Quand TrackException est appelé :

Le débogueur de capture instantanée vérifie si l’exception est nouvelle ou si un instantané a été créé pour celle-ci. Cela ajoute une petite surcharge du processeur.

Préversions de .NET Core

Si vous utilisez une préversion de .NET Core ou que votre application fait référence au Kit de développement logiciel (SDK) Application Insights, directement ou indirectement via un assembly dépendant, suivez les instructions pour activer Débogueur de capture instantanée pour d’autres environnements.

Vérifier la page d’état de l’extension de site Services de diagnostic

Si Débogueur de capture instantanée a été activé via le volet Application Insights du portail, il a été activé par l’extension de site Services de diagnostic.

Remarque

L’installation sans code du Débogueur de capture instantanée Application Insights suit la politique de support .NET Core. Pour plus d’informations sur les runtimes pris en charge, consultez Politique de support .NET Core.

Vous pouvez consulter la page d’état de cette extension en accédant à l’URL suivante : https://{site-name}.scm.azurewebsites.net/DiagnosticServices.

Remarque

Le domaine du lien de la page d’état varie en fonction du cloud.

Ce domaine est le même que le site de gestion Kudu pour App Service. Cette page d’état indique l’état d’installation des agents Profiler .NET et Snapshot Collector. En cas d’erreur inattendue, elle montre comment la corriger.

Vous pouvez utiliser le site de gestion Kudu pour App Service pour obtenir l’URL de base de cette page d’état :

  1. Ouvrez votre application App Service dans le portail Azure.
  2. Sélectionnez Outils avancés ou recherchez Kudu.
  3. Sélectionnez Go.
  4. Une fois que vous êtes sur le site de gestion Kudu, dans l’URL, ajoutez l’élément /DiagnosticServices, puis appuyez sur Entrée. Elle se termine comme suit : https://<kudu-url>/DiagnosticServices

Mettre à niveau vers la dernière version du package NuGet

En fonction de la façon dont Débogueur de capture instantanée a été activé, consultez les options suivantes :

  • Si le Débogueur de capture instantanée a été activé par le biais du volet Application Insights du portail, votre application doit déjà exécuter le dernier package NuGet.

  • Si le Débogueur de capture instantanée a été activé en incluant le package NuGet Microsoft.ApplicationInsights.SnapshotCollector, utilisez le Gestionnaire de package NuGet de Visual Studio pour vérifier que vous utilisez la dernière version de Microsoft.ApplicationInsights.SnapshotCollector.

Pour obtenir les mises à jour et correctifs de bogues les plus récents, consultez les notes de publication.

Vérifier les journaux d’activité du chargeur

Une fois une capture instantanée créée, un fichier minidump (.dmp) est créé sur le disque. Un processus distinct du chargeur crée ce fichier minidump et le charge, ainsi que tous les fichiers PDB associés, vers le stockage du Débogueur de capture instantanée d’Application Insights. Une fois le fichier minidump correctement chargé, il est supprimé du disque. Les fichiers journaux du processus de chargement sont conservés sur disque. Dans un environnement App Service, vous pouvez trouver ces fichiers journaux d’activité dans D:\Home\LogFiles. Le site de gestion Kudu pour App Service permet de rechercher ces fichiers journaux.

  1. Ouvrez votre application App Service dans le portail Azure.
  2. Sélectionnez Outils avancés ou recherchez Kudu.
  3. Sélectionnez Go.
  4. Dans la liste déroulante Console de débogage, sélectionnez CMD.
  5. Sélectionnez LogFiles.

Il devrait y avoir au moins un fichier dont le nom commence par Uploader_ ou SnapshotUploader_ et qui comporte l’extension .log. Sélectionnez l’icône appropriée pour télécharger tous les fichiers journaux ou les ouvrir dans un navigateur. Le nom de fichier comporte un suffixe unique qui identifie l’instance App Service. Si votre instance App Service est hébergée sur plusieurs machines, il existe des fichiers journaux distincts pour chacune d’elles. Lorsque le chargeur détecte la présence d’un nouveau fichier minidump, celui-ci est enregistré dans le fichier journal. Voici un exemple de capture instantanée et de chargement réussis :

SnapshotUploader.exe Information: 0 : Received Fork request ID <request-ID> from process <ID> (Low pri)
    DateTime=2018-03-09T01:42:41.8571711Z
SnapshotUploader.exe Information: 0 : Creating minidump from Fork request ID <request-ID> from process 6368 (Low pri)
    DateTime=2018-03-09T01:42:41.8571711Z
SnapshotUploader.exe Information: 0 : Dump placeholder file created: <request-ID>.dm_
    DateTime=2018-03-09T01:42:41.8728496Z
SnapshotUploader.exe Information: 0 : Dump available <request-ID>.dmp
    DateTime=2018-03-09T01:42:45.7525022Z
SnapshotUploader.exe Information: 0 : Successfully wrote minidump to D:\local\Temp\Dumps\<connection-string>\<request-ID>.dmp
    DateTime=2018-03-09T01:42:45.7681360Z
SnapshotUploader.exe Information: 0 : Uploading D:\local\Temp\Dumps\<connection-string>\<request-ID>.dmp, 214.42 MB (uncompressed)
    DateTime=2018-03-09T01:42:45.7681360Z
SnapshotUploader.exe Information: 0 : Upload successful. Compressed size 86.56 MB
    DateTime=2018-03-09T01:42:59.6184651Z
SnapshotUploader.exe Information: 0 : Extracting PDB info from D:\local\Temp\Dumps\<connection-string>\<request-ID>.dmp.
    DateTime=2018-03-09T01:42:59.6184651Z
SnapshotUploader.exe Information: 0 : Matched 2 PDB(s) with local files.
    DateTime=2018-03-09T01:42:59.6809606Z
SnapshotUploader.exe Information: 0 : Stamp does not want any of our matched PDBs.
    DateTime=2018-03-09T01:42:59.8059929Z
SnapshotUploader.exe Information: 0 : Deleted D:\local\Temp\Dumps\<connection-string>\<request-ID>.dmp
    DateTime=2018-03-09T01:42:59.8530649Z

Remarque

L’exemple précédent provient de la version 1.2.0 du package NuGet Microsoft.ApplicationInsights.SnapshotCollector. Dans les versions antérieures, le processus de chargement est appelé MinidumpUploader.exe et le journal est moins détaillé.

Dans l’exemple précédent, la chaîne de connexion doit correspondre à la chaîne de connexion de votre application. Le minidump est associé à un instantané portant l’ID de la requête. Vous pouvez utiliser cet ID ultérieurement pour Rechercher l’enregistrement d’exception associé dans Application Insights Analytics.

Le chargeur analyse les nouveaux fichiers PDB environ toutes les 15 minutes. Voici un exemple :

SnapshotUploader.exe Information: 0 : PDB rescan requested.
    DateTime=2018-03-09T01:47:19.4457768Z
SnapshotUploader.exe Information: 0 : Scanning D:\home\site\wwwroot for local PDBs.
    DateTime=2018-03-09T01:47:19.4457768Z
SnapshotUploader.exe Information: 0 : Local PDB scan complete. Found 2 PDB(s).
    DateTime=2018-03-09T01:47:19.4614027Z
SnapshotUploader.exe Information: 0 : Deleted PDB scan marker : D:\local\Temp\Dumps\<connection-string>\<process-ID>.pdbscan
    DateTime=2018-03-09T01:47:19.4614027Z

Pour les applications qui ne sont pas hébergées dans App Service, les journaux du chargeur se trouvent dans le même dossier que les minidumps : %TEMP%\Dumps\<string> (où <string> se trouve votre chaîne de connexion).

Résoudre les problèmes liés aux services cloud

Dans Cloud Services, le dossier temporaire par défaut peut être trop petit pour contenir les fichiers minidump, conduisant à des pertes d’instantanés. L’espace nécessaire varie selon le jeu de travail total de votre application et le nombre d’instantanés simultanés.

Le jeu de travail du rôle web ASP.NET 32 bits contient en général de 200 à 500 Mo. Autorisez au moins deux instantanés simultanés. Par exemple, si votre application utilise un jeu de travail de 1 Go au total, vous devez vous assurer qu’il y a au moins 2 Go d’espace disque pour stocker les instantanés.

Configurez votre rôle Service cloud avec une ressource locale dédiée pour les instantanés :

  1. Ajoutez une nouvelle ressource locale à votre service cloud en modifiant le fichier de définition (.csdef) du service cloud. L’exemple suivant définit une ressource appelée SnapshotStore avec une taille de 5 Go.

    <LocalResources>
        <LocalStorage name="SnapshotStore" cleanOnRoleRecycle="false" sizeInMB="5120" />
    </LocalResources>
    
  2. Modifiez le code de démarrage de votre rôle pour ajouter une variable d’environnement qui pointe vers la ressource locale SnapshotStore. Dans le cas des rôles de travail, le code doit être ajouté à la méthode OnStart du rôle :

    public override bool OnStart()
    {
        Environment.SetEnvironmentVariable("SNAPSHOTSTORE", RoleEnvironment.GetLocalResource("SnapshotStore").RootPath);
        return base.OnStart();
    }
    

    Dans le cas des rôles Web (ASP.NET), le code doit être ajouté à la méthode Application_Start de l’application web :

    using Microsoft.WindowsAzure.ServiceRuntime;
    using System;
    namespace MyWebRoleApp
    {
        public class MyMvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                Environment.SetEnvironmentVariable("SNAPSHOTSTORE", RoleEnvironment.GetLocalResource("SnapshotStore").RootPath);
                // TODO: The rest of your application startup code
            }
        }
    }
    
  3. Mettez à jour le fichier ApplicationInsights.config de votre rôle pour remplacer l’emplacement de dossier temporaire utilisé par SnapshotCollector

    <TelemetryProcessors>
        <Add Type="Microsoft.ApplicationInsights.SnapshotCollector.SnapshotCollectorTelemetryProcessor, Microsoft.ApplicationInsights.SnapshotCollector">
            <!-- Use the SnapshotStore local resource for snapshots -->
            <TempFolder>%SNAPSHOTSTORE%</TempFolder>
            <!-- Other SnapshotCollector configuration options -->
        </Add>
    </TelemetryProcessors>
    

Remplacement du dossier des clichés instantanés

Lorsque le collecteur de captures instantanées démarre, il essaie de rechercher un dossier sur le disque convenant pour l’exécution du processus du chargeur des captures instantanées. Le dossier choisi est appelé dossier des clichés instantanés.

Le collecteur de captures instantanées vérifie quelques emplacements connus, en s’assurant qu’il dispose des autorisations pour copier les fichiers binaires du chargeur des captures instantanées. Les variables d'environnement suivantes sont utilisées :

  • Fabric_Folder_App_Temp
  • LOCALAPPDATA
  • APPDATA
  • TEMP

Si aucun dossier approprié n’est trouvé, Snapshot Collector signale une erreur avec le message « Impossible de trouver un dossier approprié de captures instantanées. »

Si la copie échoue, le collecteur de captures instantanées indique une erreur ShadowCopyFailed.

Si le chargeur ne peut pas être lancé, le collecteur de captures instantanées indique une erreur UploaderCannotStartFromShadowCopy. Le corps du message comprend souvent System.UnauthorizedAccessException. Cette erreur se produit généralement lorsque l’application est exécutée avec un compte disposant d’autorisations réduites. Le compte a l’autorisation d’écrire dans le dossier des clichés instantanés, mais il n’est pas autorisé à exécuter du code.

Étant donné que ces erreurs se produisent généralement lors du démarrage, elles sont généralement suivies d’une erreur ExceptionDuringConnect indiquant Échec du démarrage du chargeur.

Pour contourner ces erreurs, vous pouvez spécifier manuellement le dossier des clichés instantanés avec l’option de configuration ShadowCopyFolder. Par exemple, en utilisant ApplicationInsights.config :

<TelemetryProcessors>
    <Add Type="Microsoft.ApplicationInsights.SnapshotCollector.SnapshotCollectorTelemetryProcessor, Microsoft.ApplicationInsights.SnapshotCollector">
        <!-- Override the default shadow copy folder. -->
        <ShadowCopyFolder>D:\SnapshotUploader</ShadowCopyFolder>
        <!-- Other SnapshotCollector configuration options -->
    </Add>
</TelemetryProcessors>

Ou bien, si vous utilisez appsettings.json avec une application .NET Core :

{
    "ApplicationInsights": {
        "ConnectionString": "<your connection string>"
    },
    "SnapshotCollectorConfiguration": {
        "ShadowCopyFolder": "D:\\SnapshotUploader"
    }
}

Utilisez une recherche Application Insights pour trouver des exceptions avec des captures instantanées

Quand un instantané est créé, l’exception levée est marquée avec un ID d’instantané. Cet ID d’instantané est inclus en tant que propriété personnalisée lorsque l’exception est signalée à Application Insights. La fonction Rechercher dans Application Insights vous permet de trouver tous les enregistrements ayant la propriété personnalisée ai.snapshot.id.

  1. Parcourez votre ressource Application Insights dans le portail Azure.
  2. Sélectionnez Recherche.
  3. Tapez ai.snapshot.id dans la zone de texte Rechercher, puis appuyez sur Entrée.

Capture d’écran montrant la recherche de la télémétrie avec un ID de capture dans le portail.

Si cette recherche ne retourne aucun résultat, cela signifie qu’aucun instantané n’a été signalé à Application Insights dans l’intervalle de temps sélectionné.

Pour rechercher un ID d’instantané spécifique dans les fichiers journaux d’activité du chargeur, tapez cet ID dans la zone de recherche. Si vous ne trouvez aucun enregistrement d’une capture instantanée dont vous savez qu’elle a été chargée, procédez comme suit :

  1. Vérifiez deux fois que vous examinez la ressource Application Insights appropriée en vérifiant la chaîne de connexion.

  2. À l’aide de l’horodateur du fichier journal du chargeur, ajustez le filtre Intervalle de temps de la recherche pour couvrir cet intervalle.

Si vous ne voyez toujours pas d’exception avec cet ID d’instantané, cela signifie que l’enregistrement de l’exception n’a pas été signalé à Application Insights. Cette situation peut se produire si votre application s’est arrêtée anormalement après avoir pris la capture instantanée, mais avant d’avoir signalé l’enregistrement de l’exception. Dans ce cas, vérifiez les journaux d’activité d’App Service sous Diagnose and solve problems pour voir si des redémarrages intempestifs ou des exceptions non prises en charge se sont produits.

Modifier les règles de pare-feu ou de proxy réseau

Si votre application se connecte à Internet via un proxy ou un pare-feu, il se peut que vous deviez mettre à jour les règles pour communiquer avec le service Débogueur de capture instantanée.

Les adresses IP utilisées par Débogueur de capture instantanée Application Insights sont incluses dans l’étiquette de service Azure Monitor. Pour plus d’informations, consultez Documentation relative aux étiquettes de service.

Y a-t-il des coûts de facturation liés à l’utilisation des instantanés ?

Il n’y a pas de frais pour votre abonnement spécifique au débogueur de capture instantanée. Les fichiers de capture instantanée collectés sont stockés séparément des données de télémétrie collectées par les kits de développement logiciel (SDK) Application Insights et aucuns frais n’est facturé pour l’ingestion ou le stockage de capture instantanée.

Résoudre les problèmes liés à « apporter votre propre stockage » (BYOS)

Résolvez des problèmes courants dans la configuration de BYOS.

Scénario : Template schema '{schema_uri}' isn't supported

Vous avec reçu une erreur similaire à l’exemple suivant :

New-AzResourceGroupDeployment : 11:53:49 AM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'Template schema
'https://schema.management.azure.com/schemas/2020-01-01/deploymentTemplate.json#' is not supported. Supported versions are
'2014-04-01-preview,2015-01-01,2018-05-01,2019-04-01,2019-08-01'. Please see https://aka.ms/arm-template for usage details.'.

Les solutions

  • Assurez-vous que la propriété $schema du modèle est valide. Il doit suivre ce modèle :

    https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
    
  • Assurez-vous que la schema_version du modèle est comprise dans les valeurs valides : 2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01.

Scénario : No registered resource provider found for location '{location}'

Vous avec reçu une erreur similaire à l’exemple suivant :

New-AzResourceGroupDeployment : 6:18:03 PM - Resource microsoft.insights/components 'byos-test-westus2-ai' failed with message '{
  "error": {
    "code": "NoRegisteredProviderFound",
    "message": "No registered resource provider found for location 'westus2' and API version '2020-03-01-preview' for type 'components'. The supported api-versions are '2014-04-01,
2014-08-01, 2014-12-01-preview, 2015-05-01, 2018-05-01-preview'. The supported locations are ', eastus, southcentralus, northeurope, westeurope, southeastasia, westus2, uksouth,
canadacentral, centralindia, japaneast, australiaeast, koreacentral, francecentral, centralus, eastus2, eastasia, westus, southafricanorth, northcentralus, brazilsouth, switzerlandnorth,
australiasoutheast'."
  }
}'

Les solutions

  • Assurez-vous que la apiVersion de la ressource microsoft.insights/components est 2015-05-01.
  • Assurez-vous que la apiVersion de la ressource linkedStorageAccount est 2020-03-01-preview.

Scénario : Storage account location should match Application Insights component location

Vous avec reçu une erreur similaire à l’exemple suivant :

New-AzResourceGroupDeployment : 1:01:12 PM - Resource microsoft.insights/components/linkedStorageAccounts 'byos-test-centralus-ai/serviceprofiler' failed with message '{
  "error": {
    "code": "BadRequest",
    "message": "Storage account location should match AI component location",
    "innererror": {
      "trace": [
        "System.ArgumentException"
      ]
    }
  }
}'

Solution

Veillez à ce que l’emplacement de la ressource Application Insights soit le même que celui du compte de stockage.