Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nota
Os planos Basic, Standarde Enterprise entraram em um período de aposentadoria em 17 de março de 2025. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e o plano dedicado entraram em um período de desativação a 30 de setembro de 2024, com um encerramento completo até o final de março de 2025. Para obter mais informações, consulte Migrar o consumo padrão e o plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a:✅ Basic/Standard ✅ Enterprise
Este artigo mostra como coletar métricas de disjuntor do Spring Cloud Resilience4j com o agente em processo Java do Application Insights. Com esse recurso, você pode monitorar as métricas do disjuntor Resilience4j a partir do Application Insights com micrômetro.
A demonstração spring-cloud-circuit-breaker-demo mostra como funciona o monitoramento.
Pré-requisitos
- Instale o Git, Maven e Java, se ainda não estiver instalado no computador de desenvolvimento.
Criar e implementar aplicações
Use as etapas a seguir para criar e implantar os aplicativos de exemplo.
Use o seguinte comando para clonar e construir o repositório de demonstração:
git clone https://github.com/spring-cloud-samples/spring-cloud-circuitbreaker-demo.git cd spring-cloud-circuitbreaker-demo && mvn clean package -DskipTests
Use o seguinte comando para criar uma instância de serviço do Azure Spring Apps:
az spring create \ --resource-group ${resource-group-name} \ --name ${Azure-Spring-Apps-instance-name}
Use os seguintes comandos para criar as aplicações com pontos de extremidade.
az spring app create \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name resilience4j \ --assign-endpoint az spring app create \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name reactive-resilience4j \ --assign-endpoint
Use os seguintes comandos para implantar os aplicativos:
az spring app deploy \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name resilience4j \ --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \ --artifact-path ./spring-cloud-circuitbreaker-demo-resilience4j/target/spring-cloud-circuitbreaker-demo-resilience4j-0.0.1-SNAPSHOT.jar az spring app deploy \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name reactive-resilience4j \ --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \ --artifact-path ./spring-cloud-circuitbreaker-demo-reactive-resilience4j/target/spring-cloud-circuitbreaker-demo-reactive-resilience4j-0.0.1-SNAPSHOT.jar
Use o seguinte comando para criar uma instância de serviço do Azure Spring Apps:
Nota
Se sua assinatura nunca tiver sido usada para criar uma instância do plano Enterprise do Azure Spring Apps, você deverá executar o seguinte comando:
az term accept \ --publisher vmware-inc --product azure-spring-cloud-vmware-tanzu-2 --plan asa-ent-hr-mtr
az spring create \ --resource-group ${resource-group-name} \ --name ${Azure-Spring-Apps-instance-name} \ --sku Enterprise
Use os seguintes comandos para criar aplicações com endpoints:
az spring app create \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name resilience4j \ --assign-endpoint az spring app create \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name reactive-resilience4j \ --assign-endpoint
Use os seguintes comandos para implantar os aplicativos:
az spring app deploy \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name resilience4j \ --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \ --artifact-path ./spring-cloud-circuitbreaker-demo-resilience4j/target/spring-cloud-circuitbreaker-demo-resilience4j-0.0.1-SNAPSHOT.jar az spring app deploy \ --resource-group ${resource-group-name} \ --service ${Azure-Spring-Apps-instance-name} \ --name reactive-resilience4j \ --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \ --artifact-path ./spring-cloud-circuitbreaker-demo-reactive-resilience4j/target/spring-cloud-circuitbreaker-demo-reactive-resilience4j-0.0.1-SNAPSHOT.jar
Nota
Inclua a dependência necessária para o Resilience4j:
<dependency> <groupId>io.github.resilience4j</groupId> <artifactId>resilience4j-micrometer</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId> </dependency>
Seu código deve usar a API
CircuitBreakerFactory
, que é implementada como umbean
criado automaticamente quando inclui um starter do Spring Cloud Circuit Breaker. Para obter mais informações, consulte Spring Cloud Circuit Breaker.As duas dependências a seguir têm conflitos com pacotes Resilient4j. Certifique-se de não incluí-los.
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
Navegue até a URL fornecida pelas aplicações de gateway e aceda ao endpoint a partir de spring-cloud-circuit-breaker-demo da seguinte maneira:
/get
/delay/{seconds}
/fluxdelay/{seconds}
Localize Resilence4j Metrics no portal do Azure
Na sua instância do Azure Spring Apps, selecione Application Insights no painel de navegação e, em seguida, selecione Application Insights na página.
Nota
Se você não ativar o Application Insights, poderá ativar o agente Java In-Process. Para obter mais informações, consulte a seção Gerir insights de aplicações usando o portal do Azure em Utilizar o agente Java em processo do Application Insights no Azure Spring Apps.
Ativar a recolha de dimensões para métricas resilience4j. Para obter mais informações, consulte a seção Dimensões de métricas personalizadas e preagregação na secção sobre Métricas baseadas em log e pré-agregadas no Application Insights.
Selecione Métricas no painel de navegação. A página de Métricas fornece menus suspensos e opções para definir os gráficos neste procedimento. Para todos os gráficos, defina Metric Namespace como azure.applicationinsights.
Defina Metric como resilience4j_circuitbreaker_buffered_calls e, em seguida, defina Aggregation como Avg.
Defina Metric como resilience4j_circuitbreaker_calls e, em seguida, defina Aggregation como Avg.
Defina Metric como resilience4j_circuitbreaker_calls e, em seguida, defina Aggregation como Avg. Selecione Adicionar filtro e defina Nome como Atraso.
Defina Metric como resilience4j_circuitbreaker_calls e, em seguida, defina Aggregation como Avg. Selecione Aplicar divisão e defina Dividir por tipo.
Defina Métrica como resilience4j_circuitbreaker_calls e, em seguida, defina Agregação como Média. Selecione Adicionar métrica e defina Métrica como resilience4j_circuitbreaker_buffered_calls e, em seguida, defina Agregação como Média. Selecione Adicionar métrica novamente e defina Métrica como resilience4j_circuitbreaker_slow_calls e, em seguida, defina Agregação como Média.
Na sua instância do Azure Spring Apps, selecione Application Insights no painel de navegação e, em seguida, selecione o Application Insights padrão na página.
Nota
Se não houver nenhum Application Insights padrão disponível, você poderá ativar o agente Java In-Process. Para obter mais informações, consulte a seção Gerir insights de aplicações utilizando o portal do Azure da Utilizar o agente Java In-Process do Application Insights nos Azure Spring Apps.
Ative a recolha de dimensões para métricas do resilience4j. Para obter mais informações, consulte a secção sobre dimensões de métricas personalizadas e pré-agregação da secção de métricas baseadas em log e pré-agregadas no Application Insights.
Selecione Métricas no painel de navegação. A página de Métricas fornece menus suspensos e opções para definir os gráficos para esta operação. Para todos os gráficos, defina Metric Namespace como azure.applicationinsights.
Defina Metric como resilience4j_circuitbreaker_buffered_calls e, em seguida, defina Aggregation como Avg.
Defina Metric como resilience4j_circuitbreaker_calls e, em seguida, defina Aggregation como Avg.
Defina Metric como resilience4j_circuitbreaker_calls e, em seguida, defina Aggregation como Avg. Selecione Adicionar filtro e defina Nome como Atraso.
Defina Metric como resilience4j_circuitbreaker_calls e, em seguida, defina Aggregation como Avg. Selecione Aplicar divisão e defina Dividir por tipo.
Defina Métrica como resilience4j_circuitbreaker_calls e, em seguida, defina Agregação como Média. Selecione Adicionar métrica e defina Métrica como resilience4j_circuitbreaker_buffered_calls e, em seguida, defina Agregação como Média. Selecione Adicionar métrica novamente e defina Métrica como resilience4j_circuitbreaker_slow_calls e, em seguida, defina Agregação como Média.