Habilitar e exibir telemetria aprimorada no Application Insights para fluxos de trabalho Standard nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Standard)

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

Pré-requisitos

  • Uma conta e uma assinatura do Azure. Se você não tem uma assinatura, inscreva-se em uma conta gratuita do Azure.

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

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

    • Seu recurso de aplicativo lógico ou projeto deve usar o runtime do Azure Functions v4, que está habilitado por padrão.

    • Seu aplicativo lógico deve ter habilitado o Application Insights para registro em log e rastreamento de diagnóstico. Isso pode ser feito ao criar o aplicativo lógico ou após a implantação.

Habilitar 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, acesse Ferramentas de desenvolvimento e selecione Ferramentas avançadas. Na página Ferramentas Avançadas, selecione Ir, que abrirá as ferramentas Kudu.

  3. Na página Kudu, no menu Console de depuração, selecione CMD. Na tabela de diretório de pastas, navegue até o arquivo a seguir 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 habilita o nível padrão de detalhamento. Para obter outras opções, consulte Aplicar filtragem na fonte.

Abrir o Application Insights

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

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

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

Exibir logs aprimorados no Application Insights

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

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

– Eventos de gatilho e ação
– Tentativas de repetição
– Uso do conector
Rastreamentos Detalhes sobre os seguintes eventos em execuções de fluxo de trabalho:

– Eventos de início e término do fluxo de trabalho
– Eventos de envio e recebimento em lote
Exceções Detalhes sobre os eventos de exceção em execuções de fluxo de trabalho
Dependências Detalhes sobre os eventos de dependência em execuções de fluxo de trabalho

Tabela de solicitações

A tabela Solicitações contém campos que rastreiam dados sobre os seguintes eventos em execuções de fluxo de trabalho Standard:

  • Eventos de gatilho e ação
  • Tentativas de repetição
  • Uso do conector

Para mostrar como os dados entram nesses campos, suponha que você tenha o seguinte exemplo de fluxo de trabalho Standard que começa com o gatilho Solicitação seguido pela ação Compor e a 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 ID de Rastreamento Personalizado. 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 adicional chamada solutionName. O valor da propriedade é definido como o nome do recurso de aplicativo lógico.

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

A ação Compor é seguida por uma ação de 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 Etapas
Exibir todos os eventos de gatilho e ação Consultar para todos os eventos de gatilho e ação
Exibir somente eventos de gatilho ou eventos de ação Consultar somente para eventos de gatilho ou ação
Exibir eventos de gatilho ou ação com um tipo de operação específico Consultar eventos de ação ou gatilho por tipo de operação
Exibir eventos de gatilho e ação com uma ID de execução de fluxo de trabalho específica Consultar eventos de ação e gatilho por ID de execução de fluxo de trabalho
Exibir eventos de gatilho e ação com uma ID de rastreamento de cliente específica Consultar eventos de ação e gatilho por ID de rastreamento de cliente
Exibir eventos de gatilho e ação com um nome de solução específico Consultar eventos de ação e gatilho por nome de solução
Exibir eventos de gatilho e ação com tentativas de repetição Consultar eventos de ação e gatilho para tentativas de repetição
Exibir eventos de gatilho e ação com o uso do conector Consultar eventos de gatilho e ação com o uso do conector

Consultar para todos os eventos de gatilho e ação

