Diagnosticar exceções de negócios em uma arquitetura de microsserviços costuma ser difícil e demorado. O Application Real-Time Monitoring Service (ARMS) simplifica esse processo ao correlacionar traces com logs, o que permite identificar rapidamente a causa raiz dos problemas e aumentar a eficiência do diagnóstico.
Pré-requisitos
O Simple Log Service (SLS) deve estar ativado. Caso contrário, faça login no console do SLS e siga as instruções na tela para ativar o serviço.
Um projeto deve estar criado. Para mais informações, consulte Manage projects.
Um Logstore deve estar criado. Para mais informações, consulte Create a basic Logstore.
Informações básicas
Antes de solucionar problemas com traces e logs, compreenda três conceitos fundamentais: métricas, rastreamento e logging.
Métricas: Principais indicadores de desempenho da aplicação, como Application Service Request, Application Service Average Response Time e Application Dependent Service Request.
Rastreamento: Representa um caminho de requisição completo e de ponta a ponta. Um único trace vincula todas as chamadas de interface e ações relacionadas na aplicação.
Logging: Refere-se aos logs detalhados de negócios gerados pela aplicação para cada chamada de interface e ação de requisição-resposta.
Quando uma aplicação apresenta uma exceção de negócios, os gráficos de métricas frequentemente mostram flutuações significativas. Use esses gráficos para uma análise preliminar. Ao examinar o trace completo e os logs de negócios, é possível localizar com precisão a causa raiz da exceção.
Associe logs de negócios ao trace ID
Faça login no console do ARMS. No painel de navegação à esquerda, escolha .
-
Selecione uma região na barra de navegação superior e clique na aplicação.
NotaOs ícones na coluna Language indicam a linguagem de programação da aplicação:
: Java
: Go
: Python- (Hífen): aplicação monitorada no Managed Service for OpenTelemetry
Na barra de navegação à esquerda, clique em Application Settings e, no lado direito, clique na aba Custom Configurations.
-
Na aba Custom Configurations, na área Application Log Association, selecione Log Service como source de log, ative a chave Associate Business Logs with Trace ID, selecione a região e vincule o projeto e o Logstore.
Na lista suspensa
Associated Index, selecionefull-text index. No canto inferior esquerdo da aba Custom Configurations, clique em Save.
Solucione exceções com métricas da aplicação
Faça login no console do ARMS. No painel de navegação à esquerda, escolha .
-
Selecione uma região na barra de navegação superior e clique na aplicação.
NotaOs ícones na coluna Language indicam a linguagem de programação da aplicação:
: Java
: Go
: Python- (Hífen): aplicação monitorada no Managed Service for OpenTelemetry
-
Na barra de navegação à esquerda, clique em Application Overview, selecione Overall Analysis no topo da página e defina ou personalize o intervalo de tempo desejado no canto superior direito.
A página Overall Analysis exibe métricas essenciais da aplicação alvo, como Application Service Request, Application Service Average Response Time e Application Dependent Service Request.
-
Na página Overall Analysis, selecione uma métrica da aplicação e arraste o mouse sobre o gráfico de linhas para definir o intervalo de tempo desejado.
Este exemplo utiliza a métrica Application Service Average Response Time. Após selecionar um intervalo de tempo, um menu pop-up exibe as seguintes opções: Enter Selected Time Range, View Diagnostic Report for Selected Time Range, View Traces for Selected Time Range e View Logs for Selected Time Range.
-
Inspecione os traces do intervalo de tempo selecionado.
Clique em View traces for the selected time range.
-
No painel da lista de traces, selecione um registro de trace cujo Status esteja anormal (indicado pelo ícone
) e clique no valor do trace ID na coluna TraceId.Também é possível clicar em View Logs na coluna Actions do registro de trace para visualizar os logs de negócios naquele momento e analisar a causa das exceções.
Clique na aba Traces e, na coluna Details, clique no ícone
.-
Clique em Method Stack, localize a mensagem de erro na página de detalhes do trace e passe o mouse sobre a mensagem para visualizar a causa da exceção.
O lado esquerdo da página de detalhes do trace exibe uma árvore de chamadas de método com contagens de invocação e durações. O lado direito mostra os detalhes da exceção, incluindo o tipo, como
java.lang.RuntimeException, e a mensagem de erro específica, como "Failed to create Grafana folder".
-
Inspecione os logs de negócios do intervalo de tempo selecionado.
Clique em View Logs for the Selected Time Range.
-
Na página Log Analysis, selecione as informações de exceção e erro para visualizar os logs e localizar a causa da exceção de negócios.
Por exemplo, filtre entradas de log usando um
traceId, visualize o stack trace da exceção nos detalhes do log e localize oRegisterPromClusterServletque lançou umajava.lang.RuntimeExceptioncom a causa raiz Failed to create Grafana folder.
Solucione exceções com chamadas de interface
Faça login no console do ARMS. No painel de navegação à esquerda, escolha .
-
Selecione uma região na barra de navegação superior e clique na aplicação.
NotaOs ícones na coluna Language indicam a linguagem de programação da aplicação:
: Java
: Go
: Python- (Hífen): aplicação monitorada no Managed Service for OpenTelemetry
Na barra de navegação à esquerda, clique em Interface Invocation.
Na página Interface Invocation, clique na interface alvo na área da lista de interfaces e clique na aba Call chain query.
-
Na aba Call chain query, selecione os registros de invocação de interface cujo Status indique falha (mostrado como
).Após a filtragem, a lista exibe registros de chamadas de interface anormais. A tabela inclui as colunas
Generation Time,Interface Name,Application,Duration,Status,trace IDeActions. O exemplo mostra três registros comStatusigual a302e dois com duração de 2,5s. Clique emView Logsna colunaActionspara investigar os detalhes de uma chamada específica. -
Visualize o trace da chamada de interface.
Na coluna TraceId do registro de invocação de interface alvo, clique no trace ID.
Clique na aba Traces e, na coluna Details, clique no ícone
.-
Clique em Method Stack, localize a mensagem de erro na página de detalhes do trace e passe o mouse sobre a mensagem para visualizar a causa da exceção.
O lado esquerdo da página de detalhes do trace exibe uma árvore de chamadas de método com contagens de invocação e durações. O lado direito mostra os detalhes da exceção, incluindo o tipo, como
java.lang.RuntimeException, e a mensagem de erro específica, como "Failed to create Grafana folder".
-
Visualize os logs da chamada de interface.
Na coluna Actions do registro de invocação de interface alvo, clique em View Logs.
-
Na página Log Analysis, selecione as informações de exceção e erro para visualizar os logs e localizar a causa da exceção de negócios.
Por exemplo, filtre entradas de log usando um
traceId, visualize o stack trace da exceção nos detalhes do log e localize oRegisterPromClusterServletque lançou umajava.lang.RuntimeExceptioncom a causa raiz Failed to create Grafana folder.
Tópicos relacionados
Também é possível criar alertas para detectar anomalias nas métricas. Para mais informações, consulte Application Monitoring alert rules.