Compartilhar via


Considerações de gerenciamento de operações para o acelerador de zona de destino dos Serviços do AIS

Este artigo fornece considerações e recomendações para gerenciamento e monitoramento de operações ao usar as ofertas do AIS.

A maioria das recomendações nesta seção se aplica à versão Standard (locatário único) dos Aplicativos Lógicos, que por si só faz parte da oferta de Serviço de Aplicativo do Azure e compartilha muitos dos mesmos recursos de gerenciamento.

Muitos recursos que compõem o AIS podem ser configurados para armazenar dados de log, telemetria e métrica no Log Analytics/Application Insights ou em locais de armazenamento personalizados (esses recursos incluem Contas de Armazenamento, Hubs de Eventos e outros).

Podemos utilizar essas informações para visualizar a integridade geral de nossos recursos e tomar as ações de gerenciamento apropriadas.

Definições

  • Os Logs do Azure Monitor coletam e organizam dados de log e desempenho de recursos monitorados. Ferramentas como o Log Analytics podem consultar ou visualizar essas informações de log ou permitir que você alerte se determinadas condições forem atendidas.

  • Os Logs de Métricas do Azure coletam dados numéricos em um banco de dados de série temporal de recursos monitorados. Ferramentas como o Application Insights podem visualizar esses dados e ajudar você a identificar problemas de desempenho e runtime.

  • O Log Analytics é uma oferta de Monitoramento do Azure, que fornece um local para armazenar dados de log e desempenho, fornece um mecanismo e uma linguagem para consultar esses logs (Kusto); e fornece a capacidade de criar alertas e painéis com base nesses logs (entre outros recursos).

  • O Application Insights é uma oferta de Monitoramento do Azure, que fornece a capacidade de visualizar e alertar sobre os dados de desempenho emitidos pelos recursos monitorados.

  • Linguagem de Consulta Kusto (KQL) é uma linguagem de consulta avançada otimizada para consultar e formatar dados. Por exemplo, é a linguagem de consulta principal do Log Analytics.

Considerações de criação

  • Considere sua solução de monitoramento como um todo:

    • Quais recursos você precisa monitorar?

    • Como você acompanhará as mensagens que fluem entre os recursos?

    • A quais sistemas externos você se conectará?

    • De quais tipos de alerta você precisará?

  • Pense em quais consultas você precisa executar. Por exemplo, você precisará saber se uma determinada solicitação leva mais tempo do que o esperado? Ou se você receber um único erro versus um cluster de erros?

  • De que nível de acompanhamento você precisará? Por exemplo, se uma mensagem chegar de terceiros, você precisará acompanhar essa mensagem por meio de todos os recursos associados?

  • Quais tarefas de gerenciamento você precisará executar? Você precisará reenviar mensagens ou arquivos?

  • O histórico de execução do Aplicativo Lógico é armazenado no Armazenamento do Azure por padrão, mas você também pode optar por exportar métricas e arquivos de log para outras fontes (por exemplo, Log Analytics ou uma conta de armazenamento externa). Considere como usar suas informações de log e se você usar um repositório de logs centralizado.

  • O Application Insights é usado para fornecer monitoramento de desempenho do aplicativo. Ele faz isso coletando métricas dos recursos que compõem sua solução.

  • O Log Analytics é usado para consultar logs e configurar alertas, permitindo que você veja a integridade de seus recursos e entenda os problemas que podem ocorrer. Os dados de log podem incluir propriedades personalizadas (consulte Propriedades rastreadas abaixo).

  • Consulte o artigo Serviço de Aplicativo gerenciamento de aceleradores de zona de destino para obter mais considerações e recomendações específicas dos Serviços de Aplicativos

Recomendações de design

  • Configure o Application Insights para que ele use um workspace do Log Analytics como fonte de dados (conhecida como um recurso baseado em workspace). Isso permite que os dados de registro em log e desempenho sejam mantidos em um local consolidado.

  • Configure alertas para todos os recursos para notificar as equipes apropriadas de eventos relacionados a recursos individuais ou à carga de trabalho.

  • Vincule os recursos em sua solução ao Application Insights, se houver suporte. Por exemplo, um Aplicativo Lógico pode ser vinculado ao Application Insights, para que os dados e as métricas de runtime estejam disponíveis para consulta. Consulte aqui para obter um exemplo.

  • Use o recurso clientTrackingId dos Aplicativos Lógicos para fornecer uma ID de acompanhamento personalizada, permitindo que você correlacione eventos entre execuções de aplicativo lógico. Você pode usar o cabeçalho x-ms-client-tracking-id para obter esse resultado com os gatilhos Solicitação, HTTP ou HTTP+WebHook.

  • Use o recurso Propriedades Rastreadas dos Aplicativos Lógicos para registrar outros dados (entrada ou saída) de uma ação nos arquivos de log. Essas propriedades ficam disponíveis para uso ao consultar logs usando KQL com o Log Analytics ou outra solução.

  • Considere usar marcas de recurso. As marcas de recurso podem ajudá-lo a gerenciar e organizar recursos no Azure. Você pode usá-los para atribuir metadados a recursos. Você pode usar esses metadados para várias finalidades, como categorizar recursos por aplicativo ou unidade de negócios, acompanhar o custo dos recursos e identificar recursos para conformidade.

Consultas de exemplo do Kusto

As consultas abaixo mostram como consultar as três tabelas main usadas para dados de log do AIS. Cada uma dessas tabelas pode ser acessada na opção Logs na seção Monitoramento do aplicativo lógico.

As main tabelas de consulta são:

  • exceptions
    Esta tabela contém todas as exceções registradas pelo recurso, como exceções geradas pelo runtime do Aplicativo Lógico. Ele pode ser usado para procurar a causa subjacente de quaisquer problemas que você vê, seja no portal ou durante a execução do código.

  • requests
    Essa tabela registra todas as solicitações feitas pelo runtime do Aplicativo Lógico para outro recurso OU para ações específicas no fluxo de trabalho.

  • traces
    Esta tabela contém a maior parte dos logs de runtime dos Aplicativos Lógicos, detalhes de log sobre a execução do gatilho, início e interrupção do fluxo de trabalho e execução de ação. Se você registrou todas as propriedades controladas de suas ações, encontrará esses dados na seção customDimensions . Em seguida, você pode usar a cláusula extend em uma 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 fluxo 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 gatilho, 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

Próxima etapa

Examine as áreas de design críticas para fazer considerações e recomendações completas para sua arquitetura.