Depois que o fluxo de trabalho for executado e alguns minutos passarem, você poderá criar uma consulta na tabela Solicitações para exibir todos os eventos de operação.

  1. Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às ú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 dados anotados em cada linha:

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

    Coluna Descrição Exemplo
    name Nome de operações de fluxo de trabalho Para este exemplo, as linhas mostram manual (Gatilho de solicitação), Compor e Resposta.
    success Status de execução da operação Para este exemplo, todas as linhas mostram True para uma execução bem-sucedida. Se ocorrer um erro, o valor será False.
    resultCode Código de status de execução da operação Para este exemplo, todas as linhas mostram Succeeded (200).
    duration Duração de 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 da ação:

    O exemplo a seguir mostra os detalhes expandidos do gatilho Solicitação:

    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 rastreamento personalizado, se especificado 123456
    runId ID da instância de execução do fluxo de trabalho 08585358375819913417237801890CU00
    triggerName Nome do gatilho manual
    workflowId ID do fluxo de trabalho que executou o gatilho c7711d107e6647179c2e15fe2c2720ce
    workflowName Nome do fluxo de trabalho que executou o gatilho Request-Response-Workflow
    operation_Name Nome da operação que executou o gatilho Nesse caso, esse nome é o mesmo que o nome do fluxo de trabalho. Request-Response-Workflow
    operation_Id ID do componente ou fluxo de trabalho que acabou de ser executado. Essa ID é a mesma que o valor runId para a instância de execução do fluxo de trabalho. Se houver exceções ou dependências, esse valor transcende 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 da 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 rastreamento personalizado, se especificado 123456
    actionName Nome da ação Redigir
    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
    workflowName Nome do fluxo de trabalho que executou a ação Request-Response-Workflow
    solutionName 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. Request-Response-Workflow
    operation_Id ID do componente ou fluxo de trabalho que acabou de ser executado. Essa ID é a mesma que o valor runId para a instância de execução do fluxo de trabalho. Se houver exceções ou dependências, esse valor transcende 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 somente para 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 você deseja examinar. Por padrão, esse valor corresponde às ú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.

Consultar eventos de ação ou gatilho por tipo de operação

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

  1. Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às ú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 como 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 como o tipo de ação desejado, por exemplo:

    requests
    | where customDimensions.actionType == "Compose"
    

    Screenshot shows Requests table query for Compose action type.

Consultar eventos de ação e gatilho por ID de execução de 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. Essa ID de execução de fluxo de trabalho é a mesma 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 você deseja examinar. Por padrão, esse valor corresponde às ú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 para a 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.

Consultar eventos de ação e gatilho por ID de rastreamento de 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 rastreamento do cliente.

  1. Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.

  2. Para exibir todos os eventos de operação com uma ID de rastreamento de cliente específica 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 clientTrackingId valor da propriedade 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.

Consultar eventos de ação e gatilho por nome de 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 você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.

  2. Para exibir todos os eventos de operação com uma ID de rastreamento de cliente específica 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 solutionName valor da propriedade 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 de fluxo de trabalho Standard a seguir usa uma ação HTTP que chama uma URL, que não é resolvida. O fluxo de trabalho também tem uma política de repetição que é 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.

Consultar eventos de ação e gatilho 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 você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.

  2. Para exibir apenas eventos de gatilho e ação com histórico de repetição, 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 para essa operação.

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

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

    Os valores de propriedade success e resultCode indicam que a ação HTTP falhou. Juntamente com as propriedades descritas em Consultar a tabela 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
    error Detalhes sobre o erro específico que aconteceu

Consultar eventos de gatilho e ação com o 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 do conector específico.

  1. Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às ú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 do 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, customDimensions.triggerType valor 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 os tipos de conexões existentes. Você pode ver valores diferentes nos campos actionType e triggerType com base em se a conexão tem ApiConnection, ApiConnectionWebhook, o tipo básico interno, como Request, ou o tipo de ServiceProvider baseado no provedor de serviços interno.

Tabela de rastreamentos

A tabela Rastreamentos contém campos que rastreiam dados sobre os seguintes eventos em execuções de fluxo de trabalho Standard:

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

Tarefa Etapas
Exibir eventos de início e término em todas as execuções de fluxo de trabalho Consultar 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 Consultar eventos de início e fim 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 Consultar eventos de envio e recebimento em lote de todas as execuções de fluxo de trabalho

Consultar 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 para todas as execuções de fluxo de trabalho.

  1. Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às ú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.

Consultar eventos de início e término 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 término para todas uma execução de fluxo de trabalho específica.

  1. Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às ú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 para a 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.

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

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

  1. Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às ú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 para a 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 Exceções contém campos que rastreiam dados sobre os eventos de exceção em execuções de fluxo de trabalho Standard. Para mostrar como os dados entram nesses campos, suponha que você tenha o seguinte exemplo de fluxo de trabalho Standard que começa com o gatilho Solicitação seguido pela ação Compor e a 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.

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

Você pode criar uma consulta na tabela Exceções 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 você deseja examinar. Por padrão, esse valor corresponde às ú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 para essa 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
    details Informações detalhadas e mais completas sobre a exceção
    clientTrackingId ID de rastreamento do cliente, se especificado
    workflowId ID do fluxo de trabalho que experimentou a exceção
    workflowName Nome do fluxo de trabalho que experimentou 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 experimentou a exceção
    operation_Id ID do componente ou fluxo de trabalho que acabou de ser executado. Essa ID é a mesma que o valor runId para a instância de execução do fluxo de trabalho. Esse valor transcende 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 de 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 rastreiam dados sobre os eventos de dependência em execuções de fluxo de trabalho Standard. 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 que chama 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 Standard 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.

Consultar 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 você deseja examinar. Por padrão, esse valor corresponde às ú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 os registros especificando o fluxo de trabalho runId valor 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 Solicitações e, em seguida, um registro de dependência da tabela Dependências:

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

    Para os registros de evento 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 em que o evento de dependência ocorre
    operation_Id ID do fluxo de trabalho especificado. Essa ID é a mesma que o valor runId para a instância de execução do fluxo de trabalho. Esse valor transcende 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 ocorre, que também vincula o registro de evento de operação e o registro de evento de dependência juntos

Com a 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 na consulta fornece o link que possibilita essa visualização.

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 em seções anteriores.

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

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

Aplicar filtragem na origem

Na tabela Solicitações ou na tabela Rastreamentos, um registro tem um nó chamado customDimensions, que contém uma propriedade Categoria. Por exemplo, na tabela Solicitações, o registro de solicitação de um evento de gatilho do Lote é semelhante ao exemplo a seguir:

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

Na tabela Solicitações, os seguintes valores de propriedade Categoria podem ajudar você a diferenciar e associar diferentes níveis de detalhamento:

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 de forma independente o nível de detalhamento no arquivo host.json para seu projeto ou recurso de aplicativo lógico. Por exemplo, para retornar apenas os registros de eventos de gatilho ou de ação que têm erros, no arquivo host.json, você pode adicionar o seguinte objeto JSON do registro em log, que contém um objeto JSON do logLevel com os níveis de detalhamento desejados:

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

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

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

O exemplo a seguir define o nível de detalhamento padrão do log como Aviso, mas mantém o nível de detalhamento em Informações 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 de logLevel, o nível de detalhamento padrão será Informações. Para saber mais, confira Configurar níveis de registro em log.

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

  2. No menu do aplicativo lógico, acesse Ferramentas de desenvolvimento e selecione Ferramentas avançadas. Na página Ferramentas Avançadas, selecione Ir, que abrirá as ferramentas Kudu.

  3. Na página Kudu, no menu Console de depuração, selecione CMD. Na tabela de diretório de pastas, navegue até o arquivo a seguir e selecione Editar: site/wwwroot/host.json

  4. No arquivo host.json file, adicione o objeto JSON de registro em log com os valores logLevel definidos para os níveis de detalhamento que deseja:

    {
       "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 insights de fluxo de trabalho no painel de métricas.

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

  1. No portal do Microsoft Azure, abra o recurso do Application Insights, se ainda não estiver aberto.

  2. No seu menu do recurso 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 você terminar, o painel Métricas mostrará um gráfico com suas execuções de 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 de 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 de métricas.

  3. Na barra de ferramentas, selecione Adicionar filtros.

  4. A partir da 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.

Exibir 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 da instância do Application Insights no portal do Azure. Você pode usar essa visualização para fazer um gráfico de solicitações de entrada, solicitações de saída e integridade geral. Você também obtém uma tabela para diagnóstico de nível de rastreamento.

  1. No portal do Microsoft Azure, abra o recurso do Application Insights, se ainda não estiver aberto.

  2. No menu de recursos do Application Insights, em Investigar, selecione Métricas ao vivo.

    A página Métricas ao vivo 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, consulte Live Metrics: monitorar e diagnosticar com latência de um segundo.

Observação

Como os fluxos de trabalho do aplicativo lógico Standard são baseados no Azure Functions, as Métricas ao Vivo dão suporte a esses fluxos de trabalho de aplicativo lógico.

Transmitir e exibir a saída de depuração de 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 aplicativo. Essas informações são equivalentes à saída gerada com a depuração do fluxo de trabalho em seu 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 à 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óximas etapas

Habilitar ou abrir o Application Insights