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

  1. Passare all'istanza del servizio azure Gestione API nel portale di Azure.
  2. Selezionare Application Insights nel menu a sinistra.
  3. Selezionare + Aggiungi.
    Screenshot che mostra dove aggiungere una nuova connessione
  4. Selezionare l'istanza di Application Insights creata in precedenza e fornire una breve descrizione.
  5. 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.
  6. Selezionare Crea.
  7. Verificare che il nuovo logger di Application Insights sia ora visualizzato nell'elenco.
    Screenshot che mostra dove visualizzare il logger di Application Insights appena creato.

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

  1. Passare all'istanza del servizio azure Gestione API nel portale di Azure.

  2. Selezionare API nel menu a sinistra.

  3. Fare clic sull'API, in questo caso Demo Conference API. Se configurata, selezionare una versione.

  4. Passare alla scheda Impostazioni dalla barra in alto.

  5. Scorrere verso il basso fino alla sezione Log di diagnostica.
    Logger di Application Insights

  6. Selezionare la casella Abilita.

  7. Selezionare il logger associato nell'elenco a discesa Destinazione.

  8. Immettere 100 come Campionamento (%) e selezionare la casella di controllo Errori di log sempre .

  9. 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.

  10. Selezionare Salva.

  11. 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:
  • richiesta front-end
  • risposta front-end
Dipendenza Per ogni richiesta inoltrata a un servizio back-end:
  • richiesta back-end
  • risposta back-end
Eccezione Per ogni richiesta non riuscita:
  • Errore a causa di una connessione client chiusa
  • Attivata una sezione di errore dei criteri API
  • Ha un codice di stato HTTP di risposta corrispondente a 4xx o 5xx
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.

  1. Usare i emit-metric criteri con l'API Crea o Aggiorna.
  2. 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