Share via


Abilitare e visualizzare dati di telemetria avanzati in Application Insights per flussi di lavoro Standard in App per la logica di Azure

Si applica a: App per la logica di Azure (standard)

Questa guida pratica illustra come attivare la raccolta di dati di telemetria avanzata in Application Insights per la risorsa dell'app per la logica Standard e quindi visualizzare i dati raccolti al termine dell'esecuzione del flusso di lavoro.

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, nella portale di Azure o in Visual Studio Code.

    • La risorsa o il progetto dell'app per la logica deve usare il runtime 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

  1. Nella portale di Azure aprire la risorsa dell'app per la logica Standard.

  2. Nel menu dell'app per la logica, in Strumenti di sviluppo selezionare Strumenti avanzati. Nella pagina Strumenti avanzati selezionare Vai, che apre gli strumenti Kudu.

  3. Nella pagina Kudu scegliere CMD dal menu Console di debug. Nella tabella della directory della cartella passare al file seguente e selezionare Modifica: site/wwwroot/host.json

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

Aprire Application Insights

Al termine dell'esecuzione del flusso di lavoro e dopo alcuni minuti, aprire la risorsa di Application Insights.

  1. Nel portale di Azure, nel menu dell'app per la logica, in Impostazioni selezionare Application Insights.

  2. 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
- Tentativi di ripetizione
- utilizzo Connessione or
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 Requests contiene campi che tengono traccia dei dati sugli eventi seguenti nelle esecuzioni del flusso di lavoro Standard:

  • Eventi di attivazione e azione
  • Tentativi
  • utilizzo di Connessione or

Per mostrare il modo in cui i dati vengono inseriti in questi campi, si supponga di avere il flusso di lavoro Standard seguente che inizia con il trigger Richiesta seguito dall'azione Componi e dall'azione Risposta .

Screenshot shows Azure portal and Standard workflow designer with trigger and actions.

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:

Screenshot shows Azure portal, Standard workflow, Request trigger selected, Settings tab, and custom tracking Id.

Successivamente, le impostazioni dell'azione Compose 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.

Screenshot shows Azure portal, Standard workflow, Compose action selected, Settings tab, and tracked property.

L'azione Compose è seguita da un'azione Response che restituisce una risposta al chiamante.

L'elenco seguente include query di esempio che è possibile creare ed eseguire nella tabella Richieste:

Attività Passaggi
Visualizzare tutti gli eventi di attivazione e azione Eseguire una query per tutti gli eventi di attivazione e azione
Visualizzare solo eventi di attivazione o eventi di azione Eseguire una query solo per eventi di attivazione o azione
Visualizzare eventi di trigger o azioni con un tipo di operazione specifico Eventi di attivazione o azione di query per tipo di operazione
Visualizzare eventi di attivazione e azione con un ID esecuzione del flusso di lavoro specifico Eventi di attivazione e azione di query in base all'ID esecuzione del flusso di lavoro
Visualizzare eventi di attivazione e azione con un ID di rilevamento client specifico Eseguire query su eventi trigger ed azioni in base all'ID di rilevamento client
Visualizzare eventi di attivazione e azione con un nome di soluzione specifico Eseguire query per trigger ed eventi di azione in base al nome della soluzione
Visualizzare eventi di attivazione e azione con tentativi di ripetizione Eventi di attivazione e azione di query per i tentativi
Visualizzare gli eventi di attivazione e azione con l'utilizzo del connettore Query per eventi di attivazione ed azione per l'utilizzo del connettore

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.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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:

    Screenshot shows Application Insights, query, Results tab, and operation events from workflow run.

    Colonna Descrizione Esempio
    name Nome dell'operazione del flusso di lavoro Per questo esempio, le righe mostrano manuale (trigger di richiesta), Compose e Response.
    Successo Stato di esecuzione dell'operazione Per questo esempio, tutte le righe mostrano True per un'esecuzione riuscita. Se si è verificato un errore, il valore è False.
    resultCode Codice di stato dell'esecuzione dell'operazione Per questo esempio, tutte le righe mostrano Succeeded (200).
    duration Durata dell'esecuzione dell'operazione Varia per ogni operazione.
  3. 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 Request :

    Screenshot shows Application Insights, Results tab for Request trigger, and details.

    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 rilevamento 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 Request-Response-Workflow
    operation_Name Nome dell'operazione che ha eseguito il trigger. In questo caso, questo nome corrisponde al nome del flusso di lavoro. Request-Response-Workflow
    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 Compose :

    Screenshot shows Application Insights, Results tab for Compose action, and details.

    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 rilevamento 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 Request-Response-Workflow
    Solutionname Nome della proprietà rilevata, 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. Request-Response-Workflow
    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.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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"
    

    Screenshot shows Requests table query for triggers only.

  3. 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"
    

    Screenshot shows Requests table query for actions only.

