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.
Observação
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.
Este artigo aplica-se a:✅ Java ❎ C#
Este artigo aplica-se a:
✅ Básico/Padrão ❎ Empresa
Este artigo mostra como observar seus aplicativos de produção implantados no Azure Spring Apps e diagnosticar e investigar problemas de produção. Observabilidade é a capacidade de coletar insights, análises e inteligência acionável por meio de logs, métricas, rastreamentos e alertas.
Para descobrir se seus aplicativos atendem às expectativas e descobrir e prever problemas em todos os aplicativos, concentre-se nas seguintes áreas:
- Disponibilidade: Verifique se o aplicativo está disponível e acessível ao usuário.
- Fiabilidade: Verifique se a aplicação é fiável e se pode ser utilizada normalmente.
- Falha: entenda que o aplicativo não está funcionando corretamente e outras correções são necessárias.
- Desempenho: entenda quais problemas de desempenho o aplicativo encontra que precisam de mais atenção e descubra a causa raiz do problema.
- Alertas: Conheça o estado atual da aplicação. Notifique proativamente outras pessoas e tome as ações necessárias quando o aplicativo não estiver funcionando corretamente.
Este artigo usa o conhecido aplicativo de exemplo PetClinic como o aplicativo de produção. Para obter mais informações sobre como implantar o PetClinic no Azure Spring Apps e usar o MySQL como o repositório persistente, consulte os seguintes artigos:
- Implantar aplicativos de microsserviço no Azure Spring Apps
- Integrar o Azure Spring Apps com o Banco de Dados do Azure para MySQL
O Log Analytics e o Application Insights estão profundamente integrados com o Azure Spring Apps. Você pode usar o Log Analytics para diagnosticar seu aplicativo com várias consultas de log e usar o Application Insights para investigar problemas de produção. Para obter mais informações, consulte os seguintes artigos:
Pré-requisitos
- Uma assinatura do Azure. Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Monitorizar a aplicação
O Azure Spring Apps fornece várias métricas por padrão, incluindo métricas de disponibilidade, desempenho, solicitações HTTP, conexões de banco de dados e muito mais. Essas métricas são importantes para esclarecer metas, encontrar melhorias e formular medidas específicas de melhoria. Para obter mais informações, consulte Métricas para Azure Spring Apps.
Esta seção mostra como usar métricas com seu aplicativo e monitorar as métricas em um painel do Azure usando os principais gráficos de métricas gerados pelo Azure Spring Apps e Application Insights.
Adicionar métricas para monitorar a utilização de recursos
Esta seção explica como usar as métricas padrão definidas pelo Spring Boot e as métricas personalizadas definidas no código do aplicativo. Essas métricas estão disponíveis para aplicativos executados no Azure Spring Apps.
Adicionar métricas definidas pelo Spring Boot
O Spring Boot registra várias métricas, como JVM, servidor Web e métricas relacionadas ao registro. As etapas a seguir mostram como adicionar JVM Memory como exemplo, mas para adicionar outras métricas definidas pelo Spring Boot, você pode usar as mesmas etapas.
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Application Insights para ir para a página de visão geral do Application Insights.
No menu de navegação, selecione Métricas, selecione o ícone de edição no título do gráfico e renomeie o título do gráfico para Memória JVM Usada.
Selecione Adicionar métrica. Para Metric, abra a lista suspensa correspondente e selecione jvm_memory_used sob o namespace de métricas baseadas em log . Em Agregação, selecione Média.
Selecione Aplicar divisão. Em Valores, abra a lista suspensa correspondente e selecione Nome da função de nuvem.
Observação
As métricas ficam disponíveis depois que o aplicativo é implantado e executado.
Adicionar métricas personalizadas definidas no código do aplicativo
No código-fonte PetClinic, os controladores REST são anotados com a anotação do micrômetro @Timed . Essa anotação coleta métricas como o número de vezes que um método é chamado ou o tempo de execução de um método.
A lista a seguir mostra os detalhes das métricas personalizadas:
-
petclinic.ownerepetclinic.petsão definidos na aplicaçãocustomers-service. -
petclinic.visité definido navisits-serviceaplicação.
Você pode definir um REST API access gráfico com métricas personalizadas e atualizar a Agregação para Contagem para cada métrica.
Monitorar a disponibilidade do aplicativo
A disponibilidade ou vivacidade de uma aplicação é determinada utilizando o Spring Boot Actuator. Para verificar a vivacidade de cada aplicativo no Azure Spring Apps, use as seguintes etapas:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Application Insights para ir para a página de visão geral do Application Insights.
Selecione Disponibilidade e, em seguida, selecione Adicionar teste padrão para adicionar um teste.
Na página Criar teste padrão , forneça as seguintes informações:
- Nome do teste: insira api-gateway para o aplicativo API gateway.
- URL: Digite https://< your-Azure-Spring-Apps-instance-name-api-gateway.azuremicroservices.io/actuator/health/liveness> para a URL correspondente.
- Critérios de sucesso: Estender a opção.
- Correspondência de conteúdo: selecione a caixa de seleção.
- O conteúdo deve conter: Introduza UP.
Selecione Salvar para concluir a configuração.
Use a tabela a seguir para adicionar outros testes com esses nomes de teste e URLs. Verifique se o nome do teste e o nome do aplicativo são consistentes.
Nome do teste URL O conteúdo deve conter admin-serverhttps://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io/actuator/health/livenessUPcustomers-servicehttps://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io/api/customer/actuator/health/livenessUPvets-servicehttps://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io/api/vet/actuator/health/livenessUPvisits-servicehttps://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io/api/visit/actuator/health/livenessUP
Monitorizar o painel de controlo
Um painel é uma ferramenta de consciência cognitiva e comunicação projetada para ajudá-lo a identificar visualmente tendências, padrões e anomalias, raciocinar sobre o que você vê e tomar decisões eficazes. Ele pode agregar vários gráficos métricos, links rápidos e outras informações importantes.
Use as etapas a seguir para criar um painel personalizado e fixar vários painéis de início rápido e gráficos de métricas no painel. Se você optar por usar o painel interno para o Application Insights criado pelo Azure Spring Apps, poderá ignorar a criação do painel e a personalização do gráfico do painel. Para obter mais informações, consulte Painel de visão geral do Application Insights.
Observação
Você também pode escolher um assistente com base no Application Insights para criar rapidamente um painel padrão.
No menu do portal do Azure, selecione Painel. Sua exibição padrão já pode estar definida como painel.
Selecione Criar e, em seguida, selecione Personalizar para criar um painel personalizado.
Insira um nome para o painel e selecione Salvar.
Esta ação abre a página Galeria de Mosaicos , a partir da qual pode selecionar os mosaicos, e uma grelha vazia onde pode organizar os mosaicos.
Observação
Você pode permitir que outros usuários visualizem seu painel usando um painel compartilhado. Para obter mais informações, consulte Compartilhar um painel do Azure.
Monitorização básica
As métricas mais fundamentais para um aplicativo, especialmente um aplicativo de microsserviços, são o uso da CPU, o uso da memória, a deteção de vivacidade e o tráfego de rede. Essas métricas fornecem uma base importante para avaliar a escalabilidade do aplicativo.
Use as instruções a seguir para fixar os vários gráficos no painel. Essas etapas são semelhantes para cada gráfico. Para alguns gráficos, instruções adicionais são fornecidas.
Fixar o gráfico "Uso da CPU do aplicativo"
Para fixar o gráfico "Uso da CPU do aplicativo", use as seguintes etapas:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Métricas, selecione o ícone de edição no título do gráfico e renomeie o título do gráfico para Uso da CPU do aplicativo.
Selecione Adicionar métrica. Para Metric, abra a lista suspensa correspondente e selecione Uso da CPU do aplicativo. Em Agregação, selecione Média.
Selecione Aplicar divisão. Em Valores, abra a lista suspensa correspondente e selecione Aplicativo.
Selecione Guardar no dashboard para abrir a lista suspensa e, em seguida, selecione Fixar no dashboard.
Na página Fixar no painel , selecione o painel que você criou e, em seguida, selecione Fixar para fixar o gráfico no painel.
Fixar o gráfico "Uso da memória do aplicativo"
Para fixar o gráfico Uso da memória do aplicativo no painel, use as etapas na seção anterior.
Fixar o gráfico "App Network In"
Para fixar o gráfico "App Network In", use as etapas na seção Fixar o gráfico "Uso da CPU do aplicativo", mas inclua as seguintes etapas:
Na página Métricas , selecione Adicionar filtro.
Em Propriedade, abra a lista suspensa correspondente e selecione Aplicação.
Em Operador, selecione =.
Em Valores, selecione admin-server e api-gateway.
Fixar o gráfico "Disponibilidade"
Para fixar o gráfico "Disponibilidade", use os seguintes passos:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Application Insights para ir para a página de visão geral do Application Insights.
No menu de navegação, selecione Métricas, selecione o ícone de edição no título do gráfico e renomeie o título do gráfico para Disponibilidade.
Selecione Adicionar métrica.
Para Metric, abra a lista suspensa correspondente e selecione Disponibilidade no namespace de métricas padrão do Application Insights . Em seguida, para Agregação, selecione Média.
Selecione Aplicar divisão. Em Valores, abra a lista suspensa correspondente, selecione Nome do teste e salve o gráfico de disponibilidade no painel.
Monitoramento de solicitações HTTP
Os principais dados registrados no processo do aplicativo que atende os usuários incluem o número de solicitações HTTP, tempo de resposta, solicitações anormais e solicitações com falha. Esses dados podem ajudá-lo a descobrir se o aplicativo está fornecendo serviços normalmente, o que afeta diretamente o nível de serviço do aplicativo.
Fixe o gráfico "Exceções do servidor e falhas de chamada de dependência"
Para fixar o gráfico "Exceções do servidor e falhas de chamada de dependência", use as etapas da seção Fixar o gráfico "Disponibilidade". As métricas Exceção de servidor e Falhas de chamada de dependência estão sob o espaço de nomes de métricas standard do Application Insights.
Fixar o gráfico "Solicitações com falha"
Para fixar o gráfico "Solicitações com falha", consulte as etapas da secção Fixar o gráfico "Disponibilidade". A métrica Solicitações com falha está sob o namespace de métricas padrão do Application Insights .
Fixar o gráfico "Contagem de pedidos"
Para fixar o gráfico "Contagem de solicitações", use as etapas da seção Fixar o gráfico "Disponibilidade", mas inclua as etapas a seguir. A métrica de solicitações do servidor está sob o namespace de métricas padrão do Application Insights .
Adicione um filtro para filtrar o nome da função Cloud com api-gateway e admin-server.
Aplique a divisão para Valores com Nome da função na nuvem.
Fixar o gráfico "Tempo de resposta"
Para fixar o gráfico "Tempo de resposta", use as etapas da seção Fixar o gráfico "Disponibilidade", mas adicione um filtro para filtrar o nome da função Cloud com api-gateway. A métrica de tempo de resposta do servidor está sob o namespace de métricas padrão do Application Insights .
Monitoramento do desempenho do banco de dados
O desempenho do banco de dados é a pedra angular do serviço normal para todos os aplicativos. Existem muitas quedas de desempenho de aplicativos causadas por um banco de dados lento ou esgotamento do pool de conexões do banco de dados. É necessário garantir que o desempenho no nível do banco de dados atenda às expectativas, caso contrário, causa problemas encadeados.
Fixe o gráfico "Conexões MySQL ativas"
Para fixar o gráfico "Conexões MySQL ativas", use as etapas da seção Fixar o gráfico "Disponibilidade ". A métrica hikaricp_connection_active está no namespace Log-based metrics.
Fixar conteúdo de uma página de recursos
Fixe alguns links comumente usados no painel. Esses links permitem que você abra rapidamente a página de operação no Azure ou em outras páginas de recursos.
Para fixar os painéis padrão do portal do Azure no painel de controlo, use as seguintes etapas:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Application Insights para ir para a página de visão geral do Application Insights.
No menu de navegação, selecione Mapa da aplicação e, em cada cabeçalho de página, selecione o ícone Fixar módulo no dashboard.
Na página Fixar no painel , selecione o painel que você criou e, em seguida, selecione Fixar para fixar o gráfico de início rápido no painel.
Repita estas etapas para fixar os painéis Métricas dinâmicas, Falhas e Desempenho no seu painel, conforme necessário.
Visualizar o painel
Para visualizar o painel, vá para a página privada do painel PetClinic para editar os blocos no painel para facilitar o monitoramento.
Gerenciar alertas
Os alertas ajudam a detetar e resolver problemas antes que os usuários percebam, notificando-o proativamente quando as métricas ou logs indicarem que pode haver um problema com sua infraestrutura ou aplicativo.
Esta seção explica como configurar grupos de ação e regras de alerta para monitorar seu aplicativo de produção. As regras de alerta associam padrões métricos aos grupos de ação no recurso de destino. Quando o padrão métrico corresponde à condição, a regra de alerta ativa e executa o conjunto de ações associado.
Configurar um grupo de ações
Para configurar um grupo de ações, use as seguintes etapas:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Alerta, selecione Grupos de ações para ir para a página de listagem de grupos de ações e, em seguida, selecione Criar para criar um grupo de ações.
Na página Criar grupo de ações , selecione a assinatura e o grupo de recursos que deseja cobrir. Insira as seguintes informações:
- Nome do grupo de ações: insira a notificação por e-mail.
- Nome curto: insira o e-mail.
- Região: selecione a região que deseja usar.
Navegue até a guia Notificação na página Criar grupo de ações . Para Tipo de notificação, selecione E-mail/Mensagem SMS/Push/Voz. Em Nome, insira e-mail de suporte.
Na página E-mail/Mensagem SMS/Push/Voz , selecione E-mail, insira seu endereço de e-mail de produção e selecione OK para concluir a configuração. Você também pode adicionar outros tipos de notificação, se desejar, como SMS, notificação de aplicativo móvel do Azure, Voz e assim por diante.
Selecione Rever e Criar para rever as suas seleções. Selecione Criar para criar o grupo de ações.
Configurar uma regra de alerta
Para configurar uma regra de alerta, use as seguintes etapas:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Alerta, selecione Regras de alerta para ir para a página de listagem Regras de alerta e, em seguida, selecione Criar para criar uma regra de alerta.
Na página Criar uma regra de alerta , para nome do sinal, abra a lista suspensa e selecione Ver todos os sinais.
Na área Métricas , selecione Uso da CPU do Aplicativo e selecione Aplicar.
Na seção lógica de alerta, use as seguintes entradas:
- Para Tipo de limite, selecione Estático.
- Em Tipo de agregação, selecione Média.
- Em Operador, selecione Maior que.
- Em Valor do limite, insira 90.
Na seção Dividir por dimensões , use as seguintes entradas:
- Em Nome da dimensão, selecione Aplicativo.
- Para Operador, use o padrão =.
- Em Valores de dimensão, selecione Selecionar tudo.
- Para Quando avaliar, mantenha o valor padrão.
Navegue até a guia Ações na página Criar uma regra de alerta e selecione Selecionar grupos de ações.
Na página Selecionar grupos de ações , procure o nome do grupo de ações por email, como notificação por email. Selecione o grupo de ações correspondente e, em seguida, selecione Selecionar para concluir a configuração.
Navegue até a guia Detalhes na página Criar uma regra de alerta .
Para Nome da regra de alerta, insira app-cpu-high-alert.
Selecione Rever e Criar para rever as suas seleções. Selecione Criar para criar a regra de alerta.
Para criar uma regra de alerta para o sinal métrico de Uso da Memória do Aplicativo , use as seguintes entradas:
- Nome do sinal: Uso da memória do aplicativo
- Valor limite: 90
- Nome da dimensão: App
- Valores de dimensão: Selecione tudo
- Nome do grupo de ações: notificação por e-mail
- Nome da regra de alerta: app-memory-high-alert
Para criar uma regra de alerta para o sinal da métrica Entrada de Rede do App, use as seguintes entradas:
- Nome do sinal: App Network In
- Unidade: GB
- Valor limite: 1
- Nome da dimensão: App
- Valores de dimensão: api-gateway
- Nome do grupo de ações: notificação por e-mail
- Nome da regra de alerta: network-in-high-alert
Depois de criar todas as regras de alerta, você pode exibir a lista de regras de alerta.
Fixar alertas no painel
Para fixar o gráfico de início rápido no painel, use as seguintes etapas:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Alerta e depois selecione o ícone de Fixar separador no painel.
Registos de consulta para diagnosticar um problema de aplicação
Se você encontrar problemas de produção, precisará fazer uma análise de causa raiz. Encontrar logs é uma parte importante dessa análise, especialmente para aplicativos distribuídos com logs espalhados por vários aplicativos. Os dados de rastreamento coletados pelo Application Insights podem ajudá-lo a encontrar as informações de log de todos os links relacionados, incluindo as informações da pilha de exceções.
Esta seção explica como usar o Log Analytics para consultar os logs do aplicativo e usar o Application Insights para investigar falhas de solicitação. Para obter mais informações, consulte os seguintes artigos:
Consultas de registo
Esta seção explica como consultar logs de aplicativos da AppPlatformLogsforSpring tabela hospedada pelo Azure Spring Apps. Você pode usar a linguagem de consulta Kusto para personalizar suas consultas para logs de aplicativos.
Para ver as instruções de consulta de exemplo internas ou para escrever suas próprias consultas, abra a instância do Azure Spring Apps e vá para o menu Logs .
Mostrar os logs do aplicativo que contêm os termos "erro" ou "exceção"
Para ver os logs do aplicativo que contêm os termos "erro" ou "exceção", selecione Alertas na página Consultas e, em seguida, selecione Executar na seção Mostrar os logs do aplicativo que contêm os termos "erro" ou "exceção ".
A consulta a seguir mostra os logs do aplicativo da última hora que contém os termos "erro" ou "exceção". Você pode personalizar a consulta com qualquer palavra-chave que queira pesquisar.
AppPlatformLogsforSpring
| where TimeGenerated > ago(1h)
| where Log contains "error" or Log contains "exception"
| project TimeGenerated , ServiceName , AppName , InstanceName , Log , _ResourceId
Mostrar o erro e o número de exceção de cada aplicativo
Para ver o número de erro e exceção de um aplicativo, selecione Alertas na página Consultas e, em seguida, selecione Executar na seção Mostrar o número de erro e exceção de cada aplicativo .
A consulta a seguir mostra um gráfico circular do número de registos nas últimas 24 horas que contêm os termos "erro" ou "exceção". Para exibir os resultados em um formato de tabela, selecione Resultado.
AppPlatformLogsforSpring
| where TimeGenerated > ago(24h)
| where Log contains "error" or Log contains "exception"
| extend FullAppName = strcat(ServiceName, "/", AppName)
| summarize count_per_app = count() by FullAppName, ServiceName, AppName, _ResourceId
| sort by count_per_app desc
| render piechart
Consultar o log de atendimento ao cliente com uma palavra-chave
Use a consulta a seguir para ver uma lista de logs no customers-service aplicativo que contêm o termo "causa raiz". Atualize a consulta para usar a palavra-chave que você está procurando.
AppPlatformLogsforSpring
| where AppName == "customers-service"
| where Log contains "root cause"
| project-keep InstanceName, Log
Investigar falhas nas solicitações
Use as seguintes etapas para investigar falhas de solicitação no cluster de aplicativos e para exibir a lista de solicitações com falha e exemplos específicos das solicitações com falha:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Application Insights para ir para a página de visão geral do Application Insights. Em seguida, selecione Falhas.
Na página Falha, selecione a
PUToperação com o maior número de solicitações com falha, selecione 1 Amostra para ver os detalhes e, em seguida, selecione a amostra sugerida.Vá para a página Detalhes da transação de ponta a ponta para visualizar a pilha completa de chamadas no painel direito.
Melhorar o desempenho do aplicativo usando o Application Insights
Se houver um problema de desempenho, os dados de rastreamento coletados pelo Application Insights podem ajudar a localizar as informações de log de todos os links relevantes, incluindo o tempo de execução de cada link, para ajudar a encontrar o local do gargalo de desempenho.
Para usar o Application Insights para investigar os problemas de desempenho, use as seguintes etapas:
Vá para a página de visão geral da instância do Azure Spring Apps.
No menu de navegação, selecione Application Insights para ir para a página de visão geral do Application Insights. Em seguida, selecione Desempenho.
Na página Desempenho , selecione a operação mais lenta
GET /api/gateway/owners/{ownerId}, selecione 3 Amostras para entrar nos detalhes e, em seguida, selecione a amostra sugerida.Vá para a página Detalhes da transação de ponta a ponta para visualizar a pilha completa de chamadas no painel direito.
Limpeza de recursos
Pode eliminar o grupo de recursos do Azure, que inclui todos os recursos no grupo de recursos. Use as seguintes etapas para excluir todo o grupo de recursos, incluindo o serviço recém-criado:
Localize o grupo de recursos no portal do Azure.
No menu de navegação, selecione Grupos de recursos. Em seguida, selecione o nome do seu grupo de recursos - por exemplo, myresourcegroup.
Na página do grupo de recursos, selecione Eliminar. Digite o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão - por exemplo, myresourcegroup. Em seguida, selecione Excluir.