Adicionar registos e monitorizar uma Função do Azure no portal

Concluído

Agora que sua primeira função Web sem servidor usando o Azure Functions Maven Archetype foi implantada com êxito, sua empresa gostaria que você pesquisasse como analisar o uso do seu aplicativo com o Azure Application Insights.

Nesta unidade, você aprenderá sobre o streaming de logs como uma ferramenta básica de solução de problemas e a integração entre o Azure Functions e o Application Insights.

Transmita logs em tempo real com a CLI do Azure

Depois de ter seu aplicativo de função implantado e em execução. Você pode usar o seguinte comando da CLI do Azure para obter streaming de log em tempo real do aplicativo para solução de problemas básicos:

az webapp log tail -n <function app name> -g <resource group name>

O tráfego para seu aplicativo Function pode produzir um log de streaming como este exemplo:

Image showing Log Streaming from Azure CLI.

Para cenários de solução de problemas e monitoramento mais complicados, o Application Insights é mais adequado.

O que é o Application Insights?

O Azure Application Insights é um serviço de Gerenciamento de Desempenho de Aplicativo (APM) incluído no Azure Monitor e está integrado ao Azure Functions. O Application Insights ajuda os desenvolvedores a visualizar e analisar dados em tempo real sobre seus aplicativos à medida que eles são usados pelos clientes. O Application Insights proporciona um conjunto de ferramentas abrangente que o podem ajudar a analisar e a dar resposta a problemas que podem estar a afetar a aplicação.

O Application Insights suporta aplicativos desenvolvidos em Node.js, Java ou .NET. Permite à sua equipa de desenvolvimento uma maior flexibilidade e escolha na forma como estruturam e constroem as aplicações da sua empresa.

O Application Insights fornece informações essenciais sobre solicitações com falha, tempo de resposta do servidor, solicitações do servidor e disponibilidade. O Application Insights está habilitado por padrão para suas Funções do Azure. Se você incluir pontos de controle de telemetria em seu código, o Application Insights também poderá usar dados de telemetria enviados do seu aplicativo.

Adicionar instrumentação ao projeto Java

Para obter o melhor do Application Insights, você precisa atualizar seu projeto de função. Há dois tipos de alterações que você precisa fazer:

  • O primeiro conjunto de alterações é a atualização da sua configuração para adicionar o Application Insights e o suporte de log:

    • Atualize o ficheiropom.xml do projeto para adicionar uma dependência da biblioteca do Application Insights.

    • Atualize o arquivo de host.json do seu projeto para adicionar parâmetros que definem como você deseja que o registro em log e o Application Insights funcionem para seu aplicativo.

  • O segundo conjunto de alterações são as modificações no código do aplicativo, o que oferece oportunidades para ajustar os relatórios do aplicativo:

    • Para implementar o rastreamento de eventos no Application Insight, você precisa adicionar um rastreador ao seu código.

    • Os controladores são adicionados em pontos críticos na execução do código; por exemplo: quando uma nova página é selecionada ou quando dados específicos são guardados na aplicação.

Compreender as opções de registo e de monitorização

O método recomendado para utilizar o Application Insights nas aplicações de função é otimizar os relatórios e a monitorização da aplicação. No entanto, também pode recolher dados sobre a operação das aplicações a partir dos registos incorporados que o Azure disponibiliza.

Por exemplo, o streaming de log está disponível selecionando Fluxo de log no menu Aplicativo de função. Em seguida, escolha Filesystem Logs ou App Insights Logs.

Image showing where to find Log Streaming.