Eventi di attivazione o azione di query per tipo di operazione

È possibile creare una query sulla tabella Richieste per visualizzare gli eventi per un trigger o un tipo di azione specifico.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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"
    

    Screenshot shows Requests table query for Request trigger type.

  3. 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"
    

    Screenshot shows Requests table query for Compose action type.

Eventi di attivazione e azione di query in base all'ID esecuzione del flusso di lavoro

È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione, in base all'ID 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.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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 esecuzione del flusso di lavoro, ad esempio:

    requests
    | where operation_Id == "08585287554177334956853859655CU00"
    

    Screenshot shows Requests table query based on workflow run ID.

Eseguire query su eventi trigger ed azioni in base all'ID di rilevamento 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 rilevamento client.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. Per visualizzare tutti gli eventi dell'operazione con un ID di rilevamento 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"
    

    Screenshot shows query results using operation name and client tracking ID.

Eseguire query per trigger ed eventi di 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.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. Per visualizzare tutti gli eventi dell'operazione con un ID di rilevamento 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"
    

    Screenshot shows query results using operation name and solution name.

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.

Screenshot shows Azure portal, Standard workflow, HTTP action selected, Settings tab, and retry policy.

Eventi di attivazione e azione di query per i tentativi

È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione con tentativi di ripetizione.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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)
    
  3. 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 :

    Screenshot shows Application Insights, Results tab for HTTP action, and details.

    I valori della proprietà success 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

Eventi di attivazione e azione di query per l'utilizzo del connettore

È possibile creare una query sulla tabella Richieste per visualizzare un subset di eventi dell'operazione, in base a un utilizzo specifico del connettore.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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 Api Connessione ionWebhook
    customDimensions.apiName Nome API del connettore in formato JSON, ad esempio commondataservice per il connettore Microsoft Dataverse

    Screenshot shows Application Insights, Results tab for Microsoft Dataverse trigger events with ApiConnectionWebhook connection.

  3. Per visualizzare tutti gli eventi di azione con un utilizzo specifico del connettore, 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 Api Connessione ion
    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"
    

    Screenshot shows Application Insights, Results tab for Microsoft Office 365 Outlook action events with ApiConnection connection.

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 disponga di Api Connessione ion, Api Connessione ionWebhook, il tipo di base predefinito, ad esempio Request o il tipo ServiceProvider predefinito basato sul provider di servizi.

Tabella delle tracce

La tabella Traces contiene campi che tengono traccia dei dati relativi agli eventi seguenti nelle esecuzioni del flusso di lavoro Standard:

L'elenco seguente include query di esempio che è possibile creare ed eseguire sulla tabella Traces:

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 Query per l'invio batch 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 Traces per visualizzare tutti gli eventi di inizio e fine per tutte le esecuzioni del flusso di lavoro.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. Creare ed eseguire una query con il valore customDimensions.Category impostato su Workflow.Operations.Runs, ad esempio:

    traces
    | where customDimensions.Category == "Workflow.Operations.Runs"
    

    Screenshot shows Application Insights, Results tab for start and events across all workflow 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 Traces per visualizzare gli eventi di inizio e fine per un'esecuzione specifica del flusso di lavoro.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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"
    

    Screenshot shows Application Insights, Results tab for start and events for a specific run.

Query per l'invio batch e la ricezione batch di eventi in tutte le esecuzioni del flusso di lavoro

È possibile creare una query sulla tabella Traces per visualizzare gli eventi di invio batch e ricezione batch in tutte le esecuzioni del flusso di lavoro.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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"
    

    Screenshot shows Application Insights, Results tab for batch send and batch receive events in all workflow runs.

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 seguente che inizia con il trigger Richiesta seguito dall'azione Componi e dall'azione Risposta . L'azione Compose usa un'espressione che divide un valore per zero, che genera un'eccezione:

