Konfigurowanie programu BYOS dla profilera usługi Application Insights dla platformy .NET i debugera migawek
W przypadku korzystania z profilera usługi Application Insights dla platformy .NET lub debugera migawek artefakty generowane przez aplikację są domyślnie przekazywane do kont usługi Azure Storage za pośrednictwem publicznego Internetu. W przypadku tych artefaktów i kont magazynu firma Microsoft kontroluje i obejmuje koszt:
- Przetwarzanie i analiza.
- Zasady zarządzania magazynem i okresem istnienia szyfrowania.
W międzyczasie, gdy "bring your own storage" (BYOS) artefakty są przekazywane na konto magazynu, które kontrolujesz i pokrywa koszt:
- Zasady szyfrowania w spoczynku i zasady zarządzania okresem istnienia.
- Dostęp do sieci.
Uwaga
Usługa BYOS jest wymagana, jeśli włączasz usługę Azure Private Link lub klucze zarządzane przez klienta.
Niniejszy przewodnik zawiera informacje na temat wykonywania następujących czynności:
- Udziel usług diagnostycznych dostępu do konta magazynu.
- Połącz konto magazynu z zasobem usługi Application Insights.
- Dowiedz się, jak uzyskiwać dostęp do konta magazynu.
Wymagania wstępne
- Sprawdź, czy konto magazynu zostało utworzone w tej samej lokalizacji co zasób usługi Application Insights.
- Jeśli włączono usługę Private Link, zezwól na połączenie z naszą zaufaną usługą firmy Microsoft z twojej sieci wirtualnej.
Udzielanie usług diagnostycznych dostępu do konta magazynu
Konto magazynu BYOS jest połączone z zasobem usługi Application Insights. Zacznij od przyznania Storage Blob Data Contributor
roli aplikacji Microsoft Entra o nazwie Diagnostic Services Trusted Storage Access
za pośrednictwem strony Kontrola dostępu (IAM) na koncie magazynu.
Wybierz pozycję Kontrola dostępu (IAM).
Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.
Przypisz następującą rolę.
Ustawienie Wartość Rola Współautor danych w usłudze Blob Storage Przypisz dostęp do Użytkownik, grupa lub jednostka usługi Elementy członkowskie Dostęp do zaufanego magazynu usług diagnostycznych Po przypisaniu możesz zobaczyć rolę w sekcji Przypisania ról.
Uwaga
Jeśli używasz usługi Private Link, wymagana jest jeszcze jedna konfiguracja umożliwiająca połączenie z naszą zaufaną usługą firmy Microsoft z sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Dokumentację zabezpieczeń sieci usługi Storage.
Łączenie konta magazynu z zasobem usługi Application Insights
Dostępne są trzy opcje konfigurowania funkcji BYOS na potrzeby diagnostyki na poziomie kodu, takiej jak program .NET Profiler i debuger migawek:
- Polecenia cmdlet programu Azure PowerShell
- Interfejs wiersza polecenia platformy Azure
- Szablony usługi Azure Resource Manager
Przed rozpoczęciem zainstaluj program Azure PowerShell w wersji 4.2.0 lub nowszej.
Zainstaluj rozszerzenie programu PowerShell usługi Application Insights.
Install-Module -Name Az.ApplicationInsights -Force
Zaloguj się przy użyciu subskrypcji konta platformy Azure.
Connect-AzAccount -Subscription "{subscription_id}"
Aby uzyskać więcej informacji na temat logowania, zobacz dokumentację Connect-AzAccount.
Usuń wszystkie poprzednie konto magazynu połączone z zasobem usługi Application Insights.
Wzorzec:
Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | Remove-AzApplicationInsightsLinkedStorageAccount
Przykład:
Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
Połącz konto magazynu z zasobem usługi Application Insights.
Wzorzec:
$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
Przykład:
$storageAccount = Get-AzStorageAccount -ResourceGroupName "byos-test" -Name "byosteststoragewestus2" Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | New-AzApplicationInsightsLinkedStorageAccount -LinkedStorageAccountResourceId $storageAccount.Id
Rozwiązywanie problemów
Rozwiązywanie typowych problemów z konfigurowaniem rozwiązania BYOS.
- Ogólne rozwiązywanie problemów z profilerem platformy .NET można znaleźć w dokumentacji rozwiązywania problemów z profilerem.
- Ogólne rozwiązywanie problemów z debugerem migawek można znaleźć w dokumentacji rozwiązywania problemów z debugerem migawek.
Scenariusz: schemat szablonu "{schema_uri}" nie jest obsługiwany
Wystąpił błąd podobny do następującego przykładu:
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.'.
Rozwiązania
Upewnij się, że
$schema
właściwość szablonu jest prawidłowa. Musi ona być zgodna z tym wzorcem:https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
Upewnij się, że szablon
schema_version
znajduje się w prawidłowych wartościach:2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01
.
Scenariusz: nie znaleziono zarejestrowanego dostawcy zasobów dla lokalizacji "{location}"
Wystąpił błąd podobny do następującego przykładu:
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'."
}
}'
Rozwiązania
- Upewnij się, że zasób
apiVersion
microsoft.insights/components
ma wartość2015-05-01
. - Upewnij się, że zasób
apiVersion
linkedStorageAccount
ma wartość2020-03-01-preview
.
Scenariusz: lokalizacja konta magazynu powinna być zgodna z lokalizacją składnika usługi Application Insights
Wystąpił błąd podobny do następującego przykładu:
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"
]
}
}
}'
Rozwiązanie
Upewnij się, że lokalizacja zasobu usługi Application Insights jest taka sama jak konto magazynu.
Często zadawane pytania
Ta sekcja zawiera odpowiedzi na często zadawane pytania dotyczące konfigurowania programu BYOS dla programu .NET Profiler i debugera migawek.
Czy jeśli włączono program .NET Profiler/Snapshot Debugger i BYOS, czy moje dane są migrowane na moje konto magazynu?
Nie, to nie będzie.
Czy usługa BYOS działa z kluczami magazynowymi i zarządzanymi przez klienta?
Tak. Aby być precyzyjnym, usługa BYOS wymaga włączenia narzędzia .NET Profiler/Snapshot Debugger z kluczami menedżera klienta.
Czy usługa BYOS działa w środowisku odizolowanym od Internetu?
Tak. Usługa BYOS jest wymagana w scenariuszach sieci izolowanych.
Czy usługa BYOS działa zarówno z kluczami zarządzanymi przez klienta, jak i z włączonym usługą Private Link?
Tak, jest to możliwe.
Jeśli włączono funkcję BYOS, czy mogę wrócić do korzystania z kont magazynu usług diagnostycznych w celu przechowywania zebranych danych?
Tak, możesz, ale obecnie nie obsługujemy migracji danych z usługi BYOS.
Czy po włączeniu usługi BYOS przejmę wszystkie powiązane koszty magazynowania i sieci?
Tak.
Jak uzyskiwany jest dostęp do mojego konta magazynu?
Agenci działający na maszynach wirtualnych lub w usłudze aplikacja systemu Azure Service przekazują artefakty (profile, migawki i symbole) do kontenerów obiektów blob na koncie.
Ten proces obejmuje skontaktowanie się z programem .NET Profiler lub Snapshot Debugger w celu uzyskania tokenu sygnatury dostępu współdzielonego do nowego obiektu blob na koncie magazynu.
Profiler platformy .NET lub debuger migawek:
- Analizuje przychodzący obiekt blob.
- Zapisz wyniki analizy i pliki dziennika w magazynie obiektów blob.
W zależności od dostępnej pojemności obliczeniowej ten proces może wystąpić w dowolnym momencie po przekazaniu.
Podczas wyświetlania śladów profilera lub analizy debugera migawek usługa pobiera wyniki analizy z magazynu obiektów blob.