Configurare BYOS per Application Insights Profiler e Snapshot Debugger

Quando si usa Application Insights Profiler 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 configura il proprio account di archiviazione (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 abilitano collegamento privato di Azure o 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 è stata abilitata 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 Storage Blob Data Contributor ruolo 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 ai dati del BLOB di archiviazione
    Assegna accesso a Utente, gruppo o entità servizio
    Membri Accesso trusted Archiviazione di Servizi di diagnostica

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

    Una volta assegnato, è possibile visualizzare il ruolo nella sezione Assegnazioni di ruolo. Screenshot that shows the IAM screen after Role assignments.

Nota

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

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

  • Cmdlet di Azure PowerShell
  • Interfaccia della riga di comando di Azure
  • Modelli di Gestione risorse di Azure

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 Connessione-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. Connessione l'account di archiviazione con la 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

Questa sezione offre suggerimenti per la risoluzione dei problemi comuni relativi alla configurazione di BYOS.

  • Per la risoluzione dei problemi generali di Profiler, vedere la documentazione sulla risoluzione dei problemi di Profiler.
  • Per informazioni generali sulla risoluzione dei problemi di Snapshot Debugger, vedere la documentazione sulla risoluzione dei problemi di Snapshot Debugger.

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

È stato ricevuto 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 $schema proprietà 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 ricevuto 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 l'oggetto apiVersion della risorsa microsoft.insights/components sia 2015-05-01.
  • Assicurarsi che l'oggetto apiVersion della risorsa linkedStorageAccount sia 2020-03-01-preview.

Scenario: Archiviazione percorso dell'account deve corrispondere alla posizione del componente Application Insights

È stato ricevuto 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 Profiler e Snapshot Debugger.

Se è stata abilitata la migrazione dei dati di Profiler/Snapshot Debugger e BYOS 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 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 app Azure servizio caricano artefatti (profili, snapshot e simboli) nei contenitori BLOB nell'account.

    Questo processo implica il contatto di Profiler o Snapshot Debugger per ottenere un token di firma di accesso condiviso a un nuovo BLOB nell'account di archiviazione.

  2. Profiler 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 tracce del profiler o l'analisi del debugger snapshot, il servizio recupera i risultati dell'analisi dall'archiviazione BLOB.

Passaggi successivi