Configuración de BYOS para Application Insights Profiler para .NET y Snapshot Debugger
Cuando se usa Application Insights Profiler para .NET o Snapshot Debugger, los artefactos generados por la aplicación se cargan de manera predeterminada en cuentas de Azure Storage por la red pública de Internet. Para estos artefactos y cuentas de almacenamiento, Microsoft controla y cubre el costo de:
- El procesamiento y análisis.
- Las directivas de administración de cifrado en reposo y vigencia.
Mientras tanto, cuando "traiga su propio almacenamiento" (BYOS), los artefactos se cargan en una cuenta de almacenamiento que solo controla y cubre el costo de:
- La directiva de cifrado en reposo y la directiva de administración de vigencia.
- Acceso a la red.
Nota
BYOS es necesario si habilita Azure Private Link o claves administradas por el cliente.
En esta guía, aprenderá a:
- Concesión de acceso a los servicios de diagnóstico a su cuenta de almacenamiento
- Vinculación de la cuenta de almacenamiento con el recurso de Application Insights
- Obtenga información sobre cómo se accede a la cuenta de almacenamiento.
Requisitos previos
- Compruebe que ha creado la cuenta de almacenamiento en la misma ubicación que el recurso de Application Insights.
- Si ha habilitado Private Link, permita la conexión a nuestro servicio de Microsoft de confianza desde la red virtual.
Concesión de acceso a los servicios de diagnóstico a su cuenta de almacenamiento
Una cuenta de almacenamiento de BYOS está vinculada a un recurso de Application Insights. Para empezar, conceda el rol Storage Blob Data Contributor
a la aplicación de Microsoft Entra llamada Diagnostic Services Trusted Storage Access
a través de la página de Access Control (IAM) de la cuenta de almacenamiento.
Seleccione Access Control (IAM) .
Seleccione Agregar>Agregar asignación de roles para abrir la página Agregar asignación de roles.
Asigne el siguiente rol.
Configuración Valor Role Colaborador de datos de blobs de almacenamiento Asignar acceso a Usuario, grupo o entidad de servicio Miembros Acceso a almacenamiento de confianza de servicios de diagnóstico Una vez asignado, puede ver el rol en la sección Asignaciones de roles.
Nota
Si también está usando Private Link, se necesita una configuración adicional para permitir la conexión a nuestro servicio de confianza de Microsoft desde Virtual Network. Para obtener más información, consulte la documentación de seguridad de red de almacenamiento.
Vinculación de la cuenta de almacenamiento con el recurso de Application Insights
Tiene tres opciones para configurar BYOS para diagnósticos de nivel de código, como Profiler de .NET y Snapshot Debugger:
- Cmdlets de Azure PowerShell
- La CLI de Azure
- Plantillas del Administrador de recursos de Azure
Antes de comenzar, instale Azure PowerShell 4.2.0 o superior.
Instale la extensión de PowerShell para Application Insights.
Install-Module -Name Az.ApplicationInsights -Force
Inicie sesión con su suscripción de cuenta de Azure.
Connect-AzAccount -Subscription "{subscription_id}"
Para obtener más información sobre cómo iniciar sesión, consulte la documentación de Connect-AzAccount.
Quite la cuenta de almacenamiento anterior vinculada al recurso de Application Insights.
Patrón:
Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | Remove-AzApplicationInsightsLinkedStorageAccount
Ejemplo:
Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
Conecte la cuenta de almacenamiento con el recurso de Application Insights.
Patrón:
$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
Ejemplo:
$storageAccount = Get-AzStorageAccount -ResourceGroupName "byos-test" -Name "byosteststoragewestus2" Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | New-AzApplicationInsightsLinkedStorageAccount -LinkedStorageAccountResourceId $storageAccount.Id
Solución de problemas
Solución de problemas comunes en la configuración de BYOS.
- Para solucionar problemas generales de Profiler .NET, vea la documentación de solución de problemas de Profiler.
- Para la solución de problemas generales de Snapshot Debugger, consulte la documentación de solución de problemas de Snapshot Debugger.
Escenario: No se admite el esquema de plantilla "{schema_uri}"
Ha recibido un error similar al ejemplo siguiente:
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.'.
Soluciones
Asegúrese de que la propiedad
$schema
de la plantilla es válida. Debe seguir el siguiente patrón:https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
Asegúrese de que
schema_version
en la plantilla esté dentro de los valores válidos:2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01
.
Escenario: No se encontró ningún proveedor de recursos registrado para la ubicación "{location}"
Ha recibido un error similar al ejemplo siguiente:
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'."
}
}'
Soluciones
- Asegúrese de que
apiVersion
del recursomicrosoft.insights/components
es2015-05-01
. - Asegúrese de que
apiVersion
del recursolinkedStorageAccount
es2020-03-01-preview
.
Escenario: la ubicación de la cuenta de almacenamiento debe coincidir con la ubicación del componente de Application Insights
Ha recibido un error similar al ejemplo siguiente:
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"
]
}
}
}'
Solución
Asegúrese de que la ubicación del recurso de Application Insights sea la misma que la de la cuenta de almacenamiento.
Preguntas más frecuentes
En esta sección se proporcionan respuestas a preguntas comunes sobre la configuración de BYOS para Profiler de .NET y Snapshot Debugger.
Si he habilitado Profiler de .NET o Snapshot Debugger, y BYOS, ¿se migran mis datos a mi cuenta de almacenamiento?
No, no lo harán.
¿Funciona BYOS con el cifrado en reposo y las claves administradas por el cliente?
Sí. Para ser precisos, BYOS es un requisito para tener Profiler de .NET o Snapshot Debugger habilitado con claves administradas por el cliente.
¿Funciona BYOS en un entorno aislado de Internet?
Sí. BYOS es un requisito para escenarios de redes aisladas.
¿Funciona BYOS cuando se hayan habilitado tanto las claves administradas por el cliente como Private Link?
Sí, es posible.
Si he habilitado BYOS, ¿puedo volver a usar las cuentas de almacenamiento de Diagnostic Services para almacenar mis datos recopilados?
Sí, pero actualmente no se admite la migración de datos desde BYOS.
Después de habilitar BYOS, ¿me haré cargo de todos los costos relacionados con el almacenamiento y las redes?
Sí.
¿Cómo se accede a la cuenta de almacenamiento?
Los agentes que se ejecutan en máquinas virtuales o App Service cargan artefactos (perfiles, instantáneas y símbolos) en los contenedores de blobs de la cuenta.
Este proceso implica ponerse en contacto con el servicio Profiler de .NET o Snapshot Debugger para obtener un token de firma de acceso compartido para un nuevo blob en la cuenta de almacenamiento.
Profiler de .NET o Snapshot Debugger:
- Analiza el blob entrante.
- Reescribir los resultados del análisis y los archivos de registro en Blob Storage.
Dependiendo de la capacidad de proceso disponible, este proceso puede producirse en cualquier momento después de la carga.
Al ver los seguimientos de Profiler o el análisis de Snapshot Debugger, el servicio captura los resultados del análisis del almacenamiento de blobs.