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.
Seleziona Controllo di accesso (IAM).
Selezionare Aggiungi>Aggiungi assegnazione di ruolo per aprire la pagina Aggiungi assegnazione di ruolo.
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 Una volta assegnato, è possibile visualizzare il ruolo nella sezione 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.
Collegare l'account di archiviazione alla risorsa di Application Insights
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.
Installare l'estensione PowerShell di Application Insights.
Install-Module -Name Az.ApplicationInsights -Force
Accedere con la sottoscrizione dell'account Azure.
Connect-AzAccount -Subscription "{subscription_id}"
Per altre informazioni su come accedere, vedere la documentazione di Connect-AzAccount.
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
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.
- Per la risoluzione dei problemi generali di .NET 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 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 risorsamicrosoft.insights/components
sia2015-05-01
. - Assicurarsi che
apiVersion
della risorsalinkedStorageAccount
sia2020-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.
BYOS funziona con chiavi gestite dal cliente e Collegamento privato abilitato?
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.
Dopo aver abilitato BYOS, si assumono tutti i costi correlati dell'archiviazione e della rete?
Sì.
Come si accede all'account di archiviazione?
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.
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.
Quando si visualizzano le analisi Profiler o l'analisi del debugger snapshot, il servizio recupera i risultati dell'analisi dall'archiviazione BLOB.