Guia de início rápido: Monitoramento de aplicativos do Azure Spring Apps com logs, métricas e rastreamento
Observação
Azure Spring Apps é o novo nome do serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns locais por um tempo enquanto trabalhamos para atualizar ativos como capturas de tela, vídeos e diagramas.
Este artigo se aplica a: ✔️ Básico/Standard ❌ Enterprise
Com a funcionalidade de monitoramento interno no Azure Spring Apps, você pode depurar e monitorar problemas complexos. O Azure Spring Apps integra o rastreamento distribuído do Steeltoe ao Application Insights do Azure. Essa integração fornece uma funcionalidade avançada de logs, métricas e rastreamento distribuído no portal do Azure.
Os procedimentos a seguir explicam como usar o streaming de log, o Log Analytics, as métricas e o rastreamento distribuído com o aplicativo de exemplo que você implantou nos guias de início rápido anteriores.
Pré-requisitos
Conclua os guias de início rápido anteriores nesta série:
Logs
Há duas maneiras de ver logs no Azure Spring Apps: o Streaming de Log de logs em tempo real por instância de aplicativo ou o Log Analytics para logs agregados com capacidade de consulta avançada.
Streaming de log
Você pode usar o streaming de log na CLI do Azure com o comando a seguir.
az spring app logs --name solar-system-weather --follow
Será mostrado um resultado semelhante ao seguinte exemplo:
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing action method Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather) - Validation state: Valid
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController[0]
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Retrieved weather data from 4 planets
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing ObjectResult, writing value of type 'System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]][]'.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
Dica
Use az spring app logs -h
para explorar mais parâmetros e funcionalidade de fluxo de log.
Log Analytics
No portal do Azure, acesse a página serviço | Visão geral e selecione Logs na seção Monitoramento. Selecione Executar em uma das consultas de exemplo do Azure Spring Apps.
Edite a consulta para remover as cláusulas Where que limitam a exibição a logs de aviso e de erro.
Selecione Executar. Os logs são mostrados a você. Para obter mais informações, consulte Introdução às consultas de log no Azure Monitor.
Para saber mais sobre a linguagem de consulta usada no Log Analytics, confira Consultas de log do Azure Monitor. Para consultar todos os logs do Log Analytics de um cliente centralizado, confira Azure Data Explorer.
Métricas
No portal do Azure, acesse a página serviço | Visão geral e selecione Métricas na seção Monitoramento. Adicione sua primeira métrica selecionando uma das métricas do .NET em Desempenho (.NET) ou Solicitação (.NET) na lista suspensa Métrica, e Média para Agregação para ver a linha do tempo para essa métrica.
Selecione Adicionar filtro na barra de ferramentas, selecione
App=solar-system-weather
para ver o uso da CPU somente para o aplicativo solar-system-weather.Ignore o filtro criado na etapa anterior, selecione Aplicar Divisão e selecione Aplicativopara Valores para ver o uso da CPU por aplicativos diferentes.
Rastreamento distribuído
No portal do Azure, acesse a página serviço | Visão geral e selecione Rastreamento distribuído na seção Monitoramento. Em seguida, selecione a guia Exibir o mapa do aplicativo à direita.
Agora você pode ver o status de chamadas entre aplicativos.
Selecione o link entre solar-system-weather e planet-weather-provider para ver mais detalhes, como chamadas mais lentas por métodos HTTP.
Por fim, selecione Investigar Desempenho para explorar uma análise de desempenho interna mais avançada.
Com a funcionalidade de monitoramento interno no Azure Spring Apps, você pode depurar e monitorar problemas complexos. O Azure Spring Apps integra o Spring Cloud Sleuth ao Application Insights do Azure. Essa integração fornece uma funcionalidade avançada de logs, métricas e rastreamento distribuído no portal do Azure. Os procedimentos a seguir explicam como usar o streaming de log, o Log Analytics, as métricas e o rastreamento distribuído com os aplicativos PetClinic implantados.
Pré-requisitos
Conclua os guias de início rápido anteriores nesta série:
Logs
Há duas maneiras de ver logs no Azure Spring Apps: o Streaming de Log de logs em tempo real por instância de aplicativo ou o Log Analytics para logs agregados com capacidade de consulta avançada.
Streaming de log
Você pode usar o streaming de log na CLI do Azure com o comando a seguir.
az spring app logs \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name api-gateway \
--follow
Você verá logs como este:
Dica
Use az spring app logs -h
para explorar mais parâmetros e funcionalidades de fluxo de log.
Para saber mais sobre a linguagem de consulta usada no Log Analytics, confira Consultas de log do Azure Monitor. Para consultar todos os logs do Log Analytics de um cliente centralizado, confira Azure Data Explorer.
Log Analytics
Acesse a página serviço | Visão geral e selecione Logs na seção Monitoramento. Selecione Executar em uma das consultas de exemplo do Azure Spring Apps.
Em seguida, você verá os logs filtrados. Para obter mais informações, consulte Introdução às consultas de log no Azure Monitor.
Métricas
Navegue até a página Insights do aplicativo e, em seguida, navegue até a página Métricas. Você pode conferir as métricas contribuídas por aplicativos Spring Boot, módulos Spring e dependências.
O gráfico abaixo mostra gateway_requests
(Gateway do Spring Cloud), hikaricp_connections
(Conexões JDBC) e http_client_requests
.
O Spring Boot registra várias métricas principais, incluindo JVM, CPU, Tomcat e Logback. A configuração automática do Spring Boot permite a instrumentação de solicitações tratadas pelo MVC do Spring. Todos os três controladores REST (OwnerResource
, PetResource
e VisitResource
) são instrumentados pela anotação do Micrômetro @Timed
no nível da classe.
O aplicativo customers-service
tem as seguintes métricas personalizadas habilitadas:
- @Timed:
petclinic.owner
- @Timed:
petclinic.pet
O aplicativo visits-service
tem as seguintes métricas personalizadas habilitadas:
- @Timed:
petclinic.visit
Você pode ver essas métricas personalizadas na página Métricas:
Use o recurso Teste de Disponibilidade no Application Insights e monitorar a disponibilidade dos aplicativos:
Navegue até a página Métricas Dinâmicas para ver métricas dinâmicas com latências baixas (menos de um segundo):
Rastreamento
Abra o Application Insights criado pelo Azure Spring Apps e comece a monitorar aplicativos Spring.
Navegue até a página Mapa do Aplicativo:
Navegue até a página Desempenho:
Navegue até a guia Dependências, onde é possível ver o número de desempenho para dependências, principalmente chamadas SQL:
Selecione uma chamada SQL para ver a transação de ponta a ponta no contexto:
Navegue até a página Falhas e a guia Exceções, na qual você pode ver uma coleção de exceções:
Selecione uma exceção para ver a transação de ponta a ponta e o rastreamento de pilha no contexto:
Limpar os recursos
Se planejar continuar trabalhando com os tutoriais e inícios rápidos subsequentes, deixe esses recursos onde estão. Quando não for mais necessário, exclua o grupo de recursos, que excluirá os recursos no grupo de recursos. Para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Em um início rápido anterior, você também definiu o nome do grupo de recursos padrão. Se você não pretende avançar para o próximo início rápido, desmarque esse padrão executando o seguinte comando da CLI:
az config set defaults.group=
Próximas etapas
Para explorar mais recursos de monitoramento do Azure Spring Apps, confira: