Considerações de gestão de operações para o acelerador da zona de destino dos Serviços AIS
Este artigo fornece considerações e recomendações para a gestão e monitorização de operações ao utilizar as ofertas do AIS.
A maioria das recomendações nesta secção aplicam-se à versão Standard (inquilino único) do Logic Apps, que faz parte da oferta Serviço de Aplicações do Azure e partilha muitas das mesmas capacidades de gestão.
Muitos recursos que compõem o AIS podem ser configurados para armazenar dados de registo, telemetria e métricas no Log Analytics/Application Insights ou em localizações de armazenamento personalizadas (estes recursos incluem Contas de Armazenamento, Hubs de Eventos, entre outros).
Podemos utilizar estas informações para visualizar o estado de funcionamento geral dos nossos recursos e tomar as ações de gestão adequadas.
Definições
Os Registos do Azure Monitor recolhem e organizam dados de registo e desempenho de recursos monitorizados. Ferramentas como o Log Analytics podem consultar ou visualizar estas informações de registo ou permitir que alerte se determinadas condições forem cumpridas.
Os Registos de Métricas do Azure recolhem dados numéricos numa base de dados de série temporal a partir de recursos monitorizados. Ferramentas como o Application Insights podem, em seguida, visualizar estes dados, ajudar a identificar problemas de desempenho e runtime.
O Log Analytics é uma oferta de Monitorização do Azure, que fornece uma localização para armazenar dados de registo e desempenho, fornece um mecanismo e uma linguagem para consultar esses registos (Kusto); e fornece a capacidade de criar alertas e dashboards com base nesses registos (entre outras capacidades).
O Application Insights é uma oferta de Monitorização do Azure, que fornece a capacidade de visualizar e alertar sobre os dados de desempenho emitidos pelos recursos monitorizados.
Linguagem de Pesquisa Kusto (KQL) é uma poderosa linguagem de consulta otimizada para consultar e formatar dados. Por exemplo, é a linguagem de consulta principal do Log Analytics.
Considerações sobre Design
Considere a sua solução de monitorização como um todo:
Que recursos precisa de monitorizar?
Como irá controlar as mensagens que fluem entre recursos?
A que sistemas externos se irá ligar?
De que tipos de alertas vai precisar?
Pense nas consultas que precisa de executar. Por exemplo, terá de saber se um determinado pedido demora mais tempo do que o esperado? Ou se receber um único erro vs. um cluster de erros?
De que nível de controlo vai precisar? Por exemplo, se uma mensagem chegar de terceiros, precisa de controlar essa mensagem através de todos os recursos associados?
Que tarefas de gestão terá de realizar? Terá de voltar a submeter mensagens ou ficheiros?
O histórico de execuções da Aplicação Lógica é armazenado no Armazenamento do Azure por predefinição, mas também pode optar por exportar métricas e ficheiros de registo para outras origens (por exemplo, o Log Analytics ou uma Conta de Armazenamento externa). Considere como utiliza as suas informações de registo e se utilizar um arquivo de registos centralizado.
O Application Insights é utilizado para fornecer monitorização do desempenho da aplicação. Fá-lo ao recolher métricas dos recursos que constituem a sua solução.
O Log Analytics é utilizado para consultar registos e configurar alertas, permitindo-lhe ver o estado de funcionamento dos seus recursos e compreender os problemas que podem ocorrer. Os dados de registo podem incluir propriedades personalizadas (veja Propriedades Registadas abaixo).
Veja o artigo Serviço de Aplicações gestão do acelerador de zonas de destino para obter mais considerações e recomendações específicas dos Serviços de Aplicações
Recomendações de Estrutura
Configure o Application Insights para que utilize uma Área de Trabalho do Log Analytics como origem de dados (conhecida como um recurso baseado na área de trabalho). Fazê-lo permite que os dados de registo e desempenho sejam mantidos numa localização consolidada.
Configure alertas para todos os recursos para notificar as equipas adequadas de eventos relacionados com recursos individuais ou com a carga de trabalho.
Ligue os recursos na sua solução ao Application Insights, se suportado. Por exemplo, uma Aplicação Lógica pode ser ligada ao Application Insights, para que os dados de runtime e as métricas estejam disponíveis para consulta. Veja aqui um exemplo.
Utilize a funcionalidade clientTrackingId do Logic Apps para fornecer um ID de controlo personalizado, permitindo-lhe correlacionar eventos em execuções de aplicações lógicas. Pode utilizar o cabeçalho x-ms-client-tracking-id para obter este resultado com os acionadores Pedido, HTTP ou HTTP+WebHook.
Utilize a funcionalidade Propriedades Registadas do Logic Apps para registar outros dados (entrada ou saída) de uma ação nos ficheiros de registo. Estas propriedades estão então disponíveis para utilização ao consultar registos com o KQL com o Log Analytics ou outra solução.
Considere utilizar etiquetas de recursos. As etiquetas de recursos podem ajudá-lo a gerir e organizar recursos no Azure. Pode utilizá-los para atribuir metadados a recursos. Pode utilizar estes metadados para várias finalidades, como categorizar recursos por aplicação ou unidade de negócio, controlar o custo dos recursos e identificar recursos para conformidade.
Consultas Kusto de Exemplo
As consultas abaixo mostram como consultar as três tabelas principais utilizadas para os dados de registo do AIS. Cada uma destas tabelas pode ser acedida a partir da opção Registos na secção Monitorização da Aplicação Lógica.
As principais tabelas de consulta são:
exceções
Esta tabela contém quaisquer exceções registadas pelo recurso, como exceções geradas pelo runtime da Aplicação Lógica. Pode ser utilizado para procurar a causa subjacente de quaisquer problemas que veja, no portal ou durante a execução do seu código.pedidos
Esta tabela regista todos os pedidos efetuados pelo runtime da Aplicação Lógica para outro recurso OU para ações específicas no fluxo de trabalho.rastreios
Esta tabela contém a maior parte dos registos de runtime do Logic Apps, detalhes de registo sobre a execução do acionador, início e paragem do fluxo de trabalho e execução de ações. Se tiver registado quaisquer propriedades registadas das suas ações, encontrará estes dados na secção customDimensions . Em seguida, pode utilizar a cláusula extend numa consulta para adicionar os dados como colunas na resposta da consulta.
Fluxos de trabalho com Erros:
> traces
>
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
>
> \| where customDimensions.LogLevel == "Error"
Número de execuções de fluxos de trabalho nas últimas 24 horas em todos os fluxos de trabalho:
> traces
>
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
>
> \| where customDimensions\["EventName"\] == "WorkflowActionStart"
>
> \| where timestamp \> ago(1d)
>
> \| count
Taxa de êxito do acionador, grafada ao longo do tempo
> traces
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
> \| where customDimensions\["EventName"\] == "WorkflowTriggerEnd"
> \|summarize
>
> success = countif(customDimensions\["prop\_\_status"\] ==
> "Succeeded"),
>
> failures = countif(customDimensions\["prop\_\_status"\] == "Failed")
>
> by bin(timestamp, 1m)
> \| render timechart
Passo seguinte
Reveja as áreas de design críticas para fazer considerações e recomendações completas para a sua arquitetura.