Konfigurieren von BYOS für Application Insights Profiler und Momentaufnahme-Debugger

Wenn Sie Application Insights Profiler oder Momentaufnahmedebugger verwenden, werden von Ihrer Anwendung generierte Artefakte standardmäßig über das öffentliche Internet in Azure Storage-Konten hochgeladen. Für diese Artefakte und Speicherkonten kontrolliert und übernimmt Microsoft die Kosten für Folgendes:

  • Verarbeitung und Analyse
  • Richtlinien zur Verschlüsselung von ruhenden Daten und zur Verwaltung der Lebensdauer

Wenn Sie Ihr eigenes Speicherkonto (BYOS) konfigurieren, werden Artefakte in ein Speicherkonto hochgeladen, das nur Sie steuern und das folgende Kosten abdeckt:

  • Richtlinie zur Verschlüsselung von ruhenden Daten und Richtlinie zur Verwaltung der Lebensdauer
  • Netzwerkzugriff.

Hinweis

BYOS ist erforderlich, wenn Sie Azure Private Link oder kundenseitig verwaltete Schlüssel aktivieren.

In diesem Artikel lernen Sie Folgendes:

  • Gewähren Sie Diagnosediensten den Zugriff auf Ihr Speicherkonto.
  • Verknüpfen Sie das Speicherkonto mit der Application Insights-Ressource.
  • Erfahren Sie, wie auf Ihr Speicherkonto zugegriffen wird.

Voraussetzungen

  • Überprüfen Sie, ob Sie Ihr Speicherkonto an dem Ort erstellt haben, an dem sich Ihre Application Insights-Ressource befindet.
  • Wenn Sie Private Link aktiviert haben, gestatten Sie die Verbindung mit unserem vertrauenswürdigen Microsoft-Dienst von Ihrem virtuellen Netzwerk aus.

Gewähren des Zugriffs auf Ihr Speicherkonto für Diagnosedienste

Ein BYOS-Speicherkonto wird mit einer Application Insights Ressource verknüpft. Erteilen Sie zunächst die Rolle Storage Blob Data Contributor der Microsoft Entra-Anwendung mit dem Namen Diagnostic Services Trusted Storage Access über die Seite Zugriffssteuerung (IAM) in Ihrem Speicherkonto.

  1. Wählen Sie Zugriffssteuerung (IAM) aus.

  2. Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.

  3. Weisen Sie die folgende Rolle zu.

    Einstellung Wert
    Role Mitwirkender an Storage-Blobdaten
    Zugriff zuweisen zu Benutzer, Gruppe oder Dienstprinzipal
    Member Diagnostic Services Trusted Storage Access (Diagnosedienste für vertrauenswürdigen Speicherzugriff)

    Screenshot that shows the Add role assignment page in the Azure portal.

    Nach der Zuweisung wird die Rolle im Abschnitt Rollenzuweisungen angezeigt. Screenshot that shows the IAM screen after Role assignments.

Hinweis

Wenn Sie auch Private Link verwenden, ist ein weiterer Konfigurationsschritt erforderlich, um eine Verbindung mit unserem vertrauenswürdigen Microsoft-Dienst über Ihr virtuelles Netzwerk zuzulassen. Weitere Informationen finden Sie in der Dokumentation zur Sicherheit des Speichernetzwerks.

Sie haben drei Optionen zum Konfigurieren von BYOS für Diagnose auf Codeebene wie Profiler und Momentaufnahmedebugger:

  • Azure PowerShell-Cmdlets
  • Die Azure CLI
  • Azure-Ressourcen-Manager-Vorlagen

Bevor Sie beginnen, installieren Sie Azure PowerShell 4.2.0 oder höher.

  1. Installieren Sie die PowerShell-Erweiterung Application Insights.

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. Melden Sie sich mit Ihrem Azure-Kontoabonnement an.

    Connect-AzAccount -Subscription "{subscription_id}"
    

    Weitere Informationen zur Anmeldung finden Sie in der Dokumentation zu Connect-AzAccount.

  3. Entfernen Sie alle vorherigen Speicherkonten, die mit Ihrer Application Insights-Ressource verknüpft sind.

    Muster:

    Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | Remove-AzApplicationInsightsLinkedStorageAccount
    

    Beispiel:

    Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
    
  4. Verbinden Sie Ihr Speicherkonto mit Ihrer Application Insights-Ressource.

    Muster:

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{storage_account_name}"
    Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | New-AzApplicationInsightsLinkedStorageAccount -LinkedStorageAccountResourceId $storageAccount.Id
    

    Beispiel:

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "byos-test" -Name "byosteststoragewestus2"
    Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | New-AzApplicationInsightsLinkedStorageAccount -LinkedStorageAccountResourceId $storageAccount.Id
    

Problembehandlung

Dieser Abschnitt bietet Tipps zur Behandlung häufiger Probleme beim Konfigurieren von BYOS.

Szenario: Das Vorlagenschema '{schema_uri}' wird nicht unterstützt

Sie haben einen Fehler ähnlich dem folgenden Beispiel erhalten:

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.'.

Lösungen

  • Stellen Sie sicher, dass die Eigenschaft $schema der Vorlage gültig ist. Er muss diesem Muster entsprechen:

    https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
    
  • Vergewissern Sie sich, dass sich die schema_version der Vorlage innerhalb der gültigen Werte befindet: 2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01.

Szenario: Für den Ort '{location}' wurde kein registrierter Ressourcenanbieter gefunden

Sie haben einen Fehler ähnlich dem folgenden Beispiel erhalten:

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'."
  }
}'

Lösungen

  • Vergewissern Sie sich, dass die apiVersion der Ressource microsoft.insights/components den Wert 2015-05-01 aufweist.
  • Vergewissern Sie sich, dass die apiVersion der Ressource linkedStorageAccount den Wert 2020-03-01-preview aufweist.

Szenario: Speicherort des Speicherkontos muss mit dem Application Insights-Komponentenspeicherort übereinstimmen

Sie haben einen Fehler ähnlich dem folgenden Beispiel erhalten:

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"
      ]
    }
  }
}'

Lösung

Stellen Sie sicher, dass der Ort der Application Insights-Ressource mit dem des Speicherkontos identisch ist.

Häufig gestellte Fragen

Dieser Abschnitt enthält Antworten auf häufig gestellte Fragen zum Konfigurieren von BYOS für Profiler und Momentaufnahmedebugger.

Wenn ich Profiler/Momentaufnahmedebugger und BYOS aktiviert habe, werden meine Daten dann in mein Speicherkonto migriert?

Nein, das ist nicht der Fall.

Funktioniert BYOS zusammen mit der Verschlüsselung ruhender Daten und einem kundenseitig verwalteten Schlüssel?

Ja. Um genau zu sein, ist BYOS erforderlich, um Profiler/Momentaufnahme-Debugger mit kundenseitig verwalteten Schlüsseln zu aktivieren.

Funktioniert BYOS in einer Umgebung, die vom Internet isoliert ist?

Ja. BYOS ist für Szenarien mit isoliertem Netzwerk erforderlich.

Ja, das ist möglich.

Kann ich zum Speichern meiner gesammelten Daten wieder die Speicherkonten der Diagnosedienste verwenden, auch wenn BYOS aktiviert ist?

Ja, das können Sie, aber wir unterstützen derzeit keine Datenmigration von Ihrem BYOS.

Ja.

Wie erfolgt der Zugriff auf mein Speicherkonto?

  1. Agents, die auf Ihren virtuellen Computern oder in Azure App Service ausgeführt werden, laden Artefakte (Profile, Momentaufnahmen und Symbole) in BLOB-Container in Ihrem Konto hoch.

    Dabei wird von Profiler oder Momentaufnahme-Debugger ein Shared Access Signature(SAS)-Token für ein neues BLOB in Ihrem Speicherkonto abgerufen.

  2. Profiler oder Momentaufnahmedebugger:

    • Analysiert das eingehe Blob.
    • Die Analyseergebnisse und Protokolldateien in einen Blobspeicher zurückschreiben.

    In Abhängigkeit von der verfügbaren Compute-Kapazität kann dieser Vorgang jederzeit nach dem Hochladen erfolgen.

  3. Wenn Sie die Profiler-Ablaufverfolgungen oder Momentaufnahme-Debugger-Analysen aufrufen, ruft der Dienst die Analyseergebnisse aus dem BLOB-Speicher ab.

Nächste Schritte