Screenshot shows Azure portal, Standard workflow designer, Request trigger, Compose action with an exception-generating expression, and Response action.

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.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. Per visualizzare tutti gli eventi di eccezione, creare ed eseguire la query seguente in Application Insights:

    exceptions
    | sort by timestamp desc
    
  3. Per visualizzare i dettagli per un'eccezione specifica, espandere la riga per tale eccezione:

    L'esempio seguente mostra l'eccezione espansa per l'azione Compose e i dettagli sull'eccezione:

    Screenshot shows Application Insights, Results tab for exception events with the exception event for the Compose action expanded, and exception details.

    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 rilevamento 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
  4. 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 Dependencies 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 :

Screenshot shows Azure portal, Standard workflow designer with parent workflow using HTTP action to call a child workflow.

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.

  1. Se necessario, selezionare l'intervallo di tempo da esaminare. Per impostazione predefinita, questo valore è le ultime 24 ore.

  2. 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 union per restituire record dalla tabella Requests e dalla tabella Dependencies. 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 Requests e quindi un record di dipendenza dalla tabella Dependencies:

    Screenshot shows Application Insights, Results tab with dependency events for a specific workflow.

    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 Analisi selezionare Mappa applicazioni.

Screenshot shows Application Insights and application map with dependency between parent workflow and child workflow.

Filtrare gli eventi

In Application Insights è possibile filtrare gli eventi nei modi seguenti:

  • Creare ed eseguire query come descritto nelle sezioni precedenti.

  • Filtrare in corrispondenza dell'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 Traces un record ha un nodo denominato customDimensions, che contiene una proprietà Category . Nella tabella Richieste, ad esempio, il record della richiesta per un evento trigger batch è simile all'esempio seguente:

Screenshot shows Application Insights with Requests table and record for a Batch messages trigger event.

Nella tabella Requests i valori delle proprietà Category 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 category è possibile impostare in modo indipendente il livello di dettaglio nel file host.json per la risorsa o il progetto dell'app per la logica. Ad esempio, per restituire solo i record per gli eventi trigger o action con 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 Traces, 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 è Information. Per altre informazioni, vedere Configurare i livelli di log.

  1. Nella portale di Azure aprire la risorsa dell'app per la logica Standard.

  2. Nel menu dell'app per la logica, in Strumenti di sviluppo selezionare Strumenti avanzati. Nella pagina Strumenti avanzati selezionare Vai, che apre gli strumenti Kudu.

  3. Nella pagina Kudu scegliere CMD dal menu Console di debug. Nella tabella della directory della cartella passare al file seguente e selezionare Modifica: site/wwwroot/host.json

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

  1. Nella portale di Azure aprire la risorsa di Application Insights, se non è già aperta.

  2. Nel menu delle risorse di Application Insights, in Monitoraggio selezionare Metriche.

  3. Nell'elenco Ambito selezionare l'istanza di Application Insights.

  4. Nell'elenco Spazio dei nomi delle metriche selezionare workflow.operations.

  5. Nell'elenco Metrica selezionare una metrica, ad esempio Esecuzioni completate.

  6. Nell'elenco Aggregazione selezionare un tipo, ad esempio Counto Avg.

    Al termine, il dashboard Metriche mostra un grafico con le esecuzioni completate del flusso di lavoro.

    Screenshot shows Application Insights with Metrics dashboard and chart that shows number of finished workflow executions over time.

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.

  1. Nella risorsa di Application Insights abilitare le metriche multidimensionali.

  2. In Application Insights aprire il dashboard Metriche.

  3. Sulla barra degli strumenti del grafico selezionare Aggiungi filtro.

  4. Nell'elenco Proprietà selezionare Flusso di lavoro.

  5. Nell'elenco Operatore selezionare il segno di uguale (=).

  6. Nell'elenco Valori selezionare i flussi di lavoro desiderati.

    Screenshot shows Application Insights with Metrics dashboard and chart with multidimensional metrics.

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.

  1. Nella portale di Azure aprire la risorsa di Application Insights, se non è già aperta.

  2. Nel menu delle risorse di Application Insights, in Ricerca, selezionare Metriche attive.

    La pagina Metriche attive mostra i dati di log e altre metriche, ad esempio:

    Screenshot shows Azure portal and Application Insights menu with selected item named Live metrics.

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, Live Metrics supporta questi flussi di lavoro dell'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 nei 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.

  1. Nella portale di Azure aprire la risorsa dell'app per la logica Standard.

  2. 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:

    Screenshot shows Azure portal and Standard logic app menu with selected item named Log stream.

Passaggi successivi

Abilitare o aprire Application Insights