Habilitar e exibir telemetria aprimorada em fluxos de trabalho do Application Insights for Standard em Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Padrão)

Este guia de instruções mostra como ativar a coleta de telemetria aprimorada no Application Insights para seu recurso de aplicativo lógico padrão e, em seguida, exibir os dados coletados depois que o fluxo de trabalho concluir uma execução.

Pré-requisitos

  • Uma conta e subscrição do Azure. Se não tiver uma subscrição, inscreva-se numa conta do Azure gratuita.

  • Uma instância do Application Insights . Você cria esse recurso com antecedência, ao criar seu aplicativo lógico padrão ou após a implantação do aplicativo lógico.

  • Um aplicativo lógico padrão e fluxo de trabalho, no portal do Azure ou no Visual Studio Code.

    • Seu recurso ou projeto de aplicativo lógico deve usar o tempo de execução do Azure Functions v4, que é habilitado por padrão.

    • Seu aplicativo lógico deve ter habilitado o Application Insights para registro e rastreamento de diagnósticos. Você pode fazer isso ao criar seu aplicativo lógico ou após a implantação.

Habilite a telemetria aprimorada no Application Insights

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No menu do aplicativo lógico, em Ferramentas de Desenvolvimento, selecione Ferramentas Avançadas. Na página Ferramentas Avançadas, selecione Ir, que abre as ferramentas Kudu.

  3. Na página Kudu, no menu Debug console, selecione CMD. Na tabela de diretórios de pastas, navegue até o seguinte arquivo e selecione Editar: site/wwwroot/host.json

  4. No arquivo host.json, adicione o seguinte código JSON:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
          "version": "[1, 2.00]"
       },
       "extensions": {
          "workflow": {
             "Settings": {
                "Runtime.ApplicationInsightTelemetryVersion": "v2"
             }
          }
       }
    }
    

    Essa configuração permite o nível padrão de detalhamento. Para outras opções, consulte Aplicar filtragem na origem.

Abrir o Application Insights

Depois que o fluxo de trabalho terminar uma execução e passarem alguns minutos, abra o recurso do Application Insights.

  1. No portal do Azure, no menu do aplicativo lógico, em Configurações, selecione Application Insights.

  2. No menu de recursos do Application Insights, em Monitoramento, selecione Logs.

Exibir logs aprimorados no Application Insights

As seções a seguir descrevem as tabelas no Application Insights onde você pode encontrar e exibir a telemetria aprimorada gerada a partir da execução do fluxo de trabalho.

Nome da tabela Descrição
Pedidos Detalhes sobre os seguintes eventos em execuções de fluxo de trabalho:

- Eventos de gatilho e ação
- Tentativas de repetição
- Utilização do conector
Vestígios Detalhes sobre os seguintes eventos em execuções de fluxo de trabalho:

- Eventos de início e fim do fluxo de trabalho
- Envio e recebimento de lotes
Exceções Detalhes sobre eventos de exceção em execuções de fluxo de trabalho
Dependências Detalhes sobre eventos de dependência em execuções de fluxo de trabalho

Tabela de pedidos

A tabela Solicitações contém campos que controlam dados sobre os seguintes eventos em execuções de fluxo de trabalho padrão:

  • Eventos desencadeadores e de ação
  • Tentativas de repetição
  • Utilização do conector

Para mostrar como os dados entram nesses campos, suponha que você tenha o seguinte exemplo de fluxo de trabalho padrão que começa com o gatilho Solicitação, seguido pela ação Redigir e pela ação Resposta.

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

As configurações do gatilho têm um parâmetro chamado Custom Tracking Id. O valor do parâmetro é definido como uma expressão que extrai o valor da propriedade orderId do corpo de uma mensagem de entrada:

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

Em seguida, as configurações de ação Compor do fluxo de trabalho têm uma propriedade controlada adicionada chamada solutionName. O valor da propriedade é definido como o nome do recurso do aplicativo lógico.

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

A ação Redigir é seguida por uma ação Resposta que retorna uma resposta ao chamador.

A lista a seguir tem consultas de exemplo que você pode criar e executar na tabela Solicitações:

