Condividi tramite


Nozioni di base sulla raccolta dati di Application Insights per Monitoraggio di Azure

Prima di poter monitorare l'applicazione, è necessario strumentarla.

Nelle sezioni seguenti vengono illustrate alcune nozioni di base sulla raccolta dati di Application Insights di Monitoraggio di Azure.

Opzioni di strumentazione

A livello di base, la "strumentazione" consente semplicemente a un'applicazione di acquisire i dati di telemetria.

Esistono due metodi per strumentare l'applicazione:

  • Strumentazione automatica
  • Strumentazione manuale

La strumentazione automatica abilita la raccolta di dati di telemetria tramite la configurazione senza toccare il codice dell'applicazione. Anche se è più conveniente, tende a essere meno configurabile. Inoltre, non è disponibile in tutte le lingue. Vedere Ambienti e linguaggi supportati per la strumentazione automatica. Quando è disponibile l'installazione automatica, è il modo più semplice per abilitare Application Insights di Monitoraggio di Azure.

Suggerimento

Attualmente, l'autenticazione di Microsoft Entra non è disponibile con l'installazione automatica. Se è necessaria l'autenticazione di Microsoft Entra, è necessario usare la strumentazione manuale.

La strumentazione manuale sta codificando in base all'API Application Insights o OpenTelemetry. Nel contesto di un utente, si riferisce in genere all'installazione di un SDK specifico del linguaggio in un'applicazione. Ciò significa che è necessario gestire gli aggiornamenti alla versione più recente del pacchetto manualmente. È possibile usare questa opzione se è necessario effettuare chiamate di dipendenza personalizzate o chiamate API che non vengono acquisite per impostazione predefinita con l'installazione automatica. Sono disponibili due opzioni per la strumentazione manuale:

Anche se si vede OpenTelemetry come direzione futura, non è previsto di interrompere la raccolta dei dati dagli SDK meno recenti. È comunque possibile procedere prima che le distribuzioni di Azure OpenTelemetry raggiungano la parità delle funzionalità con gli SDK di Application Insights. In molti casi, i clienti continuano a scegliere di usare gli SDK di Application Insights per molto tempo.

Importante

"Manuale" non significa che sarà necessario scrivere codice complesso per definire intervalli per le tracce distribuite, anche se rimane un'opzione. Le librerie di strumentazione inserite nelle distribuzioni consentono di acquisire facilmente i segnali di telemetria in framework e librerie comuni. Microsoft sta lavorando attivamente per strumentare gli SDK dei servizi di Azure più diffusi usando OpenTelemetry, in modo che questi segnali siano disponibili per i clienti che usano la distribuzione OpenTelemetry di Monitoraggio di Azure.

Tipi di dati di telemetria

I dati di telemetria raccolti per osservare l'applicazione possono essere suddivisi in tre tipi o "pilastri":

  • Traccia distribuita
  • Metrica
  • Registri

Una storia di osservabilità completa include tutti e tre i pilastri e Application Insights suddivide ulteriormente questi pilastri in tabelle basate sul modello di dati. Gli SDK di Application Insights o le distribuzioni OpenTelemetry di Monitoraggio di Azure includono tutto ciò che è necessario per Application Performance Monitoring in Azure. Il pacchetto stesso è gratuito per l'installazione e si paga solo per i dati inseriti in Monitoraggio di Azure.

Le fonti seguenti illustrano i tre pilastri:

Routing dei dati di telemetria

Esistono due modi per inviare i dati a Monitoraggio di Azure (o a qualsiasi fornitore):

  • Tramite un utilità di esportazione diretta
  • Tramite un agente

Un utilità di esportazione diretta invia i dati di telemetria in-process (dal codice dell'applicazione) direttamente all'endpoint di inserimento di Monitoraggio di Azure. Il vantaggio principale di questo approccio è l'onboarding della semplicità.

Gli SDK di Application Insights attualmente disponibili e le distribuzioni OpenTelemetry di Monitoraggio di Azure si basano su un'utilità di esportazione diretta.

Nota

Per la posizione di Monitoraggio di Azure in OpenTelemetry-Collector, vedere le domande frequenti su OpenTelemetry.

Suggerimento

Se si prevede di usare OpenTelemetry-Collector per il campionamento o l'elaborazione dati aggiuntiva, è possibile ottenere queste stesse funzionalità predefinite in Monitoraggio di Azure. I clienti che hanno eseguito la migrazione ad Application Insights basati sull'area di lavoro possono trarre vantaggio dalle trasformazioni in fase di inserimento. Per abilitare, seguire i dettagli dell'esercitazione, ignorando il passaggio che illustra come configurare un'impostazione di diagnostica perché con Application Insights incentrato sull'area di lavoro è già configurata. Se si filtra meno del 50% del volume complessivo, non sono previsti costi aggiuntivi. Dopo il 50%, c'è un costo, ma molto meno del costo standard per GB.

OpenTelemetry

Microsoft è lieta di adottare OpenTelemetry come futuro della strumentazione dei dati di telemetria. I clienti hanno chiesto la strumentazione indipendente dal fornitore e siamo lieti di collaborare con la community OpenTelemetry per creare API e SDK coerenti in tutte le lingue.

Microsoft ha collaborato con gli stakeholder del progetto di due progetti di telemetria open source più diffusi, OpenCensus e OpenTracing. Insieme, abbiamo contribuito a creare un singolo progetto, OpenTelemetry. OpenTelemetry include contributi di tutti i principali fornitori di cloud e Application Performance Management (APM) e vive all'interno di Cloud Native Computing Foundation (CNCF). Microsoft è un membro Platinum del CNCF.

Per la terminologia, vedere il glossario nelle specifiche OpenTelemetry.

Alcuni termini legacy in Application Insights confondono a causa della convergenza del settore in OpenTelemetry. Nella tabella seguente vengono evidenziate queste differenze. I termini OpenTelemetry sostituiscono i termini di Application Insights.

Application Insights OpenTelemetry
Agenti di raccolta automatici Librerie di strumentazione
Channel Esportatore
Senza codice/basato su agente Strumentazione automatica
Tracce Registri
Richieste Intervalli di server
Dipendenze Altri tipi di intervalli (client, interno e così via)
ID operazione ID della traccia
ID o ID padre dell'operazione ID intervallo

Risoluzione dei problemi

Passaggio 1: abilitare la registrazione diagnostica

L'utilità di esportazione del Monitoraggio di Azure utilizza EventSource per la registrazione interna. I log dell'utilità di esportazione sono disponibili per qualsiasi EventListener mediante il consenso esplicito all'origine denominata OpenTelemetry-AzureMonitor-Exporter. Per conoscere i passaggi per la risoluzione dei problemi, vedere Risoluzione dei problemi OpenTelemetry su GitHub.

Passaggio 2: testare la connettività tra l'host dell'applicazione e il servizio di inserimento dati

Gli SDK e gli agenti di Application Insights inviano dati di telemetria per l'inserimento, ad esempio chiamate REST, agli endpoint di inserimento dati. Per testare la connettività dal server Web o dal computer host dell'applicazione con gli endpoint del servizio di inserimento dati, usare i comandi cURL o le richieste REST non elaborate da PowerShell. Per altre informazioni, vedere Risolvere i problemi di dati di telemetria mancanti delle applicazioni in Application Insights per Monitoraggio di Azure.

Problemi noti

Gli elementi seguenti sono problemi noti per le utilità di esportazione OpenTelemetry di Monitoraggio di Azure:

  • Nome dell'operazione mancante nei dati di telemetria delle dipendenze. La mancanza del nome dell'operazione causa errori e influisce negativamente sull'esperienza della scheda prestazioni.

  • Modello dispositivo mancante nei dati di telemetria delle richieste e delle dipendenze. La mancanza del modello dispositivo influisce negativamente sull'analisi della coorte del dispositivo.

Supporto tecnico

Selezionare la scheda del linguaggio scelto per scoprire le opzioni di supporto.

Feedback su OpenTelemetry

Per inviare un feedback:

Domande frequenti

Dove è possibile trovare un elenco di versioni di Application Insights SDK e i relativi nomi?

Un elenco di versioni e nomi dell'SDK si trova in GitHub. Per altre informazioni, vedere Versione dell'SDK.

Passaggi successivi

Selezionare l'approccio di abilitazione:

Per altre informazioni, vedere Domande frequenti su Application Insights di Monitoraggio di Azure e Domande frequenti su OpenTelemetry.