Udostępnij za pośrednictwem


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.

  1. Wybierz pozycję Kontrola dostępu (IAM).

  2. Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.

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

    Zrzut ekranu przedstawiający stronę przypisania roli w witrynie Azure Portal.

    Po przypisaniu możesz zobaczyć rolę w sekcji Przypisania ról. Zrzut ekranu przedstawiający ekran zarządzanie dostępem i tożsamościami po przypisaniu 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.

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.

  1. Zainstaluj rozszerzenie programu PowerShell usługi Application Insights.

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. 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.

  3. 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
    
  4. 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.

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.

Tak.

Jak uzyskiwany jest dostęp do mojego konta magazynu?

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

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

  3. Podczas wyświetlania śladów profilera lub analizy debugera migawek usługa pobiera wyniki analizy z magazynu obiektów blob.

Następne kroki