Condividi tramite


Creare e configurare le risorse di Application Insights

Importante

Questo articolo si applica alle risorse di Application Insights basate sull'area di lavoro . Le risorse classiche di Application Insights sono state ritirate. Passare ad Application Insights basato sull'area di lavoro per sfruttare le nuove funzionalità.

Application Insights si integra con Log Analytics e invia dati di telemetria a un'area di lavoro Log Analytics comune. Questa configurazione consente l'accesso completo alle funzionalità di Log Analytics, consolida i log in un'unica posizione e consente il controllo unificato degli accessi in base al ruolo di Azure che elimina la necessità di query tra app e aree di lavoro.

Le funzionalità avanzate includono:

  • Chiavi - Crittografare i dati inattivi con chiavi accessibili solo all'utente.
  • Collegamento - Connettere in modo sicuro i servizi PaaS di Azure alla rete virtuale usando endpoint privati.
  • Bring Your Own Storage (BYOS) - Gestire i dati da .NET Profiler e Snapshot Debugger con criteri per la crittografia, la durata e l'accesso alla rete.
  • - Risparmiare fino a 30% sui prezzi con pagamento in base al consumo.

Questo articolo illustra come creare e configurare le risorse di Application Insights. Insieme alla risorsa di Application Insights stessa, è possibile aggiungere diverse configurazioni, ad esempio l'impostazione del limite giornaliero e il piano tariffario. È anche possibile creare test di disponibilità, configurare gli avvisi delle metriche e automatizzare il processo usando Azure Resource Manager.

Nota

L'inserimento e la conservazione di dati per le risorse di Application Insights basate sull'area di lavoro vengono fatturate tramite l'area di lavoro Log Analytics in cui si trovano i dati. Per altre informazioni sulla fatturazione, vedere Dettagli sui prezzi dei log di Monitoraggio di Azure.

Prerequisiti

  • Una sottoscrizione di Azure attiva.
  • Autorizzazioni necessarie per creare risorse.

Requisiti aggiuntivi

Nessun requisito aggiuntivo.

Crea una risorsa Application Insights

  1. Accedi al portale di Azure.
  2. Selezionare Crea una risorsa.
  3. Aprire la categoria Monitoraggio e diagnostica, quindi selezionare Application Insights.
  4. Immettere tutte le informazioni pertinenti, quindi Rivedi e crea la risorsa di Application Insights.

Screenshot che mostra una risorsa di Application Insights.

Nota

Se non ci si connette a un'area di lavoro Log Analytics esistente durante la creazione di risorse, viene creata automaticamente una nuova risorsa di Log Analytics insieme alla risorsa di Application Insights.

Dopo aver creato la risorsa, è possibile trovare le informazioni corrispondenti sull'area di lavoro nel riquadro Panoramica di Application Insights.

Screenshot che mostra un nome dell'area di lavoro.

Selezionare il testo del collegamento blu per passare all'area di lavoro Log Analytics associata in cui è possibile sfruttare il nuovo ambiente di query dell'area di lavoro unificata.

Nota

Microsoft offre comunque la piena compatibilità con le versioni precedenti per le query di risorse classiche, le cartelle di lavoro e gli avvisi basati su log di Application Insights. Per eseguire query o visualizzare la nuova struttura o schema di tabella basati sull'area di lavoro, è necessario passare prima all'area di lavoro Log Analytics. Selezionare Log (Analisi) nei riquadri di Application Insights per accedere all'esperienza di query classica di Application Insights.

Configurare il monitoraggio

Dopo aver creato una risorsa di Application Insights, configurare il monitoraggio.

Ottenere la stringa di connessione

La stringa di connessione identifica la risorsa a cui si vuole associare i dati di telemetria. È anche possibile usarlo per modificare gli endpoint che la risorsa utilizza come destinazione per i dati di telemetria. È necessario copiare la stringa di connessione e aggiungerla al codice dell'applicazione o a una variabile di ambiente.

Per ottenere la stringa di connessione della risorsa di Application Insights:

  1. Aprire la risorsa Application Insights nel portale di Azure.
  2. Nel riquadro Panoramica della sezione Essenziali, cercare Stringa di connessione.
  3. Se si passa il puntatore del mouse sulla stringa di connessione, viene visualizzata un'icona che consente di copiarla negli Appunti.

Monitoraggio delle applicazioni con OpenTelemetry

Per il monitoraggio delle applicazioni con OpenTelemetry, installa la Distro OpenTelemetry di Azure Monitor appropriata e indirizza la stringa di connessione alla risorsa appena creata.

Per informazioni su come configurare il monitoraggio delle applicazioni con OpenTelemetry, vedere la documentazione seguente specifica del linguaggio:

Nota

Per le app Web destinate ai browser, è consigliabile usare Application Insights JavaScript SDK.

Strumentazione automatica

Per i servizi di monitoraggio come Funzioni di Azure e Servizio app di Azure, è prima possibile creare la risorsa di Application Insights, quindi puntare a tale risorsa quando si abilita il monitoraggio. In alternativa, è possibile creare una nuova risorsa di Application Insights durante il processo di abilitazione.

Configurare le risorse di Application Insights

Modificare l'area di lavoro associata

Dopo aver creato una risorsa di Application Insights, è possibile modificare l'area di lavoro Log Analytics associata.

Nella risorsa di Application Insights selezionare Proprietà>Modifica area di lavoro>Aree di lavoro di Log Analytics.

Esportare i dati di telemetria

La funzionalità di esportazione continua legacy non è supportata per le risorse basate sull'area di lavoro. Usare invece le impostazioni di diagnostica.

Nota

L'esportazione delle impostazioni di diagnostica potrebbe aumentare i costi. Per altre informazioni, vedere Esportare la telemetria da Application Insights. Per informazioni sui prezzi per questa funzionalità, vedere la pagina dei prezzi di Monitoraggio di Azure. Prima dell'inizio della fatturazione, le notifiche vengono inviate. Se si continua a usare l'esportazione dei dati di telemetria dopo il periodo di preavviso, la fattura verrà addebitata alla tariffa applicabile.

Nella risorsa di Application Insights selezionare Impostazioni> didiagnostica Aggiungi impostazione di diagnostica.

È possibile selezionare tutte le tabelle o un subset di tabelle da archiviare in un account di archiviazione. È anche possibile eseguire lo streaming in un hub eventi.

Impostare la conservazione dei dati

La conservazione dei dati per le risorse di Application Insights può essere impostata nell'area di lavoro Log Analytics associata.

Per altre informazioni, vedere Configurare il periodo di conservazione interattivo predefinito delle tabelle di Analisi.

Impostare il limite giornaliero

Il limite giornaliero deve essere impostato in modo indipendente sia per Application Insights che per l'area di lavoro Log Analytics sottostante. Il limite giornaliero effettivo è il minimo delle due impostazioni.

Per informazioni su come impostare il limite giornaliero nel portale di Azure, vedere Impostare il limite giornaliero nell'area di lavoro Log Analytics.

Impostare il piano tariffario

Il piano tariffario per le risorse di Application Insights può essere impostato nell'area di lavoro Log Analytics associata. Per altre informazioni sui piani tariffari disponibili, vedere Calcoli e opzioni dei costi dei log di Monitoraggio di Azure.

Nota

Se vengono visualizzati addebiti imprevisti o costi elevati in Application Insights, questa guida può essere utile. Vengono illustrate le cause comuni, ad esempio volumi di telemetria elevati, picchi di inserimento dati e campionamento non configurato correttamente. È particolarmente utile se si stanno risolvendo problemi relativi a picchi di costo, volume di telemetria, campionamento non funzionante, limiti di dati, inserimento elevato o fatturazione imprevista. Per iniziare, vedere Risolvere i problemi relativi all'inserimento dati elevato in Application Insights.

Per informazioni su come impostare il piano tariffario nel portale di Azure, vedere Fatturazione di Application Insights.

Disabilitare la maschera IP

Per impostazione predefinita, Application Insights non archivia gli indirizzi IP. Per informazioni su come disabilitare la maschera IP, vedere Georilevazione e gestione degli indirizzi IP.

Creare risorse aggiuntive

Crea test di disponibilità

Per informazioni su come creare un test di disponibilità nel portale di Azure, vedere Test di disponibilità di Application Insights.

Aggiungere un avviso per la metrica

Suggerimento

Ogni risorsa di Application Insights viene fornita con metriche disponibili per la configurazione predefinita. Se i componenti separati segnalano alla stessa risorsa di Application Insights, potrebbe non essere opportuno inviare avvisi su queste metriche.

Per informazioni su come creare un avviso di metrica nel portale di Azure, vedere Esercitazione: Creare un avviso per le metriche per una risorsa di Azure.

Per automatizzare la creazione di avvisi delle metriche, vedere l'articolo Modello di avvisi delle metriche.

Creare più risorse di Application Insights

Quante risorse Application Insights è necessario distribuire?

Quando si sviluppa la versione successiva di un'applicazione Web, non è desiderabile combinare la telemetria di Application Insights della nuova versione con quella della versione già rilasciata.

Per evitare confusione, inviare i dati di telemetria da diverse fasi di sviluppo per separare le risorse di Application Insights, con stringhe di connessione separate.

Se il sistema è un'istanza di Servizi cloud di Azure, esiste un altro metodo per impostare stringhe di connessione separate.

Quando usare una singola risorsa di Application Insights

Usare una singola risorsa di Application Insights per:

  • Semplificando la gestione di DevOps/ITOps per le applicazioni distribuite insieme, in genere sviluppate e gestite dallo stesso team.
  • Centralizzazione degli indicatori di prestazioni chiave, ad esempio tempi di risposta e percentuali di errore, in un dashboard per impostazione predefinita. Segmentare in base al nome del ruolo in Esplora metriche, se necessario.
  • Quando non è necessaria una gestione diversa del controllo degli accessi in base al ruolo di Azure tra i componenti dell'applicazione.
  • Quando sono sufficienti criteri di avviso per le metriche identiche, esportazioni continue e gestione delle quote/fatturazione tra componenti.
  • Quando è accettabile che una chiave API acceda ai dati da tutti i componenti in modo uniforme e 10 chiavi API soddisfino le esigenze in tutti i componenti.
  • Quando le stesse impostazioni di rilevamento intelligente e integrazione degli elementi di lavoro sono adatte a tutti i ruoli.

Nota

Se si vogliono consolidare più risorse di Application Insights, è possibile puntare i componenti dell'applicazione esistenti a una nuova risorsa di Application Insights consolidata. I dati di telemetria archiviati nella risorsa precedente non vengono trasferiti alla nuova risorsa. Eliminare la risorsa precedente solo quando si dispone di dati di telemetria sufficienti nella nuova risorsa per la continuità aziendale.

Altre considerazioni

Per attivare le esperienze del portale, aggiungere codice personalizzato per assegnare valori significativi all'attributo Cloud_RoleName. Senza questi valori, le funzionalità del portale non funzionano.

Per le applicazioni di Azure Service Fabric e i servizi cloud classici, l'SDK configura automaticamente i servizi leggendo dall'ambiente del ruolo di Azure. Per altri tipi di app, in genere è necessario impostarlo in modo esplicito.

Le metriche attive non possono suddividere i dati in base al nome del ruolo.

Verifica della versione

Quando si pubblica una nuova versione dell'applicazione, si vuole essere in grado di separare i dati di telemetria da compilazioni diverse. È possibile impostare la proprietà Versione applicazione in modo da filtrare i risultati della ricerca e di Esplora metriche .

Esistono diversi metodi di impostazione della proprietà della versione dell'applicazione.

  • Opzione 1: Impostare direttamente la versione

    Aggiungere la riga telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version; al codice di inizializzazione dell'applicazione.

    Per assicurarsi che tutte le TelemetryClient istanze siano impostate in modo coerente, inserire tale riga in un inizializzatore di telemetria.

  • Opzione 2: Impostare la versione in BuildInfo.config (solo ASP.NET)

    Il modulo Web di Application Insights seleziona la versione dal BuildLabel nodo. Includere questo file nel progetto e ricordarsi di impostare la proprietà Copia sempre in Esplora soluzioni.

    <?xml version="1.0" encoding="utf-8"?>
    <DeploymentEvent xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06">
      <ProjectName>AppVersionExpt</ProjectName>
      <Build type="MSBuild">
        <MSBuild>
          <BuildLabel kind="label">1.0.0.2</BuildLabel>
        </MSBuild>
      </Build>
    </DeploymentEvent>
    
    

    Generare BuildInfo.config automaticamente nel motore di compilazione Microsoft. Aggiungere la riga seguente al file .csproj:

    <PropertyGroup>
      <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
      <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
    </PropertyGroup>
    

    Questo passaggio genera un file denominato yourProjectName.BuildInfo.config. Il processo di pubblicazione lo rinomina in BuildInfo.config.

    L'etichetta di compilazione contiene un segnaposto (*AutoGen_...*) se la compilazione viene eseguita in Visual Studio. Se compilato con Microsoft Build Engine, il segnaposto viene popolato con il numero di versione corretto.

    Per consentire al motore di compilazione Microsoft di generare numeri di versione, impostare la versione come 1.0.* in AssemblyReference.cs.

Annotazioni sulle versioni

Se si usa Azure DevOps, è possibile visualizzare un marcatore di annotazione aggiunto ai grafici quando si rilascia una nuova versione.

Automatizzare il processo di creazione delle risorse

Il processo di creazione delle risorse può essere automatizzato usando modelli Bicep o JSON con Azure Resource Manager. È possibile raggruppare diverse risorse per crearle in un'unica distribuzione. Ad esempio, è possibile creare una risorsa di Application Insights con test di disponibilità, avvisi delle metriche e un'impostazione di diagnostica per inviare dati di telemetria a un account di archiviazione di Azure.

Generare un modello nel portale di Azure

È possibile generare un modello da risorse esistenti.

Solo Application Insights

  1. Passare alla risorsa di Application Insights nel portale di Azure.
  2. Aprire Esporta modello elencato in Automazione nella barra di navigazione a sinistra.
  3. (Facoltativo): per usare i propri parametri, deselezionare Includi parametri.
  4. Scaricare il file modello o Distribuirlo direttamente nel portale di Azure.

Più risorse

  1. Passare al gruppo di risorse della risorsa di Application Insights.
  2. Nel riquadro Panoramica contrassegnare tutte le risorse che si desidera includere nel modello, quindi selezionare Esporta modello nella barra di spostamento superiore.
  3. (Facoltativo): per usare i propri parametri, deselezionare Includi parametri.
  4. Scaricare il file modello o Distribuirlo direttamente nel portale di Azure.

Creare un modello da zero

Per informazioni su come creare un modello di Resource Manager da zero, visitare la documentazione del modello di Resource Manager che include esercitazioni per creare un modello, aggiungere risorse, aggiungere parametri e altro ancora.

Le proprietà disponibili per Application Insights, i test di disponibilità, gli avvisi delle metriche, le impostazioni di diagnostica e altre risorse possono essere trovate nella documentazione di riferimento delle risorse di Azure sotto il nodo Reference>Monitor>Insights.

Suggerimento

È anche possibile usare i modelli di avvio rapido, disponibili nella parte inferiore della pagina della documentazione di riferimento delle risorse di Azure collegata in questa sezione. Per informazioni su come usare i modelli, vedere Esercitazione: Usare modelli di avvio rapido di Azure.

Domande frequenti

Questa sezione fornisce le risposte alle domande comuni.

Come si sposta una risorsa Application Insights in una nuova area?

Il trasferimento di risorse di Application Insights esistenti tra aree non è supportato e non è possibile eseguire la migrazione dei dati cronologici a una nuova area. La soluzione alternativa prevede:

  • Creazione di una nuova risorsa di Application Insights nell'area desiderata.
  • Ricreando eventuali personalizzazioni univoche dalla risorsa originale nella nuova.
  • Aggiornamento dell'applicazione con la stringa di connessione della nuova risorsa dell'area.
  • Test per assicurarsi che tutto funzioni come previsto con la nuova risorsa di Application Insights.
  • Decidere di mantenere o eliminare la risorsa originale di Application Insights. L'eliminazione di una risorsa classica significa perdere tutti i dati cronologici. Se la risorsa è basata sull'area di lavoro, i dati rimangono in Log Analytics, consentendo l'accesso ai dati cronologici fino alla scadenza del periodo di conservazione.

Le personalizzazioni univoche che in genere devono essere ricreate o aggiornate manualmente per la risorsa nella nuova area includono, ad esempio:

  • Ricreare dashboard e cartelle di lavoro personalizzati.
  • Ricreare o aggiornare l'ambito di tutti gli avvisi di log/metriche personalizzati.
  • Ricreare gli avvisi di disponibilità.
  • Ricreare le impostazioni personalizzate del controllo degli accessi in base al ruolo di Azure necessarie per consentire agli utenti di accedere alla nuova risorsa.
  • Replicare le impostazioni che includono il campionamento per inserimento, la conservazione dei dati, il limite giornaliero e l'abilitazione delle metriche personalizzate. Queste impostazioni sono controllate tramite il riquadro Utilizzo e costi stimati.
  • Qualsiasi integrazione basata su chiavi API, ad esempio annotazioni di rilascio e canale di controllo sicuro per le metriche in tempo reale. È necessario generare nuove chiavi API e aggiornare l'integrazione associata.
  • L'esportazione continua nelle risorse classiche deve essere configurata di nuovo.
  • Le impostazioni di diagnostica nelle risorse basate su area di lavoro devono essere configurate nuovamente.

È possibile usare provider('Microsoft.Insights', 'components').apiVersions[0] nelle distribuzioni di Azure Resource Manager?

Non è consigliabile usare questo metodo per popolare la versione dell'API. La versione più recente può rappresentare versioni di anteprima che potrebbero contenere modifiche di rilievo. Anche con le versioni non di anteprima più recenti, le versioni delle API non sono sempre retrocompatibili con i modelli esistenti. In alcuni casi, la versione dell'API potrebbe non essere disponibile per tutte le sottoscrizioni.

Passaggi successivi