Compartir vía


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.

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.

  1. Seleccione Access Control (IAM) .

  2. Seleccione Agregar>Agregar asignación de roles para abrir la página Agregar asignación de roles.

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

    Recorte de pantalla que muestra la página de asignación de roles en Azure Portal.

    Una vez asignado, puede ver el rol en la sección Asignaciones de roles. Captura de pantalla que muestra la pantalla de IAM después de las 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.

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.

  1. Instale la extensión de PowerShell para Application Insights.

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

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

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 recurso microsoft.insights/components es 2015-05-01.
  • Asegúrese de que apiVersion del recurso linkedStorageAccount es 2020-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.

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.

Sí.

¿Cómo se accede a la cuenta de almacenamiento?

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

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

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

Pasos siguientes