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)
No Application Insights, é possível habilitar a coleta de telemetria aprimorada para o recurso de aplicativo lógico Standard e exibir os dados coletados depois que o fluxo de trabalho concluir uma execução. Essa funcionalidade oferece uma experiência simplificada para descobrir insights sobre seus fluxos de trabalho, além de mais controle sobre a filtragem de eventos na fonte de dados, o que ajuda a reduzir os custos de armazenamento. Essas melhorias focam as métricas de desempenho em tempo real que fornecem insights sobre a integridade e o comportamento do sistema. Isso pode ajudar você a detectar e resolver os problemas proativamente e com antecedência.
Com seu aplicativo lógico conectado ao Application Insights, você pode exibir dados de log e outras métricas quase em tempo real por meio do portal do Azure usando o Live Metrics Stream. Você também conta com visualizações para ajudar a plotar solicitações de entrada, solicitações de saída e integridade geral e acesso a uma tabela de diagnóstico de nível de rastreamento.
A lista a seguir descreve alguns exemplos de melhorias da telemetria:
- Agora os eventos de gatilho e ação contam com o tipo de gatilho ou ação e o nome da API, o que permite consultar o uso específico do conector.
- Deixe os eventos de repetição mais fáceis de rastrear.
- Capturar exceções para falhas de gatilho e ação.
- Mais controle sobre a filtragem de eventos não relacionados ao fluxo de trabalho.
- Filtragem avançada que fornece mais controle sobre como os eventos são emitidos, incluindo gatilhos e ações.
Este guia mostra como ativar a coleção de telemetria aprimorada no Application Insights para seu aplicativo lógico Standard.
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
No portal do Azure, abra seu recurso de aplicativo lógico Padrão.
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.
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
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.
No portal do Azure, no menu do seu aplicativo lógico, em Configurações, selecione Application Insights.
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.
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:
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.
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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:
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. 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:
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:
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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"
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"
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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"
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"
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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"
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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"
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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"
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.
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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)
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:
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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 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"
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:
Eventos de início e término do fluxo de trabalho
Essas informações são representadas como dois eventos distintos devido ao potencial de execuções de fluxo de trabalho de execução prolongada.
Enviar e receber eventos em lote
Para obter mais informações, consulte Uso de operações em lote internas nos Aplicativos Lógicos do Azure (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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
Crie e execute uma consulta com o valor customDimensions.Category definido como Workflow.Operations.Runs, por exemplo:
traces | where customDimensions.Category == "Workflow.Operations.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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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"
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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"
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:
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
Para exibir todos os eventos de exceção, crie e execute a seguinte consulta no Application Insights:
exceptions | sort by timestamp desc
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:
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 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:
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.
Se necessário, selecione o intervalo de tempo que você deseja examinar. Por padrão, esse valor corresponde às últimas 24 horas.
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:
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.
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:
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.
Remover erros de dependência de armazenamento
Para filtrar erros de dependência de armazenamento, como erros 404 Not Found e erros 412 Precondition Failed, defina o nível de log Host.Workflow como Nenhum, por exemplo:
{
"logging": {
"logLevel": {
"Workflow.Host": "Warning",
"Workflow.Jobs": "Warning",
"Workflow.Runtime": "Warning",
"Host.Workflow": "None"
}
}
}
No portal do Azure, abra seu recurso de aplicativo lógico Padrão.
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.
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
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
No portal do Microsoft Azure, abra o recurso do Application Insights, se ainda não estiver aberto.
No seu menu do recurso Application Insights, em Monitoramento, selecione Métricas.
Na lista Escopo, selecione sua instância do Application Insights.
Na lista Metric Namespace, selecione workflow.operations.
Na lista Métrica, selecione uma métrica, por exemplo, Execuções Concluídas.
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.
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.
No recurso do Application Insights, habilite métricas multidimensionais.
No Application Insights, abra o painel de métricas.
Na barra de ferramentas, selecione Adicionar filtros.
A partir da lista Propriedade, selecione Fluxo de Trabalho.
Na lista Operador, selecione o sinal de igual (=).
Na lista Valores, selecione os fluxos de trabalho desejados.
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.
No portal do Microsoft Azure, abra o recurso do Application Insights, se ainda não estiver aberto.
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:
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.
No portal do Azure, abra seu recurso de aplicativo lógico Padrão.
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: