Ir para o conteúdo

APM

Abrir na plataforma

Página de APM (Application Performance Monitoring) é onde o time enxerga, em tempo real, como as aplicações em produção estão se comportando: quanto demora cada transação, quantas estão falhando, quais serviços estão lentos e como eles dependem uns dos outros.

A ideia central é simples: o monitoramento de infraestrutura responde "o servidor está de pé?", o APM responde "a aplicação está atendendo o cliente bem?". Você vê serviço por serviço o tempo de resposta, a vazão e a taxa de erros, e desce no detalhe quando algo destoa, idealmente antes do cliente ligar reclamando.

Acesse por Aplicações → APM.

Quem usa

Três perfis costumam viver nesta tela:

  • Desenvolvedores: olham latência e erros do serviço que mantêm, descem em transações específicas para entender por que aquele endpoint piorou depois de um deploy.
  • SRE e plantão: usam o mapa de serviços para entender impacto em cascata quando algo cai, e abrem o detalhe para correlacionar com alertas e hosts.
  • Gestores técnicos: acompanham tendências de longo prazo (semana, mês) e comparam com o período anterior para medir efeito de mudança.

APM precisa de instrumentação na aplicação

Diferente de hosts, que dá para monitorar via agente sem mexer no código, o APM exige que o agente de instrumentação esteja embutido na aplicação. O passo a passo está no Guia de configuração.

A lista de serviços

Lista de serviços APM com latência, throughput e taxa de erros

A aba Services é o ponto de partida. Cada linha representa um serviço da aplicação (um microsserviço, um worker, um frontend, uma API). As colunas, todas ordenáveis:

Coluna Conteúdo
Nome Nome do serviço como ele se identifica no agente de APM (ex: api-checkout, worker-emails, frontend-web). Clicar abre o detalhe.
Ambiente Em qual ambiente o serviço está rodando (production, staging, homolog, etc). Vem do agente.
Latência (ms) Tempo médio de resposta na janela de tempo selecionada. Sparkline ao lado mostra a tendência.
Throughput Transações por minuto. Sparkline acompanha.
Erros (%) Percentual de transações que falharam. Sparkline destaca picos.
Impacto Indicador de severidade do estado atual (combinação de latência alta, taxa de erro e ausência de dados).

Cada linha vem com um indicador colorido de estado:

  • Verde: serviço saudável.
  • Laranja: serviço degradado, taxa de erro acima de 5% ou latência elevada em relação ao baseline.
  • Vermelho: serviço com problema, taxa de erro acima de 20% ou completamente sem dados de transações.
  • Cinza: sem dados nas últimas 24 horas, agente desligado ou nunca enviou métrica nesse período.

Ordene por impacto para triagem rápida

Quando algo está estranho mas você não sabe onde, ordenar pela coluna Impacto decrescente coloca os serviços mais problemáticos no topo. É o equivalente APM do Crítico na página de Alertas.

KPIs no topo

Acima da lista ficam quatro cartões com o resumo agregado do tenant:

Cartão O que mostra
Serviços online Quantos estão saudáveis (verde) na janela atual.
Serviços degradados Quantos estão em laranja.
Serviços com erro Quantos estão em vermelho ou cinza.
Latência média Média ponderada de latência entre todos os serviços ativos.

Os cartões servem de termômetro de abertura: bate o olho, vê se tem fogo, depois desce na tabela.

Controles e filtros

A barra de controles acima da tabela governa o que aparece e como atualiza.

Janela de tempo

Presets disponíveis no seletor de período:

  • Última 15 min (padrão): janela curta, ótima para olhar o "agora" durante incidente.
  • Última 1 hora: zoom para um período recente, útil pós-deploy.
  • Últimas 24 horas: visão do dia.
  • Últimos 7 dias: tendência semanal.
  • Personalizado: você escolhe início e fim.

O padrão de 15 minutos foi escolhido porque APM brilha em incidente: você quer ver o que está acontecendo agora, não a média histórica. Para análise de tendência, troque para 24h ou 7d.

Auto-atualização

Dropdown ao lado do período controla o refresh automático:

  • Manual: você clica Atualizar quando quiser.
  • 30s / 1min / 5min: a tela recarrega no intervalo escolhido.

Em telão de NOC ou durante incidente, 30s é o sweet spot. Para investigação cirúrgica num serviço, prefira Manual para evitar que a sparkline se redesenhe enquanto você está olhando.

Comparação

Outro dropdown permite comparar a janela atual com um período anterior:

  • Nenhuma (padrão): apenas a janela atual.
  • Dia anterior: sobrepõe a mesma janela 24h antes.
  • Semana anterior: sobrepõe a mesma janela 7 dias antes.

A comparação aparece como linha pontilhada nas sparklines e em valores de variação percentual. Útil para responder "essa latência de 800ms é alta ou é normal pra essa hora?".

Filtro por ambiente

Dropdown All Environments lista os ambientes detectados pelo agente. Selecionar production esconde tudo de homolog e dev. Em tenants com vários ambientes ativos, esse filtro economiza muito ruído.

Busca

Campo livre filtra a lista por nome do serviço. A busca é incremental (filtra enquanto você digita).

Atualizar

Botão Atualizar força recarregar os dados ignorando o intervalo de auto-atualização. Usado quando você quer ver o efeito imediato de um deploy ou mudança.

Guia de configuração

Link no canto superior leva para /apm/setup, a página de instruções de instrumentação. Use quando vier alguém perguntando "como ligo APM no meu serviço novo?".

Gerenciar serviços permitidos

Nem todo serviço que o agente envia precisa aparecer na lista. O botão Gerenciar serviços abre um modal onde você define a allowlist do tenant: quais nomes de serviço entram na visualização.

O modal mostra:

  • A lista atual de serviços permitidos.
  • Um campo para adicionar um novo nome (geralmente colado do que o agente reportou).
  • Botão de remoção em cada linha.

Por que isso existe: em tenants compartilhados ou em transição (migração entre stacks), o agente pode reportar serviços de teste, instâncias antigas ou nomes duplicados. A allowlist mantém a tela limpa sem precisar mexer no agente.

A allowlist filtra a UI, não a coleta

Os dados continuam chegando no backend APM da plataforma. Remover da allowlist apenas esconde da lista e do mapa. Se você quer parar de coletar de verdade, desinstrumente a aplicação ou desligue o agente.

Mapa de serviços

A aba Service Map mostra a topologia do sistema como um grafo. Cada nó é um serviço, cada aresta é uma chamada entre eles (HTTP, RPC, fila, banco).

Mapa de serviços APM com nós e dependências

O mapa herda os mesmos estados de cor da lista: verde, laranja, vermelho, cinza. Isso permite que você bata o olho e veja onde o problema está se propagando. Um vermelho no api-checkout com cinco serviços downstream em laranja conta uma história clara: a falha está no checkout, mas afeta toda a cadeia.

Clique num nó para abrir o detalhe daquele serviço.

A aresta entre dois nós exibe a taxa de chamadas e a latência média daquela interação específica. Em sistemas com muitos serviços, esse é o lugar onde dependências "esquecidas" aparecem (alguém ligou um worker novo no banco crítico sem avisar).

Use o mapa antes de abrir o detalhe

Na investigação de incidente, comece pelo mapa, não pela tabela. O mapa mostra impacto em cascata que a tabela esconde: você vê em segundos que cinco serviços estão laranja porque o serviço A está vermelho.

Detalhe do serviço

Clicar num serviço na tabela ou no mapa abre a página de detalhe (/apm/services/<name>). Ela é organizada em abas que vão do panorama geral ao código:

Detalhe de um serviço APM com abas e gráficos

  • Overview: KPIs do serviço (latência, throughput, taxa de erros) com séries temporais e top transações.
  • Transactions: lista de transações do serviço com latência e erro por transação. Clique para descer ao detalhe da transação (/apm/services/<name>/transactions/<t>), onde aparecem traces de exemplos individuais.
  • Dependencies: serviços e recursos externos chamados por este (outros serviços, bancos, filas, APIs).
  • Errors: agrupamento de erros recentes. Cada linha abre um detalhe (/apm/services/<name>/errors/<id>) com stack trace e contexto.
  • Metrics: métricas técnicas adicionais (uso de CPU/memória do processo, GC, pool de conexões), quando o agente coleta.
  • Service Map: mesma visualização do mapa global, mas centrada neste serviço.
  • Logs: integração com os logs do serviço quando configurada.
  • Alerts: alertas abertos relacionados ao serviço.

O fluxo típico de drill-down é: lista → detalhe (overview) → transação ou erro específico → trace ou stack trace → causa raiz.

Empty state e setup

Em um tenant novo, ou quando ainda nenhum agente reportou métrica, a tela aparece vazia com instruções de setup em três passos:

Página de setup do APM com instruções de instrumentação

  1. Instalar o agente na linguagem da aplicação (cada linguagem tem um pacote específico).
  2. Configurar credenciais com o token do tenant para que o agente saiba para onde enviar a telemetria.
  3. Reiniciar a aplicação e esperar alguns minutos pelos primeiros dados.

O passo a passo completo, com snippets por linguagem, vive em /apm/setup (link Guia de configuração na barra superior). Quando dados começarem a chegar, a tela troca o empty state pela lista normal automaticamente.

Sem dados há mais de 24h aparece como cinza

Se um serviço que estava verde fica em cinza, suspeite primeiro de agente parado, deploy quebrado ou credencial expirada. A coloração cinza significa "não chegou métrica nessa janela", não "está tudo bem".

Limites

Alguns números úteis para dimensionar uso:

  • Paginação: padrão de 10 linhas por página. Em tenants com poucas dezenas de serviços, vale subir para 25 ou 50 para evitar paginar toda hora.
  • Performance: a página foi otimizada para até cerca de 100 serviços ativos no tenant. Acima disso, o tempo de carga sobe e a sparkline pode atrasar. Considere usar a allowlist para deixar visíveis apenas os serviços relevantes.
  • Sparklines: cada mini-gráfico exibe até cerca de 500 pontos. Em janelas longas com muitas amostras, há agregação automática para caber.
  • Timeout: consultas ao backend APM da plataforma têm timeout de 60 segundos. Janelas muito longas ou tenants com volume alto podem estourar; nesse caso a tela mostra erro e você precisa reduzir o intervalo ou filtrar mais.

Próximos passos

  • Alertas


    Configure alertas em cima das métricas do APM (latência, erro) para ser avisado proativamente.

    Abrir Alertas

  • Widgets de Dashboard


    Use métricas de APM em widgets dos seus dashboards próprios.

    Ver Widgets

  • Hosts


    Cruze APM com a saúde do host onde a aplicação está rodando.

    Página de Hosts