Configurar o BYOS para o Application Insights Profiler para .NET e o Depurador de Instantâneo
Quando você usa o Application Insights Profiler para .NET ou o Depurador de Instantâneo, os artefatos gerados pelo seu aplicativo são carregados por padrão nas contas de 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ê "traz seu próprio 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 ativou 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.
Selecione Controlo de acesso (IAM) .
Selecione Adicionar>atribuição de função para abrir a página Adicionar atribuição de função.
Atribua a seguinte função.
Definição Value Role Contribuidor de Dados de Blobs de Armazenamento Atribuir acesso a Usuário, grupo ou entidade de serviço Membros Serviços de diagnóstico Acesso confiável ao armazenamento Uma vez atribuída, você pode ver a função na seção Atribuições de função.
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.
Vincule sua conta de armazenamento ao recurso do Application Insights
Você tem três opções para configurar o BYOS para diagnósticos no nível de código, como o .NET 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.
Instale a extensão PowerShell do Application Insights.
Install-Module -Name Az.ApplicationInsights -Force
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.
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
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
Solucione problemas comuns na configuração do BYOS.
- Para obter a solução de problemas gerais do .NET Profiler, consulte a documentação de solução de problemas do Profiler.
- Para obter a solução geral de problemas do Depurador de Instantâneo, consulte a documentação de solução de problemas do Depurador de Instantâneo.
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 recursomicrosoft.insights/components
é2015-05-01
. - Certifique-se de que o
apiVersion
do recursolinkedStorageAccount
é2020-03-01-preview
.
Cenário: o local da conta de armazenamento deve corresponder ao local do componente 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 para perguntas comuns sobre como configurar o BYOS para .NET Profiler e Snapshot Debugger.
Se eu habilitei o .NET 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 .NET 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.
O BYOS funciona com chaves gerenciadas pelo cliente e Private Link habilitado?
Sim, é possível.
Se eu habilitei 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.
Depois de ativar o BYOS, assumo todos os custos relacionados de armazenamento e rede?
Sim.
Como é acedida a minha conta de armazenamento?
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 .NET 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.
O .NET Profiler ou Depurador de Instantâneo:
- Analisa o blob de entrada.
- Escreva de volta os resultados da análise e os arquivos de log no armazenamento de blob.
Dependendo da capacidade de computação disponível, esse processo pode ocorrer a qualquer momento após o upload.
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.