Tarefa Passos
Ver todos os eventos de acionamento e ação Consulta de todos os eventos de gatilho e ação
Exibir apenas eventos de gatilho ou eventos de ação Consultar apenas eventos de gatilho ou ação
Exibir eventos de gatilho ou ação com um tipo de operação específico Eventos de acionamento ou gatilho de consulta por tipo de operação
Exibir eventos de gatilho e ação com um ID de execução de fluxo de trabalho específico Acionador de consulta e eventos de ação por ID de execução do fluxo de trabalho
Visualize eventos de gatilho e ação com um ID de acompanhamento de cliente específico Acionador de consulta e eventos de ação por ID de acompanhamento do cliente
Exibir eventos de gatilho e ação com um nome de solução específico Acionador de consulta e eventos de ação por nome da solução
Visualize eventos de gatilho e ação com tentativas de repetição Gatilho de consulta e eventos de ação para tentativas de repetição
Exibir eventos de gatilho e ação com o uso do conector Consulta de eventos de gatilho e ação para uso do conector

Consulta de todos os eventos de gatilho e ação

Depois que o fluxo de trabalho é executado e alguns minutos passam, você pode criar uma consulta na tabela Solicitações para exibir todos os eventos da operação.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de gatilho e ação, crie e execute a seguinte consulta:

    requests
    | sort by timestamp desc
    | take 10
    

    O exemplo a seguir mostra a guia Resultados com as colunas e os dados anotados em cada linha:

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

    Column Descrição Exemplo
    Designação Nome da operação do fluxo de trabalho Neste exemplo, as linhas mostram manual (gatilho de solicitação), Composição e Resposta.
    Sucesso Estado de execução da operação Neste exemplo, todas as linhas mostram True para uma execução bem-sucedida. Se ocorreu um erro, o valor é False.
    Código de resultados Código de status de execução da operação Neste exemplo, todas as linhas mostram Succeeded (200).
    Duração Duração da execução da operação Varia para cada operação.
  3. Para exibir os detalhes de uma operação específica, expanda a linha do gatilho ou ação:

    O exemplo a seguir mostra os detalhes expandidos para o gatilho Request :

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

    Propriedade Descrição Exemplo
    Categoria Categoria de operação, que é sempre Workflow.Operations.Triggers ou Workflow.Operations.Actions, com base na operação Workflow.Operations.Triggers.
    clientTrackingId ID de acompanhamento personalizado, se especificado 123456
    runId ID da instância de execução do fluxo de trabalho 08585358375819913417237801890CU00
    nome_gatilho Nome do gatilho Manual
    workflowId ID do fluxo de trabalho que executou o gatilho C7711D107E6647179C2E15FE2C2720CE
    nome do fluxo de trabalho Nome do fluxo de trabalho que executou o gatilho Fluxo de trabalho de solicitação-resposta-fluxo de trabalho
    operation_Name Nome da operação que executou o gatilho. Nesse caso, esse nome é o mesmo que o nome do fluxo de trabalho. Fluxo de trabalho de solicitação-resposta-fluxo de trabalho
    operation_Id ID do componente ou fluxo de trabalho que acabou de ser executado. Esse ID é o mesmo que o valor runId para a instância de execução do fluxo de trabalho. Se existirem exceções ou dependências, esse valor transcende as tabelas para que você possa vincular esse registro de gatilho a essas exceções ou dependências. 08585358375819913417237801890CU00
    operation_ParentId ID vinculável para o fluxo de trabalho que chamou o gatilho f95138daff8ab129

    O exemplo a seguir mostra os detalhes expandidos para a ação Compor :

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

    Propriedade Descrição Exemplo
    Categoria Categoria de operação, que é sempre Workflow.Operations.Triggers ou Workflow.Operations.Actions, com base na operação Workflow.Operations.Actions
    clientTrackingId ID de acompanhamento personalizado, se especificado 123456
    actionName Nome da ação Compose
    runId ID da instância de execução do fluxo de trabalho 08585358375819913417237801890CU00
    workflowId ID do fluxo de trabalho que executou a ação C7711D107E6647179C2E15FE2C2720CE
    nome do fluxo de trabalho Nome do fluxo de trabalho que executou a ação Fluxo de trabalho de solicitação-resposta-fluxo de trabalho
    nome_da_solução Nome da propriedade controlada, se especificado LA-AppInsights
    operation_Name Nome da operação que executou a ação. Nesse caso, esse nome é o mesmo que o nome do fluxo de trabalho. Fluxo de trabalho de solicitação-resposta-fluxo de trabalho
    operation_Id ID do componente ou fluxo de trabalho que acabou de ser executado. Esse ID é o mesmo que o valor runId para a instância de execução do fluxo de trabalho. Se existirem exceções ou dependências, esse valor transcende as tabelas para que você possa vincular esse registro de ação a essas exceções ou dependências. 08585358375819913417237801890CU00
    operation_ParentId ID vinculável para o fluxo de trabalho que chamou a ação f95138daff8ab129

Consultar apenas eventos de gatilho ou ação

Você pode criar uma consulta na tabela Solicitações para exibir um subconjunto de eventos de operação, com base na categoria de operação e no nome do fluxo de trabalho.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de gatilho em um fluxo de trabalho específico, crie e execute uma consulta com o valor da propriedade customDimensions.Category definido como Workflow.Operations.Triggers e operation_Name definido como o nome do fluxo de trabalho, por exemplo:

    requests
    | where customDimensions.Category == "Workflow.Operations.Triggers" and operation_Name == "Request-Response-Workflow"
    

    Screenshot shows Requests table query for triggers only.

  3. Para exibir todos os eventos de ação em um fluxo de trabalho específico, crie uma consulta com o valor da propriedade customDimensions.Category definido como Workflow.Operations.Actions e operation_Name definido como o nome do fluxo de trabalho, por exemplo:

    requests
    | where customDimensions.Category == "Workflow.Operations.Actions" and operation_Name == "Request-Response-Workflow"
    

    Screenshot shows Requests table query for actions only.

Eventos de acionamento ou gatilho de consulta por tipo de operação

Você pode criar uma consulta na tabela Solicitações para exibir eventos para um gatilho ou tipo de ação específico.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de operação com um tipo de gatilho específico, crie e execute uma consulta com o valor customDimensions.triggerType definido para o tipo de gatilho desejado, por exemplo:

    requests
    | where customDimensions.triggerType == "Request"
    

    Screenshot shows Requests table query for Request trigger type.

  3. Para exibir todos os eventos de operação com um tipo de ação específico, crie e execute uma consulta com o valor customDimensions.actionType definido para o tipo de ação desejado, por exemplo:

    requests
    | where customDimensions.actionType == "Compose"
    

    Screenshot shows Requests table query for Compose action type.

Acionador de consulta e eventos de ação por ID de execução do fluxo de trabalho

Você pode criar uma consulta na tabela Solicitações para exibir um subconjunto de eventos de operação, com base na ID de execução do fluxo de trabalho. Esse ID de execução do fluxo de trabalho é o mesmo ID que você pode encontrar no histórico de execução do fluxo de trabalho.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de operação com uma ID de execução de fluxo de trabalho específica, crie e execute uma consulta com o valor operation_Id definido como ID de execução do fluxo de trabalho, por exemplo:

    requests
    | where operation_Id == "08585287554177334956853859655CU00"
    

    Screenshot shows Requests table query based on workflow run ID.

Acionador de consulta e eventos de ação por ID de acompanhamento do cliente

Você pode criar uma consulta na tabela Solicitações para exibir um subconjunto de eventos de operação, com base no nome do fluxo de trabalho e na ID de acompanhamento do cliente.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de operação com um ID de acompanhamento de cliente específico em um fluxo de trabalho específico, crie e execute uma consulta com o valor operation_Name definido como o nome do fluxo de trabalho e o valor da propriedade clientTrackingId definido como o valor desejado, por exemplo:

    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.

Acionador de consulta e eventos de ação por nome da solução

Você pode criar uma consulta na tabela Solicitações para exibir um subconjunto de eventos de operação, com base no nome do fluxo de trabalho e no nome da solução.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de operação com um ID de acompanhamento de cliente específico em um fluxo de trabalho específico, crie e execute uma consulta com o valor operation_Name definido como o nome do fluxo de trabalho e o valor da propriedade solutionName definido como o valor desejado, por exemplo:

    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.

Tentativas de repetição

