Analizza i log generati dal sistema utilizzando Application Insights
Puoi connettere le tue app canvas ad Application Insights, una funzionalità di Monitoraggio di Azure. Application Insights include potenti strumenti di analisi per aiutarti a diagnosticare i problemi e capire cosa fanno realmente gli utenti con le tue app. Puoi raccogliere informazioni per aiutarti a prendere decisioni aziendali migliori e migliorare la qualità delle tue app.
In questa guida introduttiva, utilizziamo un'app canvas chiamata Kudos per esplorare i concetti di log generati dal sistema nelle app canvas e applicarli alle tue app. L'app Kudos di esempio fa parte di una suite di app per il coinvolgimento dei dipendenti disponibili per il download da Starter kit esperienza dipendenti.
Prerequisiti
- Devi avere accesso al portale di Azure.
- Devi avere le autorizzazioni per creare risorse di Azure.
Nota
Per visualizzare le informazioni di telemetria, l'amministratore del tenant deve abilitare Informazioni dettagliate sulle app canvas. Accedi come amministratore all'interfaccia di amministrazione di Power Platform. Vai a Impostazioni > Impostazioni del tenant > Informazioni dettagliate sulle app canvas. Nel riquadro Informazioni dettagliate sulle app canvas, impostare l'interruttore su On e salva le modifiche. Per ulteriori informazioni, vedi Impostazioni tenant.
Facoltativo
- Scarica e installa l'app Kudos da Starter kit esperienza dipendenti. Puoi anche usare un'app esistente.
Crea una risorsa Application Insights
Prima di poter inviare i log generati dal sistema per un'app, devi creare una risorsa Application Insights per memorizzare gli eventi.
Accedi al portale di Azure.
Cerca Application Insights:
Crea una risorsa Application Insights:
Immetti i valori appropriati e seleziona Rivedi + crea.
Per maggiori dettagli, leggi Creare una risorsa Application Insights.
Dopo che l'istanza Application Insights è stata creata, copia la Chiave di strumentazione nella panoramica dell'istanza per l'utilizzo in un passaggio successivo.
Connettere l'app ad Application Insights
Nota
- Quando si specifica una chiave di strumentazione, tenere presente che i dati possono essere inviati tra tenant. Gli eventi di traccia vengono inviati alla risorsa App Insights che corrisponde alla chiave di strumentazione impostata per l'app, anche se l'istanza di App Insights di destinazione si trova in un tenant diverso dall'app.
- Prestare attenzione durante l'importazione di file con estensione .msapp esistenti poiché potrebbero essere presenti chiavi di strumentazione per App Insights. Apri manualmente l'app dopo l'importazione per verificare che venga utilizzata la chiave di strumentazione App Insights corretta.
Accedi a Power Apps.
Nel riquadro di spostamento sinistro selezionare App. Dall'elenco delle app, seleziona l'app Kudos e quindi seleziona Modifica:
Nota
Puoi anche creare una nuova app o modificare qualsiasi app esistente.
Seleziona l'oggetto App dalla visualizzazione ad albero del riquadro di spostamento a sinistra e incolla l'oggetto Chiave di strumentazione:
Salva e pubblica l'app.
Riproduci l'app pubblicata e sfoglia le diverse schermate.
Mentre sfogli le schermate dell'app, gli eventi vengono automaticamente registrati in Application Insights, inclusi i dettagli di utilizzo come:
- Da dove si accede all'app
- Quali dispositivi vengono utilizzati
- I tipi di browser utilizzati
Importante
È necessario riprodurre l'app pubblicata per inviare eventi ad Application Insights. Gli eventi non vengono inviati ad Application Insights quando visualizzi l'anteprima dell'app Power Apps Studio.
Visualizzare gli eventi in Application Insights
Accedi al portale di Azure e apri la risorsa Application Insights che hai creato in precedenza.
Scorri verso il basso nel riquadro di spostamento a sinistra e seleziona Utenti sotto la sezione Utilizzo.
Nota
Viene visualizzata la pagina Utenti con i dettagli di utilizzo dell'app, come ad esempio:
- Numero di utenti che hanno visualizzato l'app
- Numero di sessioni utente
- Numero di eventi registrati
- Utenti dei sistemi operativi e dettagli della versione del browser
- Regione e posizione degli utenti
Seleziona una delle sessioni utente per visualizzare dettagli specifici. È possibile visualizzare informazioni quali la durata della sessione e le schermate visitate:
Seleziona la visualizzazione Eventi nel riquadro di spostamento a sinistra nella sezione Utilizzo. Puoi visualizzare un riepilogo di tutte le schermate visualizzate in tutte le sessioni dell'app:
Suggerimento
Sono disponibili altre funzionalità di Application Insights, ad esempio:
Creare eventi di traccia personalizzati
Puoi scrivere tracce personalizzate direttamente su Application Insights e iniziare ad analizzare informazioni specifiche per il tuo scenario. La funzione Analisi ti consente di raccogliere:
- Informazioni di utilizzo granulari per i controlli sugli schermi
- Quali utenti specifici accedono alla tua app
- Quali errori si verificano
La traccia può anche aiutare a diagnosticare i problemi perché puoi inviare un trail di informazioni mentre gli utenti sfogliano la tua app ed eseguono diverse azioni. Analizza i messaggi inviati a Application Insights: hanno una delle tre gravità:
- Informazioni
- Avviso
- Error
A seconda del proprio scenario, è possibile scegliere di inviare un messaggio di traccia con la gravità appropriata. Puoi eseguire una query sui dati e intraprendere azioni specifiche in base alla gravità.
Nota
Se stai registrando dati personali, tieni presente i tuoi obblighi in relazione alle varie leggi e normative sulla privacy. Fai riferimento al Centro protezione Microsoft e al Portale Service Trust per maggiori informazioni.
Ora crea un nuovo componente nella tua app per raccogliere il feedback su ogni schermata e scrivi gli eventi per Application Insights.
Accedi a Power Apps.
Nel riquadro di spostamento sinistro selezionare App. Dall'elenco delle app, seleziona l'app Kudos e quindi seleziona Modifica.
Nota
Puoi anche creare una nuova app o modificare un'app esistente.
Seleziona l'opzione Componenti nella Visualizzazione ad albero:
Seleziona Nuovo componente, quindi ridimensiona la larghezza su 200 e l'altezza su 75:
Seleziona Inserisci dal menu e quindi seleziona Icone per aggiungere Emoji: Faccia imbronciata ed Emoji: Faccia sorridente:
Seleziona Nuova proprietà personalizzata per creare una proprietà personalizzata:
Immetti la proprietà Nome e Nome visualizzato, ad esempio FeedbackSceen.
Immetti la Descrizione della proprietà.
Seleziona Tipo di proprietà come Input e Tipo di dati come Schermata:
Nota
La proprietà Input ti consente di acquisire il nome della schermata e il relativo componente in modo da poter registrare queste informazioni in Application Insights.
Seleziona il componente nella Visualizzazione ad albero, seleziona Altre azioni (…), quindi seleziona Rinomina per rinominare il componente con un nome significativo come FeedbackComponent.
Seleziona le icone, seleziona Altre azioni (…), quindi seleziona Rinomina per rinominare le icone con nomi significativi, come FrownIcon e SmileIcon.
Seleziona FrownIcon, seleziona la proprietà OnSelect, quindi immetti la seguente espressione nella barra della formula:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeedbackValue: "-1" } ); Notify("Thanks for your feedback!");
Nota
L'espressione formula invia UserName, UserEmail, Schermata e Feedback (con il valore -1) ad Application Insights.
Seleziona SmileIcon, seleziona la proprietà OnSelect, quindi immetti la seguente espressione nella barra della formula:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeebackValue: "1" } ); Notify("Thanks for your feedback!");
Aggiungi il componente a una delle schermate della tua app:
Seleziona Salva e quindi seleziona Pubblica per salvare e pubblicare la tua app.
Riproduci l'app pubblicata e invia un feedback per la faccia sorridente e la faccia imbronciata dai tuoi schermi.
Importante
È necessario riprodurre l'app pubblicata per inviare eventi ad Application Insights. Gli eventi non vengono inviati ad Application Insights quando visualizzi l'anteprima dell'app Power Apps Studio.
Analizzare i dati in Application Insights
Ora puoi iniziare ad analizzare i dati inviati utilizzando la funzione Trace dalla tua app in Application Insights.
Accedi al portale di Azure e apri la risorsa Application Insights che hai creato in precedenza:
Seleziona Log in Monitoraggio dal riquadro di spostamento a sinistra:
Immetti la query seguente e seleziona Esegui per visualizzare i commenti ricevuti dalla tua app:
traces | where message == "App Feedback" | order by timestamp
Seleziona una riga nei risultati ed espandi il campo customDimensions.
I valori per Schermo, UserName, UserEmail e FeedbackValue per l'evento OnSelect dell'icona faccia sorridente e la faccia imbronciata nel componente. I valori vengono inoltre registrati per ogni evento inviato ad Application Insights, come appId, appName e appSessionId.
Con la seguente query di esempio, puoi estendere le proprietà delle dimensioni personalizzate JSON e proiettare le colonne nella visualizzazione dei risultati.
traces | extend customdims = parse_json(customDimensions) | where message == "App Feedback" | project timestamp , message , AppName = customdims.['ms-appName'] , AppId = customdims.['ms-appId'] , FeedbackFrom = customdims.UserEmail , Screen = customdims.Screen , FeedbackValue = customdims.FeedbackValue | order by timestamp desc
Suggerimento
Le query di log sono estremamente potenti. Puoi usarle per unire più tabelle, aggregare grandi quantità di dati ed eseguire operazioni complesse. Altre informazioni sulle query di log.
Monitorare gli errori non gestiti (sperimentale)
[Questa sezione contiene la documentazione non definitiva ed è soggetta a modifiche].
Importante
- Questa è una funzionalità sperimentale.
- Le funzionalità sperimentali non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Queste funzionalità sono disponibili prima di una versione ufficiale di modo che i clienti possano ottenere un accesso prioritario e fornire dei commenti.
Non puoi sempre prevedere e pianificare tutti gli errori che potrebbero verificarsi durante l'esecuzione dell'app. Gli errori nelle formule di Power Fx non gestiti vengono segnalati agli utenti come messaggi banner. Possono anche essere segnalati ad Application Insights per aiutarti a comprenderne la frequenza e la gravità senza affidarti agli utenti della tua app per segnalare i problemi. Puoi anche configurare avvisi in tempo reale quando si verificano errori di runtime per adottare un approccio più proattivo.
Abilitare il passaggio degli errori ad Application Insights
È necessario abilitare l'impostazione che consente a Power Apps di passare gli errori di runtime non gestiti ad Application Insights di Azure.
Avviso
L'abilitazione di questa impostazione potrebbe comportare costi aggiuntivi relativi all'archiviazione dei registri di Application Insights.
Per abilitare il passaggio degli errori, vai a Impostazioni > Funzionalità in arrivo > Sperimentale > Passa errori ad Azure Application Insights mantenendo l'app canvas aperta per la modifica. Salva e pubblica l'app.
Eventi di errore in Application Insights
Gli errori di Power Fx non gestiti riscontrati dagli utenti durante il runtime dell'app vengono segnalati nella tabella Analisi. Gli errori non gestiti possono essere identificati e distinti da altri eventi di errore mediante il messaggio di evento "Errore non gestito". La dimensione "severityLevel" di questi eventi è 3 (TraceSeverity.Error).
I messaggi di errore dettagliati sono forniti nella dimensione "errors" della proprietà customDimension. Nelle situazioni in cui si sono verificati più errori durante la stessa operazione, gli errori vengono consolidati nella dimensione "errori" di un singolo evento di analisi. I messaggi di errore sono gli stessi riportati in Monitoraggio durante una sessione di debug dal vivo.
La seguente query di esempio identifica gli errori non gestiti ed espande tutti i messaggi di errore inclusi nell'evento di analisi:
traces
| where message == "Unhandled error"
| extend customdims = parse_json(customDimensions)
| extend errors = parse_json(tostring(customdims.['errors']))
| mv-expand errors
| project timestamp
, itemId //unique identifier for the trace event
, AppName = customdims.['ms-appName']
, AppId = customdims.['ms-appId']
, errors = errors.['Message']
| order by timestamp desc
Traccia delle correlazioni (sperimentale)
[Questa sezione contiene la documentazione non definitiva ed è soggetta a modifiche].
Importante
- Questa è una funzionalità sperimentale.
- Le funzionalità sperimentali non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Queste funzionalità sono disponibili prima di una versione ufficiale di modo che i clienti possano ottenere un accesso prioritario e fornire dei commenti.
Le connessioni a servizi e dati esterni sono fondamentali per la maggior parte delle app. L'analisi di correlazione genera e propaga le informazioni di contesto per unire i log generati dal sistema attraverso un'app canvas e le sue connessioni, in base a determinate limitazioni. Ad esempio, l'app può chiamare un connettore personalizzato che a sua volta chiama una funzione di Azure o altro API REST. L'analisi di correlazione consente di correlare le azioni eseguite nell'app con le chiamate API sottostanti tra i livelli. Ciò può risultare utile nella risoluzione dei problemi.
L'analisi di correlazione dell'app canvas è un'implementazione dell'analisi del contesto e segue la specifica W3C.
Abilitare la traccia delle correlazioni
Avviso
L'abilitazione di questa impostazione potrebbe comportare costi aggiuntivi relativi all'archiviazione dei registri di Application Insights.
Per abilitare la funzionalità di traccia delle correlazioni, vai a Impostazioni > Funzionalità in arrivo > Sperimentale > Abilita traccia delle correlazioni di Azure Application Insights mantenendo l'app canvas aperta per la modifica. Salva e pubblica l'app.
Limiti
- L'analisi di correlazione è disponibile solo per i connettori personalizzati. Altri tipi di connettori non sono supportati.
- Le richieste HTTP vengono acquisite in Application Insights solo se il servizio connesso è anche collegato ad Application Insights.
Utilizzare la traccia delle correlazioni
Se abilitata, l'analisi di correlazione aggiunge un nuovo evento di log generato dal sistema nella tabella dipendenze dell'istanza delle app canvas Application Insights. Questo evento viene registrato nel momento in cui viene ricevuta una risposta da una chiamata di rete. Gli eventi di dipendenza acquisiscono i dettagli della chiamata di rete, incluse le intestazioni di richiesta e risposta, il codice dello stato della risposta e la durata della chiamata.
Se anche il servizio connesso è connesso ad Application Insights, un ulteriore evento di log generato dal sistema che cattura la richiesta viene generato nella tabella richieste dell'istanza Application Insights del servizio. Alcuni servizi di Azure, ad esempio Funzioni di Azure, possono essere connessi senza alcuna codifica dal portale di Azure. È possibile connettere l'app canvas o più app e i servizi connessi alla stessa istanza di Application Insights.
Le chiamate di rete per i connettori supportati possono essere unite ad altri log generati dal sistema nella dimensione "operation_Id". La query di esempio seguente mostra una chiamata di rete effettuata insieme agli eventi di analisi emessi durante una sessione dell'app.
traces | union dependencies | union requests | union pageViews | union customEvents
| project timestamp
, itemType
, name
, operation_Name
, message
, severityLevel
, customDimensions
, operation_Id
, operation_ParentId
| where operation_Id == "0a7729e3e83c4e4d93cb4f51149f73b9" //placeholder operation_Id, replace
| order by timestamp asc
Esportare dati in Power BI
Puoi esportare i risultati della query e i dati di Application Insights in Power BI per l'analisi e la presentazione dei dati.
Accedi al portale di Azure e apri la risorsa Application Insights che hai creato in precedenza:
Seleziona Log in Monitoraggio dal riquadro di spostamento a sinistra:
Dalla finestra della query di analisi dei log, seleziona il menu Esporta.
Seleziona l'opzione Esporta in Power BI (query M) per scaricare un file di query Power BI:
Apri il file scaricato in un editor di testo e copia la query negli Appunti.
Power BI aperti.
Seleziona il menu Ottieni dati nella barra multifunzione Home e quindi seleziona Query vuota:
Nella finestra della query seleziona Editor avanzato. Incolla la query nella finestra, seleziona Fatto, quindi seleziona Chiudi e applica:
Puoi anche creare grafici e visualizzazioni in Power BI per rappresentare il feedback ricevuto nella tua app, nonché prendere decisioni ed eseguire azioni basate sui dati.
Contesto e dimensioni dell'evento di traccia predefinito
Un set di dimensioni predefinite viene aggiunto anche alla proprietà customDimensions per ogni evento di traccia. Queste dimensioni possono essere utilizzate per identificare l'applicazione e le sessioni dell'applicazione in cui si sono verificati gli eventi. Se registri ulteriori dati personalizzati utilizzando la funzione di analisi, questi verranno visualizzati anche nelle dimensioni personalizzate.
Nome dimensione | Rappresenta |
---|---|
ms-appId | L'ID applicazione dell'app che ha inviato l'evento. |
ms-appname | Il nome applicazione dell'app che ha inviato l'evento. |
ms-appSessionId | L'ID sessione dell'applicazione. Questo valore potrebbe non essere popolato in alcuni scenari. Quando disponibile, questo valore sostituisce la dimensione sessionID standard di Application Insights. |
ms-tenantID | L'identificatore univoco del tenant in cui è pubblicata l'applicazione. |
ms-environmentId | Il nome dell'ambiente in cui è pubblicata l'applicazione. |
userId | Un identificatore univoco per l'utente associato alla sessione. |
ms-duration | Un valore imputato che misura il tempo impiegato da un utente per navigare da una schermata all'altra. Questo valore sovrascrive la dimensione standard della durata di Application Insights PageView. |
sessionId | Un ID sessione che può essere utilizzato per correlare tutti gli eventi associati a una singola sessione dell'applicazione. Questo valore è sempre presente ed è consigliato per comprendere il conteggio delle sessioni univoche. Questo valore è preso dall'ID sessione del lettore e viene mostrato quando si visualizzano i dettagli della sessione durante la riproduzione dell'app. A volte l'ID sessione potrebbe ottenere un valore predefinito, casuale e univoco generato da Application Insights. Questo valore predefinito non è affidabile e non è correlato ad alcun parametro specifico dell'app. |
Durata | Un valore imputato che misura il tempo impiegato da un utente per navigare da una schermata all'altra. Questo valore è uguale alla durata riportata dalla dimensione ms-duration. |
ms-isTest | Indica se la sessione è associata al test runner di Test Studio. |
ms-currentScreenName | Il nome della pagina da cui sta navigando un utente (presente per gli eventi di navigazione della pagina). |
ms-targetScreenName | Il nome della pagina a cui sta navigando un utente (presente per gli eventi di navigazione della pagina). |
Scenari non supportati
Application Insights non supporta gli scenari seguenti.
- Gli eventi dei giocatori offline non vengono acquisiti.
- Gli eventi dell'app per dispositivi mobili (iOS e Android) non vengono acquisiti quando l'app viene sospesa.
- GCC e cloud non pubblici non sono supportati.
Nota
Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)
Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).