Na aba Custom Configuration, ajuste configurações comuns, como chaves de recursos do agente e políticas de amostragem.
Para ajustar essas configurações via API, consulte SaveTraceAppConfig.
Pré-requisitos
Sua aplicação deve ter um agente instalado. Para mais informações, consulte application monitoring integration overview.
Procedimento
Faça login no ARMS console. No painel de navegação à esquerda, escolha .
-
No topo da página Application List, selecione a região de destino e clique em na aplicação desejada.
NotaOs ícones na coluna Language têm os seguintes significados:
: Aplicação Java conectada ao Application Monitoring.
: Aplicação Go monitorada pelo Application Monitoring.
: Aplicação Python monitorada pelo Application Monitoring.-: Aplicação integrada ao Managed Service for OpenTelemetry.
No painel de navegação à esquerda, clique em Application Settings e, em seguida, clique em na aba Custom Configurations.
Defina os parâmetros de configuração personalizada e clique em Save na parte inferior da página.
Configurações de taxa de amostragem
ARMS Pro Edition
Na seção Sampling Rate Setting, configure políticas de amostragem e especifique as interfaces a serem amostradas para traces. Para mais informações, consulte Select a trace sampling mode (for agent versions earlier than 3.2.8).
A taxa de amostragem de traces tem prioridade maior que o limiar de limitação.
Configure os seguintes parâmetros: Sampling Rate Mode (suporta taxa de amostragem fixa; requer agente v2.8.3 ou posterior), Sampling Rate Setting (padrão: 10 para aplicações Java e Go; padrão: 100 para aplicações Python), Interfaces to Sample (permite selecionar interfaces específicas; requer agente v3.2.0 ou posterior), além de prefixos e sufixos para as interfaces amostradas.
ARMS Basic Edition
O ARMS Basic Edition oferece suporte a políticas de amostragem no lado do cliente, com faturamento baseado no número de linhas de dados coletadas. Por padrão, o ARMS coleta gratuitamente um trace por minuto para cada interface de cada agente. Clique em Add Client Sampling Policy para adicionar políticas de amostragem personalizadas.
Parâmetro | Descrição |
Policy Name | Nome personalizado para a política de amostragem. |
Sampling Type e Samples |
|
Applicable interface | Especifique o escopo de aplicação da política de amostragem. Selecione per span ou escolha Specify a span e insira o nome da interface. Nota Atualmente, cada política de amostragem aceita apenas um nome de interface. Para amostrar traces de múltiplas interfaces, configure várias políticas de amostragem. |
Após configurar as políticas de amostragem, ative-as ou desative-as no console. Várias políticas podem vigorar simultaneamente, obedecendo à seguinte ordem de prioridade: amostragem padrão (gratuita) > limite de fluxo para uma única interface > amostragem de proporção fixa para uma única interface > limite de fluxo para todas as interfaces > amostragem de proporção fixa para todas as interfaces. Edite políticas existentes ou exclua aquelas desnecessárias.
Este recurso requer o agente v2.7.1.3 ou posterior. A lista de políticas é exibida em uma tabela com colunas como nome da política, escopo aplicável, limite de fluxo, amostragem de proporção fixa, status de ativação e ações.
Chaves do agente e nível de log
Na seção Agent Switch Settings, ative ou desative a chave principal do agente e as chaves individuais de plug-ins, além de configurar o nível de log.
Alterações na chave principal do agente e no nível de log entram em vigor imediatamente, sem necessidade de reiniciar a aplicação. Se você desativar a chave principal do agente, o sistema deixará de monitorar sua aplicação. Proceda com cautela. Para aplicar alterações nas chaves dos plug-ins, reinicie manualmente a aplicação.
As chaves de plug-ins suportadas incluem: dubbo-plugin, mongodb-plugin, ali-hsf-plugin, httpclient3-plugin, httpclient4-plugin, jdk-http-plugin, jetty-plugin, mybatis-plugin, mysql-plugin, okhttp-plugin, oracle-plugin, postgresql-plugin, redis-plugin, spring-plugin, springboot-plugin, tomcat-plugin, lettuce-plugin, grpc-plugin, thrift-plugin, google-httpclient-plugin, hystrix-plugin e rxjava-plugin. O nível de log padrão é WARN.
Configurações de limiar
Na seção Threshold Settings, configure o limiar para consultas SQL lentas.
O limiar de consulta SQL lenta é medido em milissegundos (ms) e o valor padrão é 500 ms. Uma consulta SQL é considerada lenta quando seu tempo de execução ultrapassa esse limiar.
Configuração de fila de mensagens
Na seção Message Queue Configurations, defina parâmetros relacionados a mensagens.
As configurações Custom RabbitMQ Consumer e Custom Kafka Consumption Method exigem o agente v4.x ou posterior e entram em vigor após a reinicialização da aplicação. A configuração Automatic Context Propagation for Kafka Messages é compatível apenas com Kafka v0.11.0 ou superior.
Custom RabbitMQ consumer: Especifique o nome da classe de um consumidor personalizado ou de uma classe que contenha um consumidor interno anônimo para visualizar o trace desse consumidor. Separe múltiplos nomes de classes de consumidores com vírgulas (,).
Custom Kafka consumption method: Defina um método de consumo personalizado para visualizar traces e métricas ao consumir mensagens com o SDK nativo do Kafka.
Automatically propagate context for Kafka messages: Ao enviar uma mensagem, adiciona automaticamente cabeçalhos à mensagem do Kafka para correlacionar os traces do produtor e do consumidor.
Configurações de coleta do agente
A configuração Collect Traces requer o agente v4.2.0 ou posterior. O Agent Maximum QPS Threshold tem como padrão 10.000 e exige o agente v4.1.10 ou posterior. O Log Level padrão é WARN.
Collect traces: Controla se os dados de trace são reportados. Esta opção vem ativada por padrão. Se desativada, os dados de trace deixam de ser reportados.
-
Throttling threshold: Número máximo de requisições que o agente pode processar por segundo. O valor padrão é 100. Traces de requisições que excedem esse limiar não são coletados.
NotaA taxa de amostragem de traces tem prioridade maior que o limiar de limitação.
Agent maximum QPS threshold: Quantidade de requisições que o agente consegue processar por segundo. Por motivos de desempenho, o limiar efetivo pode variar em até 5% em relação ao valor configurado. Requisições acima desse limite não serão monitoradas, ou seja, nenhum span ou métrica será gerado, e a associação de ID de log com trace não funcionará.
Collect data for internal calls without entry points: Chamadas internas sem ponto de entrada geralmente referem-se a dados de spans e métricas gerados por tarefas agendadas que enviam requisições HTTP, interagem com bancos de dados, enviam mensagens ou fazem chamadas RPC iniciadas por meio do pool de threads do JDK.
Log level: Ajusta o nível de registro de logs do agente para fins de solução de problemas.
Configurações de chamada de API
Interface response time threshold: Quando o tempo de resposta de uma interface supera este limiar, o sistema marca a interface como uma chamada lenta.
Exception filtering: O ARMS não exibe as exceções inseridas aqui nos gráficos das páginas de detalhes da aplicação e de análise de exceções.
-
Inherit exception filter for parent classes: Se você ativar esta opção e uma exceção coletada for subclasse de uma classe de exceção configurada na exception filter allowlist, o ARMS também a filtrará.
Consequentemente, exceções que atendem aos critérios de filtragem não aparecem no console do ARMS.
Error count filtering: Por padrão, o ARMS considera códigos de status maiores que 400 como erros. Personalize quais códigos de status HTTP superiores a 400 não devem ser contados como erros.
Invalid interface call filtering: Insira as interfaces que não precisam ser monitoradas. O agente não reportará dados de observabilidade para essas interfaces, ocultando-as da página de chamadas de interface.
-
Record upstream interface name in metrics e Record upstream application name in metrics:
Controla se as métricas de interface registram a aplicação e a interface upstream que chamam a interface atual. Isso afeta principalmente a disponibilidade de dados upstream e downstream para dependências de service. Quando uma aplicação possui muitos chamadores upstream, registrar essas informações pode aumentar significativamente o volume de métricas reportadas e os custos associados.
Record original status code in metrics: Registra o código de resposta original nas métricas relacionadas a interfaces HTTP.
Configurações de monitoramento de pools
A configuração Thread Pool and Connection Pool Monitoring exige o agente v2.7.3.5 ou posterior e entra em vigor após a reinicialização da aplicação. A configuração Thread Name Pattern Extraction Policy for Thread Pools requer o agente v4.1.10 ou posterior.
Thread pool and connection pool monitoring: Oferece suporte ao monitoramento de métricas de pool de threads para frameworks como Tomcat, Dubbo e High-speed Service Framework (HSF). Requer atualização para a versão mais recente do agente.
Thread name pattern extraction policy for thread pools: Por padrão, este recurso substitui todos os caracteres numéricos no nome da thread de qualquer thread em execução em um pool de threads por
*. Ajuste essa configuração para substituir apenas os caracteres finais do nome da thread por*. Se sua aplicação iniciar múltiplos provedores Dubbo escutando em portas diferentes, a política padrão poderá agregar seus pools de threads em um só, pois os modelos de nome de thread extraídos serão idênticos. Nesse caso, ajuste a política para distingui-los como pools de threads separados.-
Filter by thread pool usage scenario e Filter by thread pool name pattern: Filtra métricas de monitoramento de determinados pools de threads com base em seu cenário de uso e padrão de nome de thread.
NotaEsta configuração só tem efeito para o agente Java v4.2.0 e posteriores.
Cenário de uso do pool de threads: Contexto em que a thread é utilizada. Os cenários suportados incluem Tomcat, Vert.x, Undertow, Dubbo, Jetty, AliyunJavaAgent e default. AliyunJavaAgent representa o pool de threads usado pelo agente, e default representa outros pools de threads não classificados.
Padrão de nome do pool de threads: Padrão derivado do processamento dos nomes das threads no pool. Por exemplo, http-nio--exec- é geralmente obtido substituindo as partes numéricas do nome real da thread por *.
Configurações de atributos de span
Ambas as configurações abaixo exigem o agente v4.x ou posterior. Record OpenTelemetry Specification Attributes vem desativado por padrão. A configuração Application Tag Association for Spans tem como padrão All Spans.
Record OpenTelemetry specification attributes: A Especificação OpenTelemetry define os atributos a serem incluídos nos spans gerados por cada tipo de plug-in. Para reduzir o volume de dados, o agente do ARMS não registra esses atributos por padrão. Ative esta configuração conforme suas necessidades. Para obter informações sobre os atributos adicionados para cada framework após a ativação desta configuração, consulte a Especificação OpenTelemetry.
Application tag association for spans: Controla quais spans incluem as tags vinculadas à aplicação na página application list do console. Por padrão, todos os spans incluem tags de aplicação. Para gerenciar o uso de dados, opte por anexar tags de aplicação apenas aos spans de entrada. Spans de entrada normalmente incluem HTTP Server, RPC Server, consumo de mensagens MQ e tarefas agendadas.
Configurações avançadas
Maximum method stack length: O valor padrão é 128, e o máximo é 400.
Stack depth for exception differentiation: Especifica a profundidade da pilha para diferenciar exceções do mesmo tipo. Geralmente é definida como a profundidade da primeira chamada divergente.
Maximum SQL length: O padrão é 1.024 caracteres, com mínimo de 256 e máximo de 4.096.
Collect SQL bind values: Captura valores de variáveis vinculados a parâmetros PreparedStatement. Entra em vigor sem reiniciar a aplicação e atualmente suporta apenas cenários onde você define valores de variáveis SQL em um PreparedStatement.
Original SQL Statements: Apenas trunca instruções SQL sem processamento adicional.
Record MySQL query return value size : Quando ativado, o ARMS registra o tamanho dos valores de retorno de consultas MySQL.
New trace storage format: Utiliza um novo formato de armazenamento que suporta ordenação de traces baseada em tempo (ativado por padrão).
Trace compression: Simplifica traces agrupando chamadas repetidas, como aquelas dentro de um loop for. Entra em vigor sem reiniciar a aplicação.
Maximum length of request parameters: O padrão é 512 caracteres, e o comprimento máximo suportado é 2.048 caracteres.
-
Quantile statistics: Ativa o recurso de estatísticas de quantil.
NotaUm quantil é um ponto que divide o intervalo de uma distribuição de probabilidade de uma variável aleatória em intervalos contínuos com probabilidades iguais. Quantis comuns incluem a mediana (2-quantil), quartis e percentis.
Automatic async propagation: Propaga automaticamente o contexto assíncrono quando uma tarefa assíncrona é submetida por meio de um pool de threads.
Packages to scan for async propagation: Adicione pacotes para escanear a fim de habilitar o monitoramento de tarefas assíncronas. Quando novos objetos que implementam as interfaces Runnable, Callable ou Supplier são criados em um pacote escaneado, o agente captura automaticamente o contexto de trace da thread atual. Quando a thread assíncrona executa, ela usa esse contexto para completar a vinculação do trace. Requer agente v2.7.1.3 ou posterior.
Return trace ID in response: Apenas para requisições HTTP, esta configuração adiciona o campo eagleeye-traceid ao cabeçalho de resposta.
Configurações de threads
Na seção Thread settings, ative ou desative a chave principal para análise de threads.
Este recurso está disponível apenas no ARMS Pro Edition.
A partir do agente v4.x, devido a mudanças na implementação, este recurso é controlado pela chave de hotspot de CPU no continuous profiling.
Configuração de associação de logs
Na seção Application Log Association, configure as informações da fonte de log associada à aplicação. Para mais informações, consulte log analysis.
Este recurso está disponível apenas no ARMS Pro Edition.
Associe logs ao Log Service (SLS) configurando o Project e o Logstore correspondentes. Ative a contagem de erros baseada em logs, além de configurar associação de tags personalizadas e caminhos de log.
Regras de convergência de URL
Na seção URL Convergence Settings, ative ou desative o recurso de convergência de URL e configure seu limiar e regras. A convergência de URL agrupa URLs semelhantes para exibi-las como um único item. Por exemplo, uma série de URLs que começam com /service/demo/ pode ser agrupada. O limiar de convergência é o número mínimo de URLs necessário para acionar a convergência. Por exemplo, se o limiar for 100, o sistema convergirá as URLs que correspondem à regex da regra somente quando sua contagem atingir 100.
As regras de convergência de URL são atualmente suportadas apenas pelo agente Java do ARMS. O agente Python do ARMS ainda não suporta esta configuração.
O limiar de convergência padrão é 1.000. A convergência ocorre quando o número de URLs correspondentes à regex excede esse limiar. As regras de convergência aceitam regex. Separe múltiplas regras com vírgulas (,), por exemplo, /service/(*?)/demo.
Monitoramento Arthas
Na seção Arthas Monitoring, ative ou desative o recurso de diagnóstico Arthas e especifique os endereços IP onde ele estará habilitado. Para mais informações, consulte Arthas diagnostics.
Este recurso está disponível apenas no ARMS Pro Edition.
Este recurso requer o agente v2.7.1.3 ou posterior. Especifique os endereços IP onde o diagnóstico Arthas será ativado. Se você especificar endereços IP, o recurso será habilitado apenas para esses endereços. Caso nenhum endereço IP seja especificado, o recurso será ativado para todos os endereços IP.
Continuous profiling
Na seção Continuous Profiling, ative ou desative a chave principal, bem como as chaves para os recursos de hotspot de CPU, hotspot de memória e hotspot de código. Especifique os endereços IP ou segmentos de rede onde esses recursos terão efeito. Para mais informações, consulte Integrate the continuous profiling feature. A lista de permissões de IP suporta múltiplos endereços IP de instância separados por vírgulas (,). A lista de permissões de segmento de rede suporta o formato CIDR (por exemplo, 10.0.0.0/8), mas não aceita múltiplos segmentos.
Configurações de protocolo de propagação de trace
Na seção Trace Propagation Protocol Settings, selecione o protocolo de propagação de trace a ser utilizado conforme suas necessidades. Para informações sobre os protocolos suportados pelo ARMS, consulte Trace context propagation protocols supported by ARMS.
Por padrão, nenhum Propagation protocol é definido, e o Propagation mode é Priority. Este recurso requer o agente v4.1.x ou posterior.
Por padrão, quando uma chamada chega, o agente do ARMS verifica os cabeçalhos de requisição na seguinte ordem: EagleEye, OpenTelemetry, SkyWalking, Jaeger e Zipkin. Se o agente detectar um cabeçalho para um protocolo específico, ele restaura o contexto de trace com base nesse protocolo e injeta os cabeçalhos correspondentes para chamadas downstream subsequentes. Se nenhum cabeçalho de protocolo for detectado, o agente usará o protocolo EagleEye por padrão.
Selecione qualquer protocolo nesta página como o protocolo prioritário. Após selecionar e salvar a configuração, o ARMS verificará primeiro os cabeçalhos de requisição do protocolo especificado. Por exemplo, se você definir o Propagation protocol como Jaeger e o Propagation mode como Priority, o agente do ARMS alterará a ordem de detecção para Jaeger, EagleEye, OpenTelemetry, SkyWalking e, em seguida, Zipkin.
Também é possível forçar o uso de um protocolo específico. Por exemplo, se você definir o Propagation protocol como Jaeger e o Propagation mode como Force, o agente do ARMS verificará apenas os cabeçalhos do protocolo Jaeger. Se nenhum cabeçalho do protocolo Jaeger for encontrado, o agente não buscará outros protocolos e, em vez disso, gerará um novo contexto de trace.
Mascaramento de dados
Na seção Data Redaction, defina regras de mascaramento. O agente então mascara conteúdo de parâmetros de sistema JVM, YAML do Kubernetes, parâmetros de entrada de métodos e variáveis de ambiente e sistema do Arthas durante a coleta. Nas regras de mascaramento, os elementos são separados por vírgulas (,). Cada elemento representa uma regex que não diferencia maiúsculas de minúsculas. Por exemplo, a regra password equivale à regex .password.. As regras de mascaramento padrão incluem password, secret, key, token e credentials.
Quando um agente coleta dados, ele filtra as chaves de dados com base nas expressões correspondentes. Se uma chave atender à condição, ela será considerada como contendo dados sensíveis e será mascarada. Por exemplo, se uma regra de mascaramento contiver licenseKey, as informações com a chave -Darms.licenseKey serão mascaradas. Quando a regra de mascaramento for licenseKey, ela mascarará as informações com a chave -Darms.licenseKey.
Cópia de configurações
Se precisar aplicar as mesmas configurações a outras aplicações, copie-as.
Copiar uma única configuração para outras aplicações
Na seção de configuração correspondente, clique em Batch copy to other applications.
-
Na caixa de diálogo exibida, selecione as aplicações às quais deseja aplicar a configuração e clique em OK.
A caixa de diálogo oferece dois modos: Copy to all other applications e Select monitored applications. As alterações levam de 1 a 2 minutos para entrar em vigor após uma cópia bem-sucedida.
Copiar todas as configurações para outras aplicações
Na parte inferior da página, clique em Batch copy to other applications.
-
Na caixa de diálogo exibida, selecione as aplicações às quais deseja aplicar as configurações e clique em OK.
A caixa de diálogo oferece dois modos: Copy to all other applications e Select monitored applications. As alterações levam de 1 a 2 minutos para entrar em vigor após uma cópia bem-sucedida.
Configuração padrão global
Salve as configurações atuais como o padrão global. Novas aplicações que você criar usarão essas configurações por padrão.
Na parte inferior da página, clique em Save Current Application Settings as Global Default Configurations.
Na caixa de diálogo exibida, clique em Confirm.