Para mostrar como esses dados entram na tabela Solicitações, o exemplo a seguir Fluxo de trabalho padrão usa uma ação HTTP que chama uma URL, que não resolve. O fluxo de trabalho também tem uma política de repetição definida como um intervalo fixo que tenta novamente três vezes, uma vez a cada 60 segundos.

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

Gatilho de consulta e eventos de ação para tentativas de repetição

Você pode criar uma consulta na tabela Solicitações para exibir um subconjunto de eventos de operação com tentativas de repetição.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir apenas eventos de gatilho e ação com histórico de novas tentativas, crie e execute a seguinte consulta no Application Insights:

    requests
    | extend retryHistory = tostring(tostring(customDimensions.retryHistory))
    | where isnotempty(retryHistory)
    
  3. Para exibir as tentativas de repetição de uma operação específica com uma política de repetição, expanda a linha dessa operação.

    O exemplo a seguir mostra os detalhes expandidos para a ação HTTP :

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

    Os valores da propriedade success e resultCode indicam que a ação HTTP falhou. Junto com as propriedades descritas na tabela Consultar as Solicitações para todos os eventos de gatilho e ação, o registro contém as seguintes informações, que incluem três tentativas de repetição:

    Propriedade Descrição Exemplo
    retryHistory Detalhes do histórico de uma ou mais tentativas de repetição
    code Tipo de erro para uma tentativa de repetição específica
    erro Detalhes sobre o erro específico que aconteceu

Eventos de acionamento e ação de consulta para uso do conector

Você pode criar uma consulta na tabela Solicitações para exibir um subconjunto de eventos de operação, com base no uso específico do conector.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de gatilho usando um tipo de conector específico, crie e execute uma consulta com as seguintes propriedades e valores:

    requests
    | where customDimensions.Category == "Workflow.Operations.Triggers" and customDimensions.triggerType =="ApiConnectionWebhook" and customDimensions.apiName =="commondataservice"
    
    Propriedade Valor de exemplo
    customDimensions.Category Workflow.Operations.Triggers
    customDimensions.triggerType O tipo de operação, por exemplo, ApiConnectionWebhook
    customDimensions.apiName O nome da API do conector no formato JSON, por exemplo, commondataservice para o conector Microsoft Dataverse

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

  3. Para exibir todos os eventos de ação com uso específico do conector, crie e execute uma consulta com o valor customDimensions.Category definido como Workflow.Operations.Actions, o valor customDimensions.triggerType definido como o tipo de operação e o customDimensions.apiName definido como o nome da API do conector no formato JSON, por exemplo:

    Propriedade Valor de exemplo
    customDimensions.Category Workflow.Operations.Actions
    customDimensions.triggerType O tipo de operação, por exemplo, ApiConnection
    customDimensions.apiName O nome da API do conector no formato JSON, por exemplo, office365 para o conector do 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.

Para gatilhos e ações, o Application Insights diferencia entre os tipos de conexões existentes. Você pode ver valores diferentes nos campos actionType e triggerType com base no fato de a conexão ter ApiConnection, ApiConnectionWebhook, o tipo básico interno, como Request, ou o tipo ServiceProvider baseado em provedor de serviços interno.

Tabela de rastreamentos

A tabela Rastreamentos contém campos que controlam dados sobre os seguintes eventos em execuções de fluxo de trabalho padrão:

A lista a seguir tem consultas de exemplo que você pode criar e executar na tabela Traces:

Tarefa Passos
Exibir eventos de início e término em todas as execuções de fluxo de trabalho Consulta de eventos de início e fim em todas as execuções de fluxo de trabalho
Exibir eventos de início e término em uma execução de fluxo de trabalho específica Consulta de eventos iniciais e finais em uma execução de fluxo de trabalho
Exibir eventos de envio e recebimento em lote em todas as execuções de fluxo de trabalho Consulta de eventos de envio e recebimento em lote em todas as execuções de fluxo de trabalho

Consulta de eventos de início e fim em todas as execuções de fluxo de trabalho

Você pode criar uma consulta na tabela Rastreamentos para exibir todos os eventos de início e término de todas as execuções de fluxo de trabalho.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Crie e execute uma consulta com o valor customDimensions.Category definido como Workflow.Operations.Runs, por exemplo:

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

    Screenshot shows Application Insights, Results tab for start and events across all workflow runs.

Consulta de eventos de início e fim em uma execução de fluxo de trabalho específica

Você pode criar uma consulta na tabela Rastreamentos para exibir os eventos de início e fim de uma execução de fluxo de trabalho específica.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Crie e execute uma consulta com o valor customDimensions.Category definido como Workflow.Operations.Runs e o valor operation_Id definido como ID de execução do fluxo de trabalho, por exemplo:

    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.

Consulta de eventos de envio e recebimento em lote em todas as execuções de fluxo de trabalho

Você pode criar uma consulta na tabela Rastreamentos para exibir os eventos de envio e recebimento em lote em todas as execuções de fluxo de trabalho.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Crie e execute uma consulta com o valor customDimensions.Category definido como Workflow.Operations.Runs e o valor operation_Id definido como ID de execução do fluxo de trabalho, por exemplo:

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

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

Tabela de exceções

A tabela Exceptions contém campos que controlam dados sobre eventos de exceção em execuções de fluxo de trabalho padrão. Para mostrar como os dados entram nesses campos, suponha que você tenha o seguinte exemplo de fluxo de trabalho padrão que começa com o gatilho Solicitação, seguido pela ação Redigir e pela ação Resposta. A ação Compor usa uma expressão que divide um valor por zero, o que gera uma exceção:

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

Consulta de eventos de exceção em todas as execuções de fluxo de trabalho

Você pode criar uma consulta na tabela Exceptions para exibir os eventos de exceção em todas as execuções de fluxo de trabalho.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir todos os eventos de exceção, crie e execute a seguinte consulta no Application Insights:

    exceptions
    | sort by timestamp desc
    
  3. Para exibir os detalhes de uma exceção específica, expanda a linha dessa exceção:

    O exemplo a seguir mostra a exceção expandida para a ação Compor e detalhes sobre a exceção:

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

    Propriedade Descrição
    problemId Tipo de exceção ou uma breve descrição sobre a exceção que aconteceu
    outerMessage Descrição mais detalhada sobre a exceção
    detalhes Informações detalhadas e mais completas sobre a exceção
    clientTrackingId ID de acompanhamento do cliente, se especificado
    workflowId ID do fluxo de trabalho que sofreu a exceção
    nome do fluxo de trabalho Nome do fluxo de trabalho que sofreu a exceção
    runId ID da instância de execução do fluxo de trabalho
    actionName Nome da ação que falhou com a exceção
    operation_Name Nome do fluxo de trabalho que sofreu a exceção
    operation_Id ID do componente ou fluxo de trabalho que acabou de ser executado. Esse ID é o mesmo que o valor runId para a instância de execução do fluxo de trabalho. Esse valor transcende as tabelas para que você possa vincular esse registro de exceção à instância de execução do fluxo de trabalho.
    operation_ParentId ID do fluxo de trabalho que chamou a ação, que você pode vincular à ID da ação na tabela Solicitações
  4. Para exibir as exceções para um fluxo de trabalho específico, crie e execute a seguinte consulta:

    exceptions
    | where operation_Name contains "Request-Response-Workflow-Exception"
    

Tabela de dependências

A tabela Dependências contém campos que controlam dados sobre eventos de dependência em execuções de fluxo de trabalho padrão. Esses eventos são emitidos quando um recurso chama outro recurso e quando ambos os recursos usam o Application Insights. Exemplos de Aplicativos Lógicos do Azure incluem um serviço chamando outro serviço por HTTP, um banco de dados ou sistema de arquivos. O Application Insights mede a duração das chamadas de dependência e se essas chamadas são bem-sucedidas ou falham, juntamente com informações, como o nome da dependência. Você pode investigar chamadas de dependência específicas e correlacioná-las a solicitações e exceções.

Para mostrar como os dados entram nesses campos, suponha que você tenha o seguinte exemplo de fluxo de trabalho pai padrão que chama um fluxo de trabalho filho por HTTP usando a ação HTTP :

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

Consulta de eventos de dependência em um fluxo de trabalho específico

Você pode criar uma consulta na tabela Dependências para exibir os eventos de dependência em uma execução de fluxo de trabalho específica.

  1. Se necessário, selecione o intervalo de tempo que deseja revisar. Por padrão, esse valor é as últimas 24 horas.

  2. Para exibir eventos de dependência entre o fluxo de trabalho pai e o fluxo de trabalho filho, crie e execute a seguinte consulta:

    union requests, dependencies
    | where operation_Id contains "<runId>"
    

    Essa consulta usa o operador union para retornar registros da tabela Solicitações e da tabela Dependências. A consulta também usa o valor da propriedade operation_Id para fornecer o link entre registros, especificando o valor runId do fluxo de trabalho desejado, por exemplo:

    union requests, dependencies
    | where operation_Id contains "08585355753671110236506928546CU00"
    

    O exemplo a seguir mostra um evento de dependência para o fluxo de trabalho especificado, incluindo registros para os eventos de operação no fluxo de trabalho pai da tabela Requests e, em seguida, um registro de dependência da tabela Dependencies:

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

    Para os registros de eventos de operação, a coluna itemType mostra seus tipos de registro como solicitação. Para o registro de dependência, a coluna itemType indica o tipo de registro como dependência.

    Propriedade Descrição
    runId ID da instância de execução do fluxo de trabalho
    actionName Nome da ação onde o evento de dependência acontece
    operation_Id ID para o fluxo de trabalho especificado. Esse ID é o mesmo que o valor runId para a instância de execução do fluxo de trabalho. Esse valor transcende as tabelas para que você possa vincular esse registro de dependência à instância de execução do fluxo de trabalho.
    operation_ParentId ID da ação em que o evento de dependência acontece, que também vincula o registro de evento de operação e o registro de evento de dependência juntos

Com sua consulta, você também pode visualizar a chamada de dependência de um fluxo de trabalho pai para um fluxo de trabalho filho ao usar o mapa do aplicativo no Application Insights. O valor operation_Id em sua consulta fornece o link que torna essa visualização possível.

Para abrir o mapa do aplicativo, no menu de recursos do Application Insights, em Investigar, selecione Mapa do aplicativo.

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

Filtrar eventos

No Application Insights, você pode filtrar eventos das seguintes maneiras:

  • Crie e execute consultas conforme descrito nas seções anteriores.

  • Filtre na origem especificando critérios a serem avaliados antes de emitir eventos.

    Ao aplicar filtros na origem, você pode reduzir a quantidade de armazenamento necessário e, como resultado, os custos operacionais.

Aplicar filtragem na origem

Na tabela Requests ou na tabela Traces, um registro tem um nó chamado customDimensions, que contém uma propriedade Category . Por exemplo, na tabela Requests, o registro de solicitação para um evento de gatilho Batch é semelhante ao exemplo a seguir:

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

Na tabela Requests, os seguintes valores de propriedade Category podem ajudá-lo a diferenciar e associar diferentes níveis de verbosidade:

Valor da categoria Descrição
Workflow.Operations.Triggers Identifica um registro de solicitação para um evento de gatilho
Workflow.Operations.Actions Identifica um registro de solicitação para um evento de ação

Para cada valor de Categoria, você pode definir independentemente o nível de detalhamento no arquivo host.json para seu recurso ou projeto de aplicativo lógico. Por exemplo, para retornar somente os registros de eventos de gatilho ou ação que tenham erros, no arquivo host.json , você pode adicionar o seguinte objeto JSON de log , que contém um objeto JSON logLevel com os níveis de detalhamento desejados:

{
   "logging": {
      "logLevel": {
         "Workflow.Operations.Actions": "Error",
         "Workflow.Operations.Triggers": "Error"
      }
   }
}

Para registros de tabela Traces, os exemplos a seguir mostram maneiras de alterar o nível de detalhamento de eventos:

{
   "logging": {
      "logLevel": {
         "Workflow.Host": "Warning",
         "Workflow.Jobs": "Warning",
         "Workflow.Runtime": "Warning"
      }
   }
}

O exemplo a seguir define o nível de verbosidade padrão do log como Warning, mas mantém o nível de verbosidade em Information para eventos de execução de gatilho, ação e fluxo de trabalho:

{
   "logging": {
      "logLevel": {
         "default": "Warning",
         "Workflow.Operations.Actions": "Information",
         "Workflow.Operations.Runs": "Information",
         "Workflow.Operations.Triggers": "Information"
      }
   }
}

Se você não especificar nenhum valor logLevel , o nível de verbosidade padrão será Information. Para obter mais informações, consulte Configurar níveis de log.

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No menu do aplicativo lógico, em Ferramentas de Desenvolvimento, selecione Ferramentas Avançadas. Na página Ferramentas Avançadas, selecione Ir, que abre as ferramentas Kudu.

  3. Na página Kudu, no menu Debug console, selecione CMD. Na tabela de diretórios de pastas, navegue até o seguinte arquivo e selecione Editar: site/wwwroot/host.json

  4. No arquivo host.json, adicione o objeto JSON de log com os valores logLevel definidos para os níveis de verbosidade desejados:

    {
       "logging": {
          "logLevel": {
             "Workflow.Operations.Actions": "<verbosity-level>",
             "Workflow.Operations.Triggers": "<verbosity-level>"
          }
       }
    }
    

Exibir métricas de fluxo de trabalho no Application Insights

Com os aprimoramentos de telemetria no Application Insights, você também obtém informações sobre o fluxo de trabalho no painel Métricas.

Abra o painel Métricas e configure filtros básicos

  1. No portal do Azure, abra seu recurso do Application Insights, se ainda não tiver sido aberto.

  2. No menu de recursos do Application Insights, em Monitoramento, selecione Métricas.

  3. Na lista Escopo, selecione sua instância do Application Insights.

  4. Na lista Metric Namespace , selecione workflow.operations.

  5. Na lista Métrica , selecione uma métrica, por exemplo, Execuções Concluídas.

  6. Na lista Agregação, selecione um tipo, por exemplo, Contagem ou Média.

    Quando terminar, o painel Métricas mostra um gráfico com as execuções do fluxo de trabalho concluídas.

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

Filtrar com base em um fluxo de trabalho específico

Ao habilitar métricas multidimensionais no painel Métricas, você pode direcionar um subconjunto dos eventos gerais capturados no Application Insights e filtrar eventos com base em um fluxo de trabalho específico.

  1. No recurso do Application Insights, habilite métricas multidimensionais.

  2. No Application Insights, abra o painel Métricas.

  3. Na barra de ferramentas do gráfico, selecione Adicionar filtro.

  4. Na lista Propriedade , selecione Fluxo de trabalho.

  5. Na lista Operador , selecione o sinal de igual (=).

  6. Na lista Valores, selecione os fluxos de trabalho desejados.

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

Visualizar dados e métricas de log "ao vivo"

Com a telemetria aprimorada do Application Insights habilitada, você pode exibir dados de log quase em tempo real e outras métricas de sua instância do Application Insights no portal do Azure. Você pode usar essa visualização para plotar solicitações de entrada, solicitações de saída e integridade geral. Você também obtém uma tabela para diagnósticos de nível de rastreamento.

  1. No portal do Azure, abra seu recurso do Application Insights, se ainda não tiver sido aberto.

  2. No menu de recursos do Application Insights, em Investigar, selecione Métricas dinâmicas.

    A página Métricas em tempo real mostra os dados de log e outras métricas, por exemplo:

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

Para obter mais informações, veja Live Metrics: Monitorizar e diagnosticar com latência de 1 segundo.

Nota

Como os fluxos de trabalho do aplicativo lógico padrão são baseados no Azure Functions, o Live Metrics dá suporte a esses fluxos de trabalho do aplicativo lógico.

Transmitir e visualizar a saída de depuração dos arquivos de log do aplicativo

Com a telemetria aprimorada do Application Insights habilitada, você pode transmitir informações detalhadas de depuração no portal do Azure para os arquivos de log do seu aplicativo. Essas informações são equivalentes à saída gerada pela depuração do fluxo de trabalho no ambiente local do Visual Studio Code.

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No menu de recursos do aplicativo lógico, em Monitoramento, selecione Fluxo de log.

    A página Fluxo de log se conecta à sua instância do Application Insights e mostra a saída de depuração. Por exemplo, a saída a seguir inclui chamadas de solicitação e resposta, entre outras informações:

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

Próximos passos

Habilitar ou abrir o Application Insights