Konfigurieren von BYOS für Application Insights Profiler for .NET und Momentaufnahmedebugger
Wenn Sie Application Insights Profiler for .NET 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 Ihre BYOS-Artefakte (Bring Your Own Storage) in ein Speicherkonto hochgeladen werden, das nur Sie steuern und bei dem nur Sie die Kosten abdecken:
- 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
- Stellen Sie sicher, dass Sie Ihr Speicherkonto an demselben Ort erstellt haben wie Ihre Application Insights-Ressource.
- 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.
Wählen Sie Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.
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) Nach der Zuweisung wird die Rolle im Abschnitt Rollenzuweisungen angezeigt.
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.
Verknüpfen des Speicherkontos mit der Application Insights-Ressource
Sie haben drei Optionen zum Konfigurieren von BYOS für Diagnose auf Codeebene wie Profiler for .NET 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.
Installieren Sie die PowerShell-Erweiterung Application Insights.
Install-Module -Name Az.ApplicationInsights -Force
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.
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
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
Behandeln Sie allgemeine Probleme bei der Konfiguration von BYOS.
- Allgemeine Informationen zur Problembehandlung für .NET Profiler finden Sie in der Dokumentation zur Problembehandlung für Profiler.
- Allgemeine Informationen zur Problembehandlung für Momentaufnahme-Debugger finden Sie in der Dokumentation zur Problembehandlung für Momentaufnahme-Debugger.
Szenario: Das Vorlagenschema '{schema_uri}' wird nicht unterstützt
Sie haben einen Fehler ähnlich wie im 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 wie im 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 Ressourcemicrosoft.insights/components
den Wert2015-05-01
aufweist. - Vergewissern Sie sich, dass die
apiVersion
der RessourcelinkedStorageAccount
den Wert2020-03-01-preview
aufweist.
Szenario: Speicherort des Speicherkontos muss mit dem Application Insights-Komponentenspeicherort übereinstimmen
Sie haben einen Fehler ähnlich wie im 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 .NET Profiler und Momentaufnahmedebugger.
Wenn ich den .NET 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 den .NET Profiler/Momentaufnahmedebugger 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.
Funktioniert BYOS, wenn sowohl kundenseitig verwaltete Schlüssel als auch Private Link aktiviert sind?
Ja, das ist möglich.
Kann ich zum Speichern meiner gesammelten Daten wieder die Speicherkonten der Diagnosedienste verwenden, auch wenn ich BYOS aktiviert habe?
Ja, das können Sie, aber wir unterstützen derzeit keine Datenmigration von Ihrem BYOS.
Übernehme ich nach der Aktivierung von BYOS alle mit dem Speicher und Netzwerk verbundenen Kosten?
Ja.
Wie erfolgt der Zugriff auf mein Speicherkonto?
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 vom .NET Profiler oder Momentaufnahmedebugger ein Shared Access Signature(SAS)-Token für ein neues BLOB in Ihrem Speicherkonto abgerufen.
Der .NET 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.
Wenn Sie die Profiler-Ablaufverfolgungen oder Momentaufnahme-Debugger-Analysen aufrufen, ruft der Dienst die Analyseergebnisse aus dem BLOB-Speicher ab.
Nächste Schritte
- Weitere Informationen zu Application Insights Profiler for .NET
- Weitere Informationen zum Momentaufnahmedebugger