Abilitare e visualizzare dati di telemetria avanzati in Application Insights per flussi di lavoro Standard in App per la logica di Azure
Si applica: App per la logica di Azure (Standard)
In Application Insights è possibile abilitare la raccolta di dati di telemetria avanzata per la risorsa dell'app per la logica Standard e quindi visualizzare i dati raccolti al termine dell'esecuzione del flusso di lavoro. Questa funzionalità offre un'esperienza semplificata per individuare informazioni dettagliate sui flussi di lavoro e un maggiore controllo sugli eventi di filtro nell'origine dati, che consente di ridurre i costi di archiviazione. Questi miglioramenti si concentrano sulle metriche delle prestazioni in tempo reale che forniscono informazioni dettagliate sull'integrità e sul comportamento del sistema. Ciò consente di rilevare e risolvere in modo proattivo i problemi in precedenza.
Con l'app per la logica connessa ad Application Insights, è possibile visualizzare i dati di log e altre metriche quasi in tempo reale tramite il portale di Azure usando Live Metrics Stream. Sono disponibili anche visualizzazioni che consentono di tracciare le richieste in ingresso, le richieste in uscita e l'integrità complessiva e l'accesso a una tabella di diagnostica a livello di traccia.
L'elenco seguente descrive alcuni miglioramenti di telemetria di esempio:
- Gli eventi trigger e azione includono ora il tipo di trigger o azione e il nome dell'API, che consente di eseguire query per un uso specifico del connettore.
- Rendere più semplice tenere traccia degli eventi di ripetizione dei tentativi.
- Acquisire le eccezioni per gli errori di trigger e azione.
- Maggiore controllo sull'applicazione di filtri agli eventi non correlati al flusso di lavoro.
- Filtro avanzato che offre un maggiore controllo sul modo in cui vengono generati gli eventi, inclusi trigger e azioni.
Questa guida illustra come attivare la raccolta di dati di telemetria avanzata in Application Insights per l'app per la logica Standard.
Prerequisiti
Account e sottoscrizione di Azure. Se non si ha una sottoscrizione, è possibile iscriversi per creare un account Azure gratuito.
Istanza di Application Insights. Questa risorsa viene creata in anticipo quando si crea l'app per la logica Standard o dopo la distribuzione dell'app per la logica.
Un'app per la logica Standard e un flusso di lavoro, nel portale di Azure o in Visual Studio Code.
La risorsa o il progetto dell'app per la logica devono usare il runtime di Funzioni di Azure v4, che è abilitato per impostazione predefinita.
L'app per la logica deve avere abilitato Application Insights per la registrazione e la traccia di diagnostica. È possibile farlo quando si crea l'app per la logica o dopo la distribuzione.
Abilitare i dati di telemetria avanzati in Application Insights
Nel portale di Azure, aprire la risorsa dell’app per la logica Standard.
Nel menu dell'app per la logica, in Strumenti di sviluppo selezionare Strumenti avanzati. Nella pagina Strumenti avanzati selezionare Vai per aprire gli strumenti Kudu.
Nella pagina Kudu selezionare CMD nel menu Console di debug. Nella tabella della directory delle cartelle andare al file seguente e selezionare Modifica: site/wwwroot/host.json
Nel file host.json aggiungere il codice JSON seguente:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows", "version": "[1, 2.00]" }, "extensions": { "workflow": { "Settings": { "Runtime.ApplicationInsightTelemetryVersion": "v2" } } } }
Questa configurazione abilita il livello predefinito di dettaglio. Per altre opzioni, vedere Applicare il filtro all'origine.
Apri Application Insights
Al termine dell'esecuzione del flusso di lavoro e dopo alcuni minuti, aprire la risorsa di Application Insights.
Nel menu dell'app per la logica del portale di Azure selezionare Application Insights in Impostazioni.
Nel menu delle risorse di Application Insights, in Monitoraggio selezionare Log.
Visualizzare i log avanzati in Application Insights
Le sezioni seguenti descrivono le tabelle in Application Insights in cui è possibile trovare e visualizzare i dati di telemetria avanzati generati dall'esecuzione del flusso di lavoro.
Nome tabella | Descrizione |
---|---|
Richieste | Dettagli sugli eventi seguenti nelle esecuzioni del flusso di lavoro: - Eventi di attivazione e azione - Numero di tentativi - Utilizzo dei connettori |
Tracce | Dettagli sugli eventi seguenti nelle esecuzioni del flusso di lavoro: - Eventi di inizio e fine del flusso di lavoro - Eventi di invio batch e ricezione batch |
Eccezioni | Dettagli sugli eventi di eccezione nelle esecuzioni del flusso di lavoro |
Dipendenze | Dettagli sugli eventi di dipendenza nelle esecuzioni del flusso di lavoro |
Tabella di richieste
La tabella Richieste contiene campi che tengono traccia dei dati sugli eventi seguenti nelle esecuzioni del flusso di lavoro Standard:
- Eventi di attivazione e azione
- Tentativi
- Utilizzo dei connettori
Per mostrare il modo in cui i dati vengono inseriti in questi campi, si supponga di avere il flusso di lavoro Standard di esempio seguente che inizia con il trigger Richiedi seguito dall'azione Componi e Risposta.
Le impostazioni del trigger hanno un parametro denominato Custom Tracking Id. Il valore del parametro è impostato su un'espressione che esegue il pull del valore della proprietà orderId dal corpo di un messaggio in arrivo:
Successivamente, le impostazioni dell'azione Componi del flusso di lavoro hanno una proprietà rilevata aggiunta denominata solutionName. Il valore della proprietà viene impostato sul nome della risorsa dell'app per la logica.
L'azione Componi è seguita da un'azione Risposta che restituisce una risposta al chiamante.
L'elenco seguente include query di esempio che è possibile creare ed eseguire nella tabella Richieste:
Eseguire una query per tutti gli eventi di attivazione e azione
Dopo l'esecuzione del flusso di lavoro e alcuni minuti, è possibile creare una query sulla tabella Richieste per visualizzare tutti gli eventi dell'operazione.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi di trigger e azione, creare ed eseguire la query seguente:
requests | sort by timestamp desc | take 10
L'esempio seguente mostra la scheda Risultati con le colonne e i dati annotati in ogni riga:
Colonna Descrizione Esempio name Nome dell'operazione del flusso di lavoro Per questo esempio, le righe mostrano manuale (trigger Richiedi), Componi e Risposta. operazione riuscita Stato di esecuzione dell'operazione Per questo esempio, tutte le righe mostrano Vero per un'esecuzione riuscita. Se si è verificato un errore, il valore è Falso. resultCode Codice di stato dell'esecuzione dell'operazione Per questo esempio, tutte le righe mostrano Eseguito con successo (200). duration Durata dell'esecuzione dell'operazione Varia per ogni operazione. Per visualizzare i dettagli per un'operazione specifica, espandere la riga per il trigger o l'azione:
L'esempio seguente mostra i dettagli espansi per il trigger Richiedi:
Proprietà Descrizione Esempio Categoria Categoria di operazioni, che è sempre Workflow.Operations.Triggers o Workflow.Operations.Actions, in base all'operazione Workflow.Operations.Triggers. clientTrackingId ID di traccia personalizzato, se specificato 123456 runId ID per l'istanza di esecuzione del flusso di lavoro 08585358375819913417237801890CU00 triggerName Nome trigger manuale workflowId ID per il flusso di lavoro che ha eseguito il trigger c7711d107e6647179c2e15fe2c2720ce workflowName Nome del flusso di lavoro che ha eseguito il trigger Richiedi-Risposta-Flusso di lavoro operation_Name Nome dell'operazione che ha eseguito il trigger. In questo caso, questo nome corrisponde al nome del flusso di lavoro. Richiedi-Risposta-Flusso di lavoro operation_Id ID per il componente o il flusso di lavoro appena eseguito. Questo ID corrisponde al valore runId per l'istanza di esecuzione del flusso di lavoro. Se esistono eccezioni o dipendenze, questo valore supera le tabelle in modo da poter collegare questo record di trigger a tali eccezioni o dipendenze. 08585358375819913417237801890CU00 operation_ParentId ID collegabile per il flusso di lavoro che ha chiamato il trigger f95138daff8ab129 L'esempio seguente mostra i dettagli espansi per l'azione Componi:
Proprietà Descrizione Esempio Categoria Categoria di operazioni, che è sempre Workflow.Operations.Triggers o Workflow.Operations.Actions, in base all'operazione Workflow.Operations.Actions clientTrackingId ID di traccia personalizzato, se specificato 123456 actionName Nome azione Compose. runId ID per l'istanza di esecuzione del flusso di lavoro 08585358375819913417237801890CU00 workflowId ID per il flusso di lavoro che ha eseguito l'azione c7711d107e6647179c2e15fe2c2720ce workflowName Nome del flusso di lavoro che ha eseguito l'azione Richiedi-Risposta-Flusso di lavoro solutionName Nome della proprietà tracciata, se specificato LA-AppInsights operation_Name Nome dell'operazione che ha eseguito l'azione. In questo caso, questo nome corrisponde al nome del flusso di lavoro. Richiedi-Risposta-Flusso di lavoro operation_Id ID per il componente o il flusso di lavoro appena eseguito. Questo ID corrisponde al valore runId per l'istanza di esecuzione del flusso di lavoro. Se esistono eccezioni o dipendenze, questo valore supera le tabelle in modo da poter collegare questo record di azione a tali eccezioni o dipendenze. 08585358375819913417237801890CU00 operation_ParentId ID collegabile per il flusso di lavoro che ha chiamato l'azione f95138daff8ab129
Eseguire una query solo per eventi di attivazione o azione
È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione, in base alla categoria di operazioni e al nome del flusso di lavoro.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi trigger in un flusso di lavoro specifico, creare ed eseguire una query con il valore della proprietà customDimensions.Category impostato su Workflow.Operations.Triggers e operation_Name impostato sul nome del flusso di lavoro, ad esempio:
requests | where customDimensions.Category == "Workflow.Operations.Triggers" and operation_Name == "Request-Response-Workflow"
Per visualizzare tutti gli eventi di azione in un flusso di lavoro specifico, creare una query con il valore della proprietà customDimensions.Category impostato su Workflow.Operations.Actions e operation_Name impostato sul nome del flusso di lavoro, ad esempio:
requests | where customDimensions.Category == "Workflow.Operations.Actions" and operation_Name == "Request-Response-Workflow"
Eseguire una query per eventi di attivazione o azione in base al tipo di operazione
È possibile creare una query sulla tabella Richieste per visualizzare gli eventi per un trigger o un tipo di azione specifico.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi dell'operazione con un tipo di trigger specifico, creare ed eseguire una query con il valore customDimensions.triggerType impostato sul tipo di trigger desiderato, ad esempio:
requests | where customDimensions.triggerType == "Request"
Per visualizzare tutti gli eventi dell'operazione con un tipo di azione specifico, creare ed eseguire una query con il valore customDimensions.actionType impostato sul tipo di azione desiderato, ad esempio:
requests | where customDimensions.actionType == "Compose"
Eseguire una query su eventi di attivazione o azione in base all'ID di esecuzione del flusso di lavoro
È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione, in base all'ID di esecuzione del flusso di lavoro. Questo ID di esecuzione del flusso di lavoro è lo stesso ID che è possibile trovare nella cronologia di esecuzione del flusso di lavoro.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi dell'operazione con un ID di esecuzione del flusso di lavoro specifico, creare ed eseguire una query con il valore operation_Id impostato sull'ID di esecuzione del flusso di lavoro, ad esempio:
requests | where operation_Id == "08585287554177334956853859655CU00"
Eseguire query su eventi trigger ed azioni in base all'ID di traccia client
È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione, in base al nome del flusso di lavoro e all'ID di traccia client.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi dell'operazione con un ID di traccia client specifico in un flusso di lavoro specifico, creare ed eseguire una query con il valore operation_Name impostato sul nome del flusso di lavoro e il valore della proprietà clientTrackingId impostato sul valore desiderato, ad esempio:
requests | where operation_Name == "Request-Response-Workflow" | extend correlation = todynamic(tostring(customDimensions.correlation)) | where correlation.clientTrackingId == "123456"
Eseguire una query su eventi di attivazione o azione in base al nome della soluzione
È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione, in base al nome del flusso di lavoro e al nome della soluzione.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi dell'operazione con un ID di traccia client specifico in un flusso di lavoro specifico, creare ed eseguire una query con il valore operation_Name impostato sul nome del flusso di lavoro e il valore della proprietà solutionName impostato sul valore desiderato, ad esempio:
requests | where operation_Name == "Request-Response-Workflow" and customDimensions has "trackedProperties" | extend trackedProperties = todynamic(tostring(customDimensions.trackedProperties)) | where trackedProperties.solutionName == "LA-AppInsights"
Tentativi
Per illustrare come questi dati vengono inseriti nella tabella Richieste, il flusso di lavoro Standard di esempio seguente usa un'azione HTTP che chiama un URL, che non viene risolto. Il flusso di lavoro ha anche un criterio di ripetizione dei tentativi impostato su un intervallo fisso che ritenta tre volte, una volta ogni 60 secondi.
Eseguire una query su eventi di attivazione o azione per i nuovi tentativi
È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione con tentativi di ripetizione.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare solo gli eventi di attivazione e azione con cronologia dei tentativi, creare ed eseguire la query seguente in Application Insights:
requests | extend retryHistory = tostring(tostring(customDimensions.retryHistory)) | where isnotempty(retryHistory)
Per visualizzare i tentativi per un'operazione specifica con un criterio di ripetizione dei tentativi, espandere la riga per tale operazione.
L'esempio seguente mostra i dettagli espansi per l'azione HTTP:
I valori della proprietà successo e resultCode indicano che l'azione HTTP non è riuscita. Insieme alle proprietà descritte in Eseguire una query nella tabella Richieste per tutti gli eventi di attivazione e azione, il record contiene le informazioni seguenti, che includono tre tentativi:
Proprietà Descrizione Esempio retryHistory Dettagli della cronologia per uno o più tentativi code Tipo di errore per un tentativo di ripetizione specifico error Dettagli sull'errore specifico che si è verificato
Eseguire una query su eventi di attivazione o azione per l'utilizzo dei connettori
È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione, in base a un utilizzo specifico dei connettori.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi trigger usando un tipo di connettore specifico, creare ed eseguire una query con le proprietà e i valori seguenti:
requests | where customDimensions.Category == "Workflow.Operations.Triggers" and customDimensions.triggerType =="ApiConnectionWebhook" and customDimensions.apiName =="commondataservice"
Proprietà Valore di esempio customDimensions.Category Workflow.Operations.Triggers customDimensions.triggerType Tipo di operazione, ad esempio ApiConnectionWebhook customDimensions.apiName Nome API del connettore in formato JSON, ad esempio commondataservice per il connettore Microsoft Dataverse Per visualizzare tutti gli eventi di azione con un utilizzo specifico dei connettori, creare ed eseguire una query con il valore customDimensions.Category impostato su Workflow.Operations.Actions, il valore customDimensions.triggerType impostato sul tipo di operazione e customDimensions.apiName impostato sul nome API del connettore in formato JSON, ad esempio:
Proprietà Valore di esempio customDimensions.Category Workflow.Operations.Actions customDimensions.triggerType Tipo di operazione, ad esempio ApiConnection customDimensions.apiName Il nome dell'API del connettore in formato JSON, ad esempio office365 per il connettore Microsoft Office 365 Outlook requests | where customDimensions.Category == "Workflow.Operations.Actions" and customDimensions.actionType == "ApiConnection" and customDimensions.apiName == "office365"
Per i trigger e le azioni, Application Insights distingue tra i tipi di connessioni esistenti. È possibile visualizzare valori diversi nei campi actionType e triggerType in base al fatto che la connessione abbia ApiConnection, ApiConnectionWebhook, il tipo di base predefinito, ad esempio Richiedi o il tipo ServiceProvider predefinito basato sul provider di servizi.
Tabella delle tracce
La tabella Tracce contiene campi che tengono traccia dei dati relativi agli eventi seguenti nelle esecuzioni del flusso di lavoro Standard:
Eventi di inizio e fine del flusso di lavoro
Queste informazioni sono rappresentate come due eventi distinti a causa del potenziale per le esecuzioni di flussi di lavoro a esecuzione prolungata.
Inviare e ricevere eventi in batch
Per altre informazioni, vedere Uso di operazioni batch predefinite in App per la logica di Azure (Standard)
L'elenco seguente include query di esempio che è possibile creare ed eseguire sulla tabella Tracce:
Attività | Passaggi |
---|---|
Visualizzare gli eventi di inizio e fine in tutte le esecuzioni del flusso di lavoro | Eseguire una query per gli eventi di inizio e fine in tutte le esecuzioni del flusso di lavoro |
Visualizzare gli eventi di inizio e fine in un'esecuzione del flusso di lavoro specifica | Eseguire una query per gli eventi di inizio e fine in un'esecuzione del flusso di lavoro |
Visualizzare eventi di invio e ricezione batch in tutte le esecuzioni del flusso di lavoro | Eseguire una query per l'invio e la ricezione batch di eventi in tutte le esecuzioni del flusso di lavoro |
Eseguire una query per gli eventi di inizio e fine in tutte le esecuzioni del flusso di lavoro
È possibile creare una query sulla tabella Tracce per visualizzare tutti gli eventi di inizio e fine per tutte le esecuzioni del flusso di lavoro.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Creare ed eseguire una query con il valore customDimensions.Category impostato su Workflow.Operations.Runs, ad esempio:
traces | where customDimensions.Category == "Workflow.Operations.Runs"
Eseguire una query per gli eventi di inizio e fine in un'esecuzione specifica del flusso di lavoro
È possibile creare una query sulla tabella Tracce per visualizzare gli eventi di inizio e fine per un'esecuzione specifica del flusso di lavoro.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Creare ed eseguire una query con il valore customDimensions.Category impostato su Workflow.Operations.Runs e il valore operation_Id impostato sull'ID di esecuzione del flusso di lavoro, ad esempio:
traces | where customDimensions.Category == "Workflow.Operations.Runs" | and operation_Id == "08585287571846573488078100997CU00"
Eseguire una query per l'invio e la ricezione batch di eventi in tutte le esecuzioni del flusso di lavoro
È possibile creare una query sulla tabella Tracce per visualizzare gli eventi di invio batch e ricezione batch in tutte le esecuzioni del flusso di lavoro.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Creare ed eseguire una query con il valore customDimensions.Category impostato su Workflow.Operations.Runs e il valore operation_Id impostato sull'ID di esecuzione del flusso di lavoro, ad esempio:
traces | where customDimensions.Category == "Workflow.Operations.Batch"
Tabelle delle eccezioni
La tabella Eccezioni contiene campi che tengono traccia dei dati relativi agli eventi di eccezione nelle esecuzioni del flusso di lavoro Standard. Per mostrare il modo in cui i dati vengono inseriti in questi campi, si supponga di avere il flusso di lavoro Standard di esempio seguente che inizia con il trigger Richiedi seguito dall'azione Componi e Risposta. L'azione Componi usa un'espressione che divide un valore per zero, che genera un'eccezione:
Eseguire una query per gli eventi di eccezione in tutte le esecuzioni del flusso di lavoro
È possibile creare una query sulla tabella Eccezioni per visualizzare gli eventi di eccezione in tutte le esecuzioni del flusso di lavoro.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare tutti gli eventi di eccezione, creare ed eseguire la query seguente in Application Insights:
exceptions | sort by timestamp desc
Per visualizzare i dettagli per un'eccezione specifica, espandere la riga per tale eccezione:
L'esempio seguente mostra l'eccezione espansa per l'azione Componi e i dettagli sull'eccezione:
Proprietà Descrizione problemId Tipo di eccezione o breve descrizione dell'eccezione che si è verificata outerMessage Descrizione più dettagliata dell'eccezione details Informazioni dettagliate e più complete sull'eccezione clientTrackingId ID di traccia client, se specificato workflowId ID per il flusso di lavoro che ha riscontrato l'eccezione workflowName Nome del flusso di lavoro che ha riscontrato l'eccezione runId ID per l'istanza di esecuzione del flusso di lavoro actionName Nome dell'azione non riuscita con l'eccezione operation_Name Nome del flusso di lavoro che ha riscontrato l'eccezione operation_Id ID per il componente o il flusso di lavoro appena eseguito. Questo ID corrisponde al valore runId per l'istanza di esecuzione del flusso di lavoro. Questo valore trascende le tabelle in modo da poter collegare questo record di eccezione all'istanza di esecuzione del flusso di lavoro. operation_ParentId ID per il flusso di lavoro che ha chiamato l'azione, che è possibile collegare all'ID dell'azione nella tabella Richieste Per visualizzare le eccezioni per un flusso di lavoro specifico, creare ed eseguire la query seguente:
exceptions | where operation_Name contains "Request-Response-Workflow-Exception"
Tabella delle dipendenze
La tabella Dipendenze contiene campi che tengono traccia dei dati sugli eventi di dipendenza nelle esecuzioni del flusso di lavoro Standard. Questi eventi vengono generati quando una risorsa chiama un'altra risorsa e quando entrambe le risorse usano Application Insights. Esempi per App per la logica di Azure includono un servizio che chiama un altro servizio su HTTP, un database o un file system. Application Insights misura la durata delle chiamate di dipendenza e se tali chiamate hanno esito positivo o negativo, insieme a informazioni, ad esempio il nome della dipendenza. È possibile analizzare chiamate di dipendenza specifiche e correlarle a richieste ed eccezioni.
Per illustrare il modo in cui i dati vengono inseriti in questi campi, si supponga di avere il flusso di lavoro padre Standard seguente che chiama un flusso di lavoro figlio su HTTP usando l'azione HTTP :
Eseguire una query per gli eventi di dipendenza in un flusso di lavoro specifico
È possibile creare una query sulla tabella Dipendenze per visualizzare gli eventi di dipendenza in un'esecuzione specifica del flusso di lavoro.
Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.
Per visualizzare gli eventi di dipendenza tra il flusso di lavoro padre e il flusso di lavoro figlio, creare ed eseguire la query seguente:
union requests, dependencies | where operation_Id contains "<runId>"
Questa query usa l'operatore unione per restituire record dalla tabella Richieste e dalla tabella Dipendenze. La query usa anche il valore della proprietà operation_Id per fornire il collegamento tra i record specificando il valore runId del flusso di lavoro desiderato, ad esempio:
union requests, dependencies | where operation_Id contains "08585355753671110236506928546CU00"
Nell'esempio seguente viene illustrato un evento di dipendenza per il flusso di lavoro specificato, inclusi i record per gli eventi dell'operazione nel flusso di lavoro padre dalla tabella Richieste e quindi un record di dipendenza dalla tabella Dipendenze:
Per i record dell'evento dell'operazione, la colonna itemType mostra i relativi tipi di record come richiesta. Per il record di dipendenza, la colonna itemType indica il tipo di record come dipendenza.
Proprietà Descrizione runId ID per l'istanza di esecuzione del flusso di lavoro actionName Nome dell'azione in cui si verifica l'evento di dipendenza operation_Id ID per il flusso di lavoro specificato. Questo ID corrisponde al valore runId per l'istanza di esecuzione del flusso di lavoro. Questo valore supera le tabelle in modo da poter collegare questo record di dipendenza all'istanza di esecuzione del flusso di lavoro. operation_ParentId ID per l'azione in cui si verifica l'evento di dipendenza, che collega anche il record dell'evento dell'operazione e il record dell'evento di dipendenza insieme
Con la query, è anche possibile visualizzare la chiamata di dipendenza da un flusso di lavoro padre a un flusso di lavoro figlio quando si usa la mappa dell'applicazione in Application Insights. Il valore operation_Id nella query fornisce il collegamento che rende possibile questa visualizzazione.
Per aprire la mappa dell'applicazione, nel menu delle risorse di Application Insights, in Indagaselezionare Mappa delle applicazioni.
Filtrare gli eventi
In Application Insights è possibile filtrare gli eventi nei modi seguenti:
Creare ed eseguire query come descritto nelle sezioni precedenti.
Filtrare all'origine specificando i criteri da valutare prima di generare eventi.
Applicando filtri all'origine, è possibile ridurre la quantità di spazio di archiviazione necessaria e, di conseguenza, i costi operativi.
Applicare il filtro all'origine
Nella tabella Requests o Tracce un record ha un nodo denominato customDimensions, che contiene una proprietà Categoria. Nella tabella Richieste, ad esempio, il record della richiesta per un evento trigger batch è simile all'esempio seguente:
Nella tabella Richieste i valori delle proprietà Categoria seguenti consentono di distinguere e associare livelli di dettaglio diversi:
Valore categoria | Descrizione |
---|---|
Workflow.Operations.Triggers | Identifica un record di richiesta per un evento trigger |
Workflow.Operations.Actions | Identifica un record di richiesta per un evento di azione |
Per ogni valore Categoria, è possibile impostare in modo indipendente il livello di dettaglio nel file di host.json per la risorsa o il progetto dell'app per la logica. Ad esempio, per restituire solo i record per gli eventi di attivazione o azione che contengono errori, nel file host.json è possibile aggiungere l'oggetto JSON di registrazione seguente, che contiene un oggetto JSON logLevel con i livelli di dettaglio desiderati:
{
"logging": {
"logLevel": {
"Workflow.Operations.Actions": "Error",
"Workflow.Operations.Triggers": "Error"
}
}
}
Per i record di tabella Tracce, gli esempi seguenti illustrano i modi in cui è possibile modificare il livello di dettaglio per gli eventi:
{
"logging": {
"logLevel": {
"Workflow.Host": "Warning",
"Workflow.Jobs": "Warning",
"Workflow.Runtime": "Warning"
}
}
}
L'esempio seguente imposta il livello di dettaglio predefinito del log su Avviso, ma mantiene il livello di dettaglio a Informazioni per gli eventi di attivazione, azione ed esecuzione del flusso di lavoro:
{
"logging": {
"logLevel": {
"default": "Warning",
"Workflow.Operations.Actions": "Information",
"Workflow.Operations.Runs": "Information",
"Workflow.Operations.Triggers": "Information"
}
}
}
Se non si specifica alcun valore logLevel, il livello di dettaglio predefinito è Informazioni. Per altre informazioni, vedere Configurare i livelli di log.
Nel portale di Azure, aprire la risorsa dell’app per la logica Standard.
Nel menu dell'app per la logica, in Strumenti di sviluppo selezionare Strumenti avanzati. Nella pagina Strumenti avanzati selezionare Vai per aprire gli strumenti Kudu.
Nella pagina Kudu selezionare CMD nel menu Console di debug. Nella tabella della directory delle cartelle andare al file seguente e selezionare Modifica: site/wwwroot/host.json
Nel file host.json aggiungere l'oggetto JSON di registrazione con i valori logLevel impostati sui livelli di dettaglio desiderati:
{ "logging": { "logLevel": { "Workflow.Operations.Actions": "<verbosity-level>", "Workflow.Operations.Triggers": "<verbosity-level>" } } }
Visualizzare le metriche del flusso di lavoro in Application Insights
Con i miglioramenti dei dati di telemetria in Application Insights, è anche possibile ottenere informazioni dettagliate sul flusso di lavoro nel dashboard delle metriche.
Aprire il dashboard Metriche e configurare i filtri di base
Nel portale di Azure aprire la risorsa di Application Insights, se non è già aperta.
Nel menu delle risorse di Application Insights, in Monitoraggio selezionare Metriche.
Nell'elenco Ambito selezionare l'istanza di Application Insights.
Nell'elenco Spazio dei nomi delle metriche selezionare workflow.operations.
Nell'elenco Metrica selezionare una metrica, ad esempio Esecuzioni completate.
Nell'elenco Aggregazione selezionare un tipo, ad esempio Conteggio o Media.
Al termine, il dashboard Metriche mostra un grafico con le esecuzioni completate del flusso di lavoro.
Filtrare in base a un flusso di lavoro specifico
Quando si abilitano le metriche multidimensionali nel dashboard metriche, è possibile specificare come destinazione un subset degli eventi complessivi acquisiti in Application Insights e filtrare gli eventi in base a un flusso di lavoro specifico.
Nella risorsa di Application Insights abilitare le metriche multidimensionali.
In Application Insights aprire il dashboard Metriche.
Sulla barra degli strumenti del grafico selezionare Aggiungi filtro.
Nell'elenco Proprietà selezionare Flusso di lavoro.
Nell'elenco Operatore selezionare il segno di uguale (=).
Nell'elenco Valori selezionare i flussi di lavoro desiderati.
Visualizzare i dati e le metriche di log "live"
Con i dati di telemetria avanzati di Application Insights abilitati, è possibile visualizzare i dati di log quasi in tempo reale e altre metriche dell'istanza di Application Insights nel portale di Azure. È possibile usare questa visualizzazione per tracciare le richieste in ingresso, le richieste in uscita e l'integrità complessiva. Si ottiene anche una tabella per la diagnostica a livello di traccia.
Nel portale di Azure aprire la risorsa di Application Insights, se non è già aperta.
Nel menu delle risorse di Application Insights, in Indaga, selezionare Metriche attive.
La pagina Metriche attive mostra i dati di log e altre metriche, ad esempio:
Per altre informazioni, vedere Live Metrics: Monitoraggio e diagnosi con latenza di 1 secondo.
Nota
Poiché i flussi di lavoro delle app per la logica Standard si basano su Funzioni di Azure, Metriche attive supporta questi flussi di lavoro delle app per la logica.
Trasmettere e visualizzare l'output di debug dai file di log dell'applicazione
Con i dati di telemetria avanzati di Application Insights abilitati, è possibile trasmettere informazioni dettagliate sul debug nel portale di Azure per i file di log dell'applicazione. Queste informazioni sono equivalenti all'output generato dal debug del flusso di lavoro nell'ambiente Visual Studio Code locale.
Nel portale di Azure, aprire la risorsa dell’app per la logica Standard.
Nel menu delle risorse dell'app per la logica, in Monitoraggio selezionare Flusso di log.
La pagina Flusso di log si connette all'istanza di Application Insights e mostra l'output di debug. Ad esempio, l'output seguente include chiamate di richiesta e risposta tra le altre informazioni: