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

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

  • Processamento e análise.
  • Criptografia em repouso e políticas de 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 apenas você controla e cobre o custo de:

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

Observação

O BYOS será necessário se você estiver habilitando o Link Privado do Azure ou chaves gerenciadas pelo cliente.

Neste guia, você aprenderá a:

  • Conceder acesso aos Serviços de Diagnóstico à sua conta de armazenamento.
  • Vincular sua conta de armazenamento com o recurso do Application Insights.
  • Saiba como sua conta de armazenamento é acessada.

Pré-requisitos

  • Verifique se você criou sua conta de armazenamento na mesma localização que o recurso do Application Insights.
  • Se você habilitou o Link Privado, permita a conexão da sua rede virtual com o Serviço Confiável da Microsoft.

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

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

  1. Selecione IAM (Controle de acesso) .

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

  3. Atribua a função a seguir.

    Configuração Valor
    Função Colaborador de dados de blob de armazenamento
    Atribuir acesso a Usuário, grupo ou entidade de serviço
    Membros Acesso confiável ao armazenamento dos serviços de diagnóstico

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

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

Observação

Se você também estiver usando o Link Privado, será necessária uma configuração adicional para permitir a conexão com o nosso Serviço Confiável da Microsoft de sua Rede Virtual. ou para obter mais informações, confira a Documentação de segurança de rede de armazenamento.

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

  • 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 do PowerShell para Application Insights.

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. Entre com as subscrição da conta do Azure.

    Connect-AzAccount -Subscription "{subscription_id}"
    

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

  3. Remova qualquer conta de armazenamento anterior vinculada ao 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. Conectar qualquer conta de armazenamento com o 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
    

Solução de problemas

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

Cenário: não há suporte para o esquema de modelo '{schema_uri}'

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

  • Verifique se a propriedade $schema do modelo é válida. Ele deve seguir esse padrão:

    https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
    
  • Verifique se 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 foi encontrado para a localização '{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

  • Verifique se o apiVersion do recurso microsoft.insights/components é 2015-05-01.
  • Verifique se 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

A localização do recurso do Application Insights deve ser a mesma que a da conta de armazenamento.

Perguntas frequentes

Esta seção fornece respostas para perguntas comuns sobre como configurar o BYOS para o Profiler e o Depurador de Instantâneos.

Se eu habilitar o Profiler ou o Depurador de Instantâneos e depois habilitar o BYOS, meus dados serão migrados para minha conta de armazenamento?

Não.

O BYOS funciona com criptografia em repouso e chave gerenciada pelo cliente?

Sim. Para ser preciso, o BYOS é um requisito para ter o Profiler/Depurador de Instantâneos habilitado com chaves do gerenciador de clientes.

O BYOS funciona em um ambiente isolado da internet?

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

Sim, é possível.

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

Sim, você pode, mas no momento não há suporte para migração de dados do seu BYOS.

Sim.

Como minha conta de armazenamento está acessível?

  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âneos para obter um token de assinatura de acesso compartilhado para um novo blob na conta de armazenamento.

  2. Profiler ou Depurador de Instantâneos:

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

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

  3. Quando você exibe os rastreamentos do Profiler ou a análise do Depurador de Instantâneos, o serviço busca os resultados da análise do Armazenamento de Blobs.

Próximas etapas