Configurare BYOS per Application Insights Profiler per .NET e Snapshot Debugger

Quando si usa Application Insights Profiler per .NET o Snapshot Debugger, gli artefatti generati dall'applicazione vengono caricati per impostazione predefinita in account Archiviazione di Azure tramite Internet pubblico. Per questi artefatti e account di archiviazione, Microsoft controlla e copre il costo per:

  • Elaborazione e analisi.
  • Criteri di gestione della crittografia dei dati inattivi e della durata.

Nel frattempo, quando si "bring your own storage" (BYOS), gli artefatti vengono caricati in un account di archiviazione che controlla e copre solo i costi per:

  • Criteri di crittografia inattivi e criteri di gestione della durata.
  • Accesso alla rete.

Nota

BYOS è necessario se si abilita il Collegamento privato di Azure o le chiavi gestite dal cliente.

Questa guida illustra come eseguire queste operazioni:

  • Concedere l'accesso a Servizi di diagnostica all'account di archiviazione.
  • Collegare l'account di archiviazione alla risorsa di Application Insights.
  • Informazioni su come viene eseguito l'accesso all'account di archiviazione.

Prerequisiti

  • Verificare di aver creato l'account di archiviazione nella stessa posizione della risorsa di Application Insights.
  • Se è stato abilitato il Collegamento privato, consentire la connessione al servizio Microsoft attendibile dalla rete virtuale.

Concedere l'accesso a Servizi di diagnostica all'account di archiviazione

Un account di archiviazione BYOS è collegato a una risorsa di Application Insights. Per iniziare, concedere il ruolo Storage Blob Data Contributor all'applicazione Microsoft Entra denominata Diagnostic Services Trusted Storage Access tramite la pagina Controllo di accesso (IAM) nell'account di archiviazione.

  1. Seleziona Controllo di accesso (IAM).

  2. Selezionare Aggiungi>Aggiungi assegnazione di ruolo per aprire la pagina Aggiungi assegnazione di ruolo.

  3. Assegnare il ruolo seguente.

    Impostazione Valore
    Ruolo Collaboratore dati BLOB di archiviazione
    Assegna accesso a Utente, gruppo o entità servizio
    Membri Accesso all'archiviazione attendibile di Servizi di diagnostica

    Screenshot che mostra la pagina assegnazione di ruolo nel portale di Azure.

    Una volta assegnato, è possibile visualizzare il ruolo nella sezione Assegnazioni di ruolo. Screenshot che mostra la schermata IAM dopo le assegnazioni di ruolo.

Nota

Se si usa anche il Collegamento privato, è necessaria un'altra configurazione per consentire la connessione al servizio Microsoft attendibile dalla rete virtuale. Per altre informazioni, vedere la documentazione sulla sicurezza della rete di archiviazione.

Sono disponibili tre opzioni per la configurazione di BYOS per la diagnostica a livello di codice, ad esempio .NET Profiler e Snapshot Debugger:

  • Cmdlet di Azure PowerShell
  • L'interfaccia della riga di comando di Azure
  • Modelli di Azure Resource Manager

Prima di iniziare, installare Azure PowerShell 4.2.0 o versione successiva.

  1. Installare l'estensione PowerShell di Application Insights.

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. Accedere con la sottoscrizione dell'account Azure.

    Connect-AzAccount -Subscription "{subscription_id}"
    

    Per altre informazioni su come accedere, vedere la documentazione di Connect-AzAccount.

  3. Rimuovere qualsiasi account di archiviazione precedente collegato alla risorsa di Application Insights.

    Pattern (Modello):

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

    Esempio:

    Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
    
  4. Connettere l'account di archiviazione alla risorsa di Application Insights.

    Pattern (Modello):

    $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
    

    Esempio:

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

Risoluzione dei problemi

Risolvere i problemi comuni relativi alla configurazione di BYOS.

Scenario: lo schema del modello '{schema_uri}' non è supportato

È stato visualizzato un errore simile all'esempio seguente:

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

Soluzioni

  • Assicurarsi che la proprietà $schema del modello sia valida. Deve seguire questo modello:

    https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
    
  • Assicurarsi che l'oggetto schema_version del modello sia all'interno di valori validi: 2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01.

Scenario: nessun provider di risorse registrato trovato per il percorso '{location}'

È stato visualizzato un errore simile all'esempio seguente:

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

Soluzioni

  • Assicurarsi che apiVersion della risorsa microsoft.insights/components sia 2015-05-01.
  • Assicurarsi che apiVersion della risorsa linkedStorageAccount sia 2020-03-01-preview.

Scenario: la posizione dell'account di archiviazione deve corrispondere alla posizione del componente Application Insights

È stato visualizzato un errore simile all'esempio seguente:

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

Soluzione

Assicurarsi che la posizione della risorsa di Application Insights corrisponda all'account di archiviazione.

Domande frequenti

Questa sezione fornisce le risposte alle domande comuni sulla configurazione di BYOS per .NET Profiler e Snapshot Debugger.

Se è stata abilitata l'opzione .NET Profiler/Snapshot Debugger e BYOS, i dati vengono migrati nell'account di archiviazione?

No, non lo farà.

BYOS funziona con le chiavi di crittografia inattive e gestite dal cliente?

Sì. Per essere precisi, BYOS è un requisito per abilitare .NET Profiler/Snapshot Debugger con chiavi customer-manager.

BYOS funziona in un ambiente isolato da Internet?

Sì. BYOS è un requisito per gli scenari di rete isolati.

Si, è possibile.

Se è stato abilitato BYOS, è possibile tornare all'uso degli account di archiviazione di Servizi di diagnostica per archiviare i dati raccolti?

Sì, è possibile, ma attualmente non è supportata la migrazione dei dati da BYOS.

Sì.

Come si accede all'account di archiviazione?

  1. Gli agenti in esecuzione nelle macchine virtuali o nel Servizio app di Azure caricano artefatti (profili, snapshot e simboli) in contenitori BLOB nell'account.

    Questo processo comporta la contattare il profiler .NET o snapshot debugger per ottenere un token di firma di accesso condiviso a un nuovo BLOB nell'account di archiviazione.

  2. Profiler .NET o Snapshot Debugger:

    • Analizza il BLOB in ingresso.
    • Eseguire il writeback dei risultati dell'analisi e dei file di log nell'archiviazione BLOB.

    A seconda della capacità di calcolo disponibile, questo processo può verificarsi in qualsiasi momento dopo il caricamento.

  3. Quando si visualizzano le analisi Profiler o l'analisi del debugger snapshot, il servizio recupera i risultati dell'analisi dall'archiviazione BLOB.

Passaggi successivi