Sistemas distribuídos geram grandes volumes de rastros duplicados ou de baixo valor. A amostragem de rastros reduz os custos de armazenamento e computação ao reter apenas aqueles com maior probabilidade de investigação, como erros, requisições lentas e caminhos críticos.
O ARMS oferece quatro modos de amostragem. Cada modo atende a diferentes padrões de tráfego e objetivos de custo.
|
Modo de amostragem |
Como funciona |
Mais indicado para |
|
Retém uma porcentagem definida de todos os rastros |
Tráfego previsível com volume estável |
|
|
Ajusta dinamicamente a amostragem entre interfaces usando múltiplas estratégias |
Tráfego intenso ou altamente variável (recomendado) |
|
|
Nível gratuito mais políticas personalizadas por interface |
Usuários da Basic Edition que gerenciam custos |
|
|
Captura spans de erros e outliers de latência |
Identificação de problemas sem amostragem em taxa total |
Amostragem de taxa fixa
A amostragem de taxa fixa retém uma porcentagem definida de rastros com base no TraceId. Com uma taxa de 10%, o sistema registra um a cada 10 rastros. Cada rastro é totalmente retido ou totalmente descartado — não ocorrem rastros parciais.
Configure amostragem de taxa fixa
Faça login no console do ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Application List.
-
Selecione uma região na barra de navegação superior e clique em a aplicação.
NotaOs ícones na coluna Language indicam a linguagem de programação:
: Java
: Go
: Python- (Hífen): aplicação monitorada no Managed Service for OpenTelemetry
No painel de navegação à esquerda, clique em Application Settings. Na página exibida, clique em a aba Custom Configuration.
-
Na seção Sampling rate setting, defina Sample rate model como Fixed sampling rate. No campo Sampling Rate Settings, insira um valor percentual. Por exemplo, insira
10para uma taxa de amostragem de 10%.NotaAs alterações entram em vigor imediatamente, sem necessidade de reiniciar a aplicação. O valor padrão é 10. Uma taxa de amostragem mais alta consome mais recursos do sistema. Mantenha o padrão, a menos que sua carga de trabalho exija uma taxa maior.
Amostragem adaptativa
A amostragem adaptativa decide dinamicamente se deve amostrar cada rastro combinando três estratégias. Esse modo equilibra baixos custos com monitoramento abrangente. Utilize-o quando o tráfego for intenso ou oscilar significativamente.
|
Estratégia |
Descrição |
Configurável |
|
Amostragem completa para interfaces específicas |
Especifique nomes, prefixos ou sufixos de interfaces para reter 100% dos rastros correspondentes. Ative esta opção apenas para interfaces críticas, pois ela aumenta o volume de dados coletados. |
Sim |
|
Amostragem para as N principais requisições |
Usa o algoritmo Least Frequently Used (LFU) para amostrar um subconjunto de entradas por interface. Evita que o volume de dados cresça linearmente com o tráfego. |
Não |
|
Amostragem mínima para todas as interfaces |
Amostra pelo menos um rastro por interface dentro de cada janela de tempo. Preserva a visibilidade para interfaces de baixo tráfego. |
Não |
Configure amostragem adaptativa
Faça login no console do ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Application List.
-
Selecione uma região na barra de navegação superior e clique em a aplicação.
NotaOs ícones na coluna Language indicam a linguagem de programação:
: Java
: Go
: Python- (Hífen): aplicação monitorada no Managed Service for OpenTelemetry
No painel de navegação à esquerda, clique em Application Settings. Na página exibida, clique em a aba Custom Configuration.
-
Na seção Sampling rate setting, defina Sample rate model como Adaptive sampling. Especifique os nomes, prefixos ou sufixos das interfaces para amostragem completa.
NotaAs alterações entram em vigor imediatamente, sem necessidade de reiniciar a aplicação. A amostragem adaptativa requer o agente ARMS V2.8.3 ou posterior.
Amostragem da Basic Edition
A amostragem da Basic Edition está disponível apenas para usuários do Application Monitoring Basic Edition. Ela fornece uma política de amostragem gratuita e oferece suporte a políticas personalizadas.
|
Tipo de política |
Descrição |
|
Política de amostragem gratuita |
Coleta um rastro por minuto para cada agente em todas as interfaces da sua conta, sem custo. |
|
Política de amostragem personalizada |
Amostra rastros com base em uma proporção fixa ou em um limite de tráfego fixo. Cada política pode abranger todas as interfaces ou uma interface específica. |
Adicionar política de amostragem personalizada
Faça login no console do ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Application List.
-
Selecione uma região na barra de navegação superior e clique em a aplicação.
NotaOs ícones na coluna Language indicam a linguagem de programação:
: Java
: Go
: Python- (Hífen): aplicação monitorada no Managed Service for OpenTelemetry
No painel de navegação à esquerda, clique em Application Settings. Na página exibida, clique em a aba Custom Configuration.
-
Na seção Sampling rate setting, clique em Add Client Sampling Policy. Configure os seguintes parâmetros e clique em OK.
Parâmetro
Descrição
Sampling Policy Name
Nome da política de amostragem.
Sampling type e Sampling value
Fixed proportion sampling: Amostra rastros em uma proporção especificada. Insira uma porcentagem em Sampling value, como
10%. Flow limit: Coleta um número especificado de rastros por agente dentro de um intervalo de tempo. Por exemplo,5rastros por agente a cada1segundo.Applicable interface
Escopo da política. Selecione Each interface para aplicar a todas as interfaces ou Specify Interface para direcionar a uma única interface por nome. Para direcionar a várias interfaces, crie uma política separada para cada uma.
Amostragem para requisições com falha ou lentas
Este modo captura spans quando uma requisição atende a qualquer uma das seguintes condições:
|
Condição |
Descrição |
|
Respostas de erro |
A interface HTTP retorna um código de status diferente de 2xx ou 3xx, ou o framework lança uma exceção de serviço capturada pelo LocalRootSpan. |
|
Outliers de latência |
A duração da requisição excede o percentil 99 (p99) das durações históricas para a mesma interface. O limiar p99 pode apresentar desvios devido a agregações de bucket. |
|
Exceções de método |
Um método dentro da requisição lança uma exceção. Suportado apenas pelo agente ARMS V4.1.x. |
Este modo não garante a integridade completa do rastro. Quando a amostragem é acionada, apenas os spans da aplicação atual são salvos. Spans de serviços upstream ou downstream no mesmo rastro podem não ser capturados.
Limitação de taxa
Por padrão, o agente ARMS limita a coleta a 100 rastros por segundo para evitar que o monitoramento afete o desempenho da aplicação sob tráfego intenso. Esse limite se aplica tanto à amostragem de taxa fixa quanto à amostragem adaptativa.
Para ajustar esse limite, modifique o parâmetro Throttling Threshold na aba Custom Configuration.
Um limiar de limitação mais alto consome mais recursos do sistema. Mantenha o padrão, a menos que sua configuração de monitoramento exija mais rastros por segundo.
Próximos passos
Após a amostragem, use condições de filtro e dimensões de agregação para analisar dados de rastros em tempo real com o explorador de rastros.