Configurar o BYOS para o Application Insights Profiler e o Depurador de Instantâneo

Quando você usa o Application Insights Profiler ou o Depurador de Instantâneo, os artefatos gerados pelo seu aplicativo são carregados por padrão nas contas do Armazenamento do Azure pela Internet pública. Para esses artefatos e contas de armazenamento, a Microsoft controla e cobre o custo de:

  • Processamento e análise.
  • Políticas de criptografia em repouso e gerenciamento de tempo de vida.

Enquanto isso, quando você configura sua própria conta de armazenamento (BYOS), os artefatos são carregados em uma conta de armazenamento que só você controla e cobre o custo de:

  • A política de criptografia em repouso e a política de gerenciamento de tempo de vida.
  • Acesso à rede.

Nota

O BYOS é necessário se você estiver habilitando o Azure Private Link ou chaves gerenciadas pelo cliente.

Neste guia, ficará a saber como:

  • Conceda aos Serviços de Diagnóstico acesso à sua conta de armazenamento.
  • Vincule sua conta de armazenamento ao recurso do Application Insights.
  • Saiba como sua conta de armazenamento é acessada.

Pré-requisitos

  • Verifique se você criou sua conta de armazenamento no mesmo local do recurso do Application Insights.
  • Se tiver ativado a Ligação Privada, permita a ligação ao nosso Serviço Microsoft Fidedigno a partir da sua rede virtual.

Conceder acesso aos Serviços de Diagnóstico à sua conta de armazenamento

Uma conta de armazenamento BYOS está vinculada a um recurso do Application Insights. Comece concedendo a Storage Blob Data Contributor função ao aplicativo Microsoft Entra nomeado Diagnostic Services Trusted Storage Access por meio da página Controle de Acesso (IAM) em sua conta de armazenamento.

  1. Selecione Controlo de acesso (IAM) .

  2. Selecione Adicionar atribuição de função para abrir a página Adicionar>atribuição de função.

  3. Atribua a seguinte função.

    Definição Valor
    Função Contribuidor de Dados de Blobs de Armazenamento
    Atribuir acesso a Usuário, grupo ou entidade de serviço
    Membros Acesso confiável ao armazenamento de serviços de diagnóstico

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

    Uma vez atribuída, você pode ver a função na seção Atribuições de função. Screenshot that shows the IAM screen after Role assignments.

Nota

Se você também estiver usando o Private Link, mais uma configuração será necessária para permitir a conexão com nosso Serviço Microsoft Confiável a partir de sua rede virtual. Para obter mais informações, consulte Documentação de segurança da rede de armazenamento.

Você tem três opções para configurar o BYOS para diagnósticos no nível de código, como o Profiler e o Depurador de Instantâneo:

  • Cmdlets do Azure PowerShell
  • A CLI do Azure
  • Modelos do Azure Resource Manager

Antes de começar, instale o Azure PowerShell 4.2.0 ou superior.

  1. Instale a extensão PowerShell do Application Insights.

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. Entre com sua assinatura de conta do Azure.

    Connect-AzAccount -Subscription "{subscription_id}"
    

    Para obter mais informações sobre como entrar, consulte a documentação do Connect-AzAccount.

  3. Remova qualquer conta de armazenamento anterior vinculada ao seu recurso do Application Insights.

    Padrão:

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

    Exemplo:

    Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
    
  4. Conecte sua conta de armazenamento ao recurso do Application Insights.

    Padrão:

    $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
    

    Exemplo:

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

Resolução de problemas

Esta seção oferece dicas de solução de problemas para problemas comuns na configuração do BYOS.

Cenário: O esquema de modelo '{schema_uri}' não é suportado

Você recebeu um erro semelhante ao exemplo a seguir:

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

Soluções

  • Certifique-se de que a $schema propriedade do modelo é válida. Deve seguir este padrão:

    https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
    
  • Certifique-se de que o schema_version do modelo está dentro dos valores válidos: 2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01.

Cenário: Nenhum provedor de recursos registrado encontrado para o local '{location}'

Você recebeu um erro semelhante ao exemplo a seguir:

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

Soluções

  • Certifique-se de que o apiVersion do recurso microsoft.insights/components é 2015-05-01.
  • Certifique-se de que o apiVersion do recurso linkedStorageAccount é 2020-03-01-preview.

Cenário: o local da conta de armazenamento deve corresponder ao local do componente do Application Insights

Você recebeu um erro semelhante ao exemplo a seguir:

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

Solução

Verifique se o local do recurso do Application Insights é o mesmo da conta de armazenamento.

Perguntas mais frequentes

Esta seção fornece respostas a perguntas comuns sobre como configurar o BYOS para Profiler e Snapshot Debugger.

Se eu tiver ativado o Profiler/Snapshot Debugger e o BYOS, meus dados serão migrados para minha conta de armazenamento?

Não, não vai.

O BYOS funciona com criptografia em repouso e chaves gerenciadas pelo cliente?

Sim. Para ser mais preciso, o BYOS é um requisito para ter o Profiler/Snapshot Debugger habilitado com chaves do gerenciador do cliente.

O BYOS funciona em um ambiente isolado da internet?

Sim. O BYOS é um requisito para cenários de rede isolados.

Sim, é possível.

Se eu tiver ativado o BYOS, posso voltar a usar contas de armazenamento dos Serviços de Diagnóstico para armazenar meus dados coletados?

Sim, você pode, mas atualmente não suportamos a migração de dados do seu BYOS.

Sim.

Como é acedida a minha conta de armazenamento?

  1. Os agentes em execução em suas máquinas virtuais ou no Serviço de Aplicativo do Azure carregam artefatos (perfis, instantâneos e símbolos) para contêineres de blob em sua conta.

    Esse processo envolve entrar em contato com o Profiler ou o Depurador de Instantâneo para obter um token de assinatura de acesso compartilhado para um novo blob em sua conta de armazenamento.

  2. Criador de perfil ou depurador de instantâneo:

    • Analisa o blob de entrada.
    • Escreva os resultados da análise e os arquivos de log no armazenamento de blobs.

    Dependendo da capacidade de computação disponível, esse processo pode ocorrer a qualquer momento após o upload.

  3. Quando você visualiza rastreamentos do Profiler ou análise do Depurador de Instantâneo, o serviço busca os resultados da análise do armazenamento de blobs.

Próximos passos