Come integrare Gestione API di Azure con Azure Application Insights
È possibile integrare facilmente applicazione Azure Insights con Azure Gestione API. applicazione Azure Insights è un servizio estendibile per sviluppatori Web che creano e gestiscono app su più piattaforme. In questa guida verranno visualizzate le informazioni seguenti:
- Esaminare ogni passaggio dell'integrazione di Application Insights in Gestione API.
- Informazioni sulle strategie per ridurre l'impatto sulle prestazioni sull'istanza del servizio Gestione API.
Prerequisiti
È necessaria un'istanza di Azure Gestione API. Crearne uno per primo.
Creare un'istanza di Application Insights
Per usare Application Insights, creare un'istanza del servizio Application Insights. Per creare un'istanza usando il portale di Azure, vedere Risorse di Application Insights basate sull'area di lavoro.
Nota
La risorsa di Application Insights può trovarsi in una sottoscrizione diversa o anche in un tenant diverso rispetto alla risorsa Gestione API.
Creare una connessione tra Application Insights e Gestione API
Nota
Se la risorsa di Application Insights si trova in un tenant diverso, sarà necessario creare il logger usando l'API REST
- Passare all'istanza del servizio azure Gestione API nel portale di Azure.
- Selezionare Application Insights nel menu a sinistra.
- Selezionare + Aggiungi.
- Selezionare l'istanza di Application Insights creata in precedenza e fornire una breve descrizione.
- Per abilitare il monitoraggio della disponibilità dell'istanza di Gestione API in Application Insights, selezionare la casella di controllo Aggiungi monitoraggio disponibilità.
- Questa impostazione verifica regolarmente se l'endpoint del gateway Gestione API risponde.
- I risultati vengono visualizzati nel riquadro Disponibilità dell'istanza di Application Insights.
- Selezionare Crea.
- Verificare che il nuovo logger di Application Insights sia ora visualizzato nell'elenco.
Nota
In background, viene creata un'entità Logger nell'istanza di Gestione API contenente la chiave di strumentazione dell'istanza di Application Insights.
Suggerimento
Se è necessario aggiornare la chiave di strumentazione configurata nel logger di Application Insights, selezionare la riga del logger nell'elenco (non il nome del logger). Immettere la chiave di strumentazione e selezionare Salva.
Abilitare la registrazione di Application Insights per l'API
Passare all'istanza del servizio azure Gestione API nel portale di Azure.
Selezionare API nel menu a sinistra.
Fare clic sull'API, in questo caso Demo Conference API. Se configurata, selezionare una versione.
Passare alla scheda Impostazioni dalla barra in alto.
Scorrere verso il basso fino alla sezione Log di diagnostica.
Selezionare la casella Abilita.
Selezionare il logger associato nell'elenco a discesa Destinazione.
Immettere 100 come Campionamento (%) e selezionare la casella di controllo Errori di log sempre .
Lasciare invariate le altre impostazioni. Per informazioni dettagliate sulle impostazioni, vedere Informazioni di riferimento sulle impostazioni dei log di diagnostica.
Avviso
L'override del numero predefinito di byte di payload per registrare il valore 0 può ridurre significativamente le prestazioni delle API.
Selezionare Salva.
Dietro le quinte viene creata un'entità di diagnostica denominata
applicationinsights
a livello di API.
Nota
Le richieste vengono completate una volta Gestione API invia l'intera risposta al client.
Logger per una singola API o tutte le API
È possibile specificare logger in diversi livelli:
- Logger api singolo
- Un logger per tutte le API
Specifica di entrambe le opzioni:
- Per impostazione predefinita, il singolo logger API (livello più granulare) sostituirà quello per tutte le API.
- Se i logger configurati a due livelli sono diversi ed è necessario che entrambi i logger ricevano i dati di telemetria (multiplexing), contattare supporto tecnico Microsoft.
Quali dati sono stati aggiunti ad Application Insights
Application Insights riceve:
Elemento di telemetria | Descrizione |
---|---|
Richiesta | Per ogni richiesta in ingresso:
|
Dipendenza | Per ogni richiesta inoltrata a un servizio back-end:
|
Eccezione | Per ogni richiesta non riuscita:
|
Trace | Se si configurano criteri di traccia . L'impostazione severity nel trace criterio deve essere uguale o maggiore dell'impostazione verbosity nella registrazione di Application Insights. |
Creare metriche personalizzate
È possibile generare metriche personalizzate configurando i emit-metric
criteri.
Per rendere disponibili le metriche preaggregate di Application Insights in Gestione API, è necessario abilitare manualmente le metriche personalizzate nel servizio.
- Usare i
emit-metric
criteri con l'API Crea o Aggiorna. - Aggiungere
"metrics":true
al payload, insieme a qualsiasi altra proprietà.
Nota
Per informazioni sulle dimensioni massime e sul numero di metriche ed eventi per ogni istanza di Application Insights, vedere Limiti di Application Insights .
Implicazioni sulle prestazioni e campionamento dei log
Avviso
La registrazione di tutti gli eventi può comportare gravi implicazioni per le prestazioni, a seconda della frequenza delle richieste in ingresso.
In base ai test di carico interni, l'abilitazione della funzionalità di registrazione ha causato una riduzione del 40%-50% della velocità effettiva quando la frequenza delle richieste supera 1.000 richieste al secondo. Application Insights è progettato per valutare le prestazioni delle applicazioni usando l'analisi statistica. Non lo è:
- Destinato a essere un sistema di controllo.
- Adatto per la registrazione di ogni singola richiesta per le API con volume elevato.
È possibile modificare il numero di richieste registrate modificando l'impostazione Campionamento. Un valore pari al 100% indica che tutte le richieste vengono registrate, mentre 0% non riflette alcuna registrazione.
Il campionamento consente di ridurre il volume di telemetria, impedendo in modo efficace una riduzione significativa delle prestazioni, mantenendo comunque i vantaggi della registrazione.
Per migliorare i problemi di prestazioni, ignorare:
- Intestazioni di richiesta e risposte.
- Registrazione corpo.
Video
Passaggi successivi
- Altre informazioni su Azure Application Insights.
- Considerare la possibilità di eseguire la registrazione con Hub eventi di Azure.
- Informazioni sulla visualizzazione dei dati da Application Insights con Azure Managed Grafana