Configuração do agente Java: arquivo de configuração
O agente Java New Relic lê sua configuração do arquivo newrelic.yml . Por padrão, o agente procura esse arquivo no diretório que contém newrelic.jar. Você pode substituir o local do arquivo de configuração definindo a propriedade de sistema newrelic.config.file com um nome de arquivo completo.
O arquivo newrelic.yml possui seções separadas para ambientes diferentes:
Teste
Desenvolvimento
Preparação
Produção (padrão)
A New Relic aplica as configurações da seção common a cada um desses ambientes. Você pode selecionar outros ambientes como padrão configurando a propriedade de sistema newrelic.environment como o nome do ambiente.
Se você editar newrelic.yml, tome cuidado para estar em conformidade com o formato YAML. Use um validador YAML para garantir que a sintaxe esteja precisa antes de usar o arquivo com o agente Java da New Relic e siga estas regras:
Java agent newrelic.yml
Requirements
Formatar
Os arquivos YML diferenciam maiúsculas de minúsculas.
Recuos
Todos os recuos devem estar em incrementos de dois caracteres. Outros recuos resultarão em um erro Unable to parse configuration file na inicialização do agente.
Use o mesmo nível de recuo para dados na mesma seção do arquivo.
Recue quaisquer subseções com mais dois espaços.
Mudanças no arquivo
Você deve reiniciar o processo do host JVM para que as alterações entrem em vigor.
Exception: As alterações de propriedade em log_level e audit_mode não requerem reinicialização. As alterações de propriedade no circuit breaker não exigem reinicialização.
Precedência das definições de configuração
Para substituir qualquer configuração no arquivo de configuração, use uma substituição de propriedade do sistema. Em determinados ambientes, as variáveis de ambiente também podem ser usadas para substituir o arquivo de configuração e as propriedades do sistema. As variáveis de ambiente existem principalmente para oferecer suporte ao Heroku. Quando usada, Configuração no lado do servidor substitui todas as outras definições de configuração.
Com o agente Java, a configuração no lado do servidor substitui todas as outras configurações. Variáveis de ambiente substituem propriedades do sistema Java. As propriedades Java substituem as definições de configuração do usuário no arquivo newrelic.yml . As configurações do usuário substituem as configurações padrão newrelic.yml .
Configurando o diretório de extensões Java
O agente Java lê os arquivos de configuração na inicialização do processo. Para identificar o diretório onde os arquivos estão localizados, crie um novo diretório ou especifique um diretório de extensões existente:
Para criar o diretório de extensões:
Navegue até o diretório onde newrelic.jar e newrelic.yml estão localizados. Crie um diretório chamado extensions.
Em newrelic.yml, verifique se a propriedade extensions.dir não está definida.
Para usar um diretório de extensões Java existente:
No arquivo newrelic.yml , localize a seção common .
Use a propriedade extensions.dir para especificar o local do arquivo.
Configurações gerais de configuração
Defina essas opções na seção common . Para substituir qualquer uma dessas opções, use uma propriedade de sistema com prefixo newrelic.config .
Tipo
Corda
Padrão
(nenhum)
Esta configuração é required. Você deve especificar a chave de licença associada à sua conta New Relic. Esta chave vincula os dados do seu agente à sua conta no serviço New Relic.
Tipo
Corda
Padrão
(nenhum)
Esta configuração é required. Define o nome do aplicativo usado para reportar dados ao New Relic.
Se enable_auto_app_naming for falso, o agente reportará todos os dados para este aplicativo. Caso contrário, o agente reportará apenas tarefas em segundo plano (transação para aplicativo não web) para este aplicativo.
Para reportar dados para mais de um aplicativo, separe os nomes dos aplicativos com ponto e vírgula. Por exemplo, para reportar dados para My Application e My Application 2 use isto:
Sinalizador para habilitar o agente. Use esta configuração para forçar a execução ou não da execução do agente.
Tipo
Float
Padrão
1.0
O limite apdex_t em segundos para a pontuação Apdex do aplicativo. Para o agente Java versões 1.2.008 ou superior, o valor apdex_t é configurado na interface e o valor em newrelic.yml é ignorado.
Tipo
Inteiro
Padrão
(nenhum)
Número para diferenciar JVMs para o mesmo aplicativo na mesma máquina. New Relic usa host/port para unicidade, então você pode distinguir as JVMs colocando uma opção como esta nos argumentos de inicialização de cada JVM:
-Dnewrelic.config.appserver_port=8081
Depois de usar appserver_port para nomear as JVMs e reiniciá-las, você poderá vê-las individualmente no dropdown e na interface de criação de perfil.
Importante
Esta é apenas uma mudança para a New Relic; na verdade, não afeta a porta na qual o host se comunica de forma alguma.
Tipo
Boleano
Padrão
false
Permite o registro em texto simples de todos os dados enviados ao New Relic para o arquivo de log do agente. Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Tipo
Corda
Formato do valor
/path/to/ca/cert/bundle.pem
Especifica um caminho para um pacote de certificado SSL personalizado que será usado pelo agente para estabelecer uma conexão segura com o New Relic. Se o seu pacote de certificado SSL personalizado não incluir certificados suficientes para se conectar ao New Relic, você precisará mesclar os certificados necessários em seu pacote de certificados personalizado.
Importante
Nossa implementação do Java Flight Recorder que atualmente acompanha o agente Java usa o SDK de telemetria. Especificar um ca_bundle_path não atualizará o certificado que nossa opção JFR usa para se conectar ao New Relic. Se você estiver usando um armazenamento confiável customizado e quiser usar a implementação JFR do agente Java, será necessário adicionar os certificados necessários ao seu armazenamento confiável customizado.
Tipo
Boleano
Padrão
false
Permite o relatório de dados separadamente para cada aplicativo web. Defina como true para ativar o suporte para nomeação automática de aplicativos. O nome de cada aplicativo web é detectado automaticamente e o agente reporta os dados separadamente para cada um. Isso fornece um detalhamento de desempenho mais detalhado para aplicativos da web no New Relic.
Permite nomenclatura de transação baseada em componentes. Defina como true para ativar a nomenclatura de transação baseada em componentes. Defina como false para usar o URI de uma solicitação da web como o nome da transação. Para obter mais informações, consulte Nomenclatura de transação da web.
Cuidado
A menos que você implemente a chamada de API para nomear sua transação, desabilitar a nomenclatura de transação automática provavelmente causará problemas de agrupamento métrico.
Tipo
Boleano
Padrão
true
Ativa toda a instrumentação usando uma anotação @Trace. Desabilitar isso faz com que @Trace anotações sejam ignoradas.
Evento ingerir URI usado por algum recurso do agente. O padrão é o endpoint de ingestão de produção dos EUA. Pode ser configurado manualmente para enviar o evento para outro endpoint de ingestão (por exemplo, produção na UE: https://insights-collector.eu01.nr-data.net/v1/accounts/events).
Os clientes compatíveis com FedRAMP devem usar o endpoint compatível com FedRAMP: https://gov-insights-collector.newrelic.com/v1/accounts/events
Tipo
Corda
Padrão
(nenhum)
Define a localização do diretório de extensões opcionais. Se esta propriedade não estiver configurada, o agente procurará um subdiretório denominado extensions no mesmo diretório que newrelic.jar e newrelic.yml.
Tipo
Boleano
Padrão
false
Para que a alta segurança seja ativada, esta propriedade deve ser definida como true e a propriedade de alta segurança na interface do usuário do New Relic deve ser ativada. Ativar alta segurança significa que o SSL está ativado, a solicitação e a fila de parâmetros não são coletadas e a consulta não pode ser enviada para a New Relic em sua forma bruta.
Importante
A partir do agente Java 3.48.0, SSL está habilitado por padrão e a opção de configuração para desativá-lo foi descontinuada. A partir do agente Java 4.0.0, a capacidade de desativar SSL foi removida.
Tipo
Corda
Padrão
(nenhum)
Fornece a capacidade de configurar um endpointcompatível com FedRAMP para uso do agente, com o valor gov-collector.newrelic.com.
Observe que esta opção agora habilita o tag, que substituiu o recurso de rótulo. Você ainda pode consultar seus rótulos históricos. Várias tags podem ser anexadas usando um ponto e vírgula como separador, como segue:
Em casos raros, pode ocorrer um vazamento de memória com instrumentação que usa a API assíncrona herdada para rastrear o ciclo de vida de servlets assíncronos ou Jetty Continuations. O vazamento de memória se manifestaria como transações vazadas que foram suspensas, mas nunca retomadas. Esta configuração funciona como uma solução alternativa para evitar que tal cenário ocorra. É aconselhável ativar esta solução alternativa apenas ao encontrar esse tipo de vazamento de memória.
Tipo
Inteiro
Padrão
30
Limita o número de linhas que o agente coleta de cada stack trace. Aumentar esse valor pode afetar o desempenho, pois aumenta a quantidade de memória que o agente usa e a quantidade de dados enviados para o New Relic.
URI de ingestão métrica utilizada por algum recurso do agente. O padrão é o endpoint de ingestão de produção dos EUA. Pode ser configurado manualmente para enviar métricas para outro endpoint de ingestão (exemplo de URI de produção da UE: https://metric-api.eu.newrelic.com/metric/v1).
Os clientes compatíveis com FedRAMP devem usar o endpoint compatível com FedRAMP: https://gov-metric-api.newrelic.com/metric/v1
Tipo
Corda
Padrão
(nenhum)
O host proxy por meio do qual se conectará ao coletor New Relic. Se um proxy for usado, a configuração do host será necessária. Outras configurações de proxy são opcionais.
Tipo
Corda
Padrão
(nenhum)
A senha para autenticação de proxy. Se um proxy for usado, a configuração do host será necessária. Outras configurações de proxy são opcionais. As configurações de nome de usuário e senha serão usadas para autenticar desafios de autenticação básica de um servidor proxy.
Importante
O agente Java suporta autenticação Básica (texto não criptografado).
Tipo
Corda
Padrão
8080
O número da porta do host proxy. Se um proxy for usado, a configuração do host será necessária. Outras configurações de proxy são opcionais.
Tipo
Corda
Padrão
(nenhum)
O nome de usuário para autenticação de proxy, como autenticação Básica (texto não criptografado). Se um proxy for usado, a configuração do host será necessária. Outras configurações de proxy são opcionais. As configurações de nome de usuário e senha serão usadas para autenticar desafios de autenticação básica de um servidor proxy.
Tipo
Corda
Padrão
(nenhum)
O esquema de proxy usado. A configuração proxy_scheme: "https" permitirá que o agente se conecte por meio de proxies usando o esquema HTTPS.
Tipo
Boleano
Padrão
false
Se os erros são relatados para o Reactor Netty. O padrão é falso. Se definido como verdadeiro, os erros do Reactor Netty serão relatados.
Observe que o padrão foi alterado para falso a partir do agente Java 6.5.0.
Tipo
Boleano
Padrão
false
Habilite o encerramento atrasado da JVM para dar ao agente a chance de enviar os dados métricos mais recentes para o New Relic antes do encerramento da JVM.
Tipo
Inteiro
Padrão
60
O número de segundos após os quais o agente usará a configuração send_data_on_exit .
Tipo
Boleano
Padrão
true
Habilite relatórios de configurações de JVM para New Relic.
Tipo
Boleano
Padrão
true
Quando definido como true, as propriedades da JVM serão enviadas para o New Relic.
Tipo
Boleano
Padrão
true
Requer conexões com o coletor New Relic para passar por SSL.
O agente se comunica com o New Relic via HTTPS por padrão, e o New Relic requer HTTPS para todo o tráfego para e a API REST do New Relic.
Este trabalho é feito de forma assíncrona com os threads que processam o código da sua aplicação, portanto o tempo de resposta não será diretamente afetado por esta mudança.
Importante
A partir do agente Java 3.48.0, SSL está habilitado por padrão e a opção de configuração para desativá-lo foi descontinuada. A partir do agente Java 4.0.0, a capacidade de desativar SSL foi removida.
Tipo
Boleano
Padrão
false
Permita que o agente conecte o coletor New Relic imediatamente após a inicialização do aplicativo.
Para obter detalhes mais concisos do rastreamento da transação, o agente não reporta os Futuros Scala como segmentos de transação, e esses Futuros não contribuem para o tempo total da transação.
Ativar scala_futures_as_segments aumenta sua sobrecarga. Se você deseja que o Scala Futures reporte como segmentos de transação para que você possa visualizá-los em um rastreamento da transação, você pode habilitá-lo:
scala_futures_as_segments:
enabled:true
Tipo
Boleano
Padrão
true
Quando o tempo exclusivo de um segmento for inferior a 2% do tempo total de transação, a métrica para aquela chamada de método será agregada em Java/other.
Definir trim_stats como false desativará esse comportamento, permitindo que as métricas sejam exibidas individualmente.
trim_stats:false
Variáveis ambientais
As variáveis de ambiente têm a maior precedência e substituem as propriedades do sistema e as configurações de yml.
Para definir variáveis de ambiente, use o comando export VARNAME=value .
Para definir variáveis de ambiente permanentemente, adicione a linha de exportação a um arquivo como ~/.bashrc ou ~/.bash_profile.
Você pode substituir qualquer configuração de uma propriedade do sistema ou no newrelic.yml definindo uma variável de ambiente. A variável de ambiente correspondente a uma determinada configuração no arquivo de configuração é o nome da configuração prefixado por NEW_RELIC com todos os pontos (.) e traços (-) substituídos por sublinhados (_). Por exemplo, a variável de ambiente para a configuração log_level é NEW_RELIC_LOG_LEVEL.
Para configurações aninhadas em seções, acrescente o nome da seção ao nome da configuração. Por exemplo:
A configuração acima seria convertida na seguinte variável de ambiente: NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_KAFKA_CLIENTS_SPANS_0_11_0_0_ENABLED
Você pode substituir qualquer configuração no arquivo newrelic.yml definindo uma propriedade do sistema. A propriedade do sistema correspondente a uma determinada configuração no arquivo de configuração é o nome da configuração prefixado por newrelic.config. Por exemplo, a propriedade do sistema para a configuração log_level é newrelic.config.log_level.
Para configurações aninhadas em seções, acrescente o nome da seção ao nome da configuração. Por exemplo, a propriedade do sistema para a configuração enabled na seção de transação é newrelic.config.transaction_tracer.enabled.
Além de substituir as definições de configuração, o agente reconhece estas propriedades do sistema:
Tipo
Boleano
Padrão
(nenhum)
A partir da versão do agente 8.7.0, se definido como true e o Agente estiver em execução com o JBoss EAP/Wildfly, isso impedirá que o agente exija que qualquer classe no pacote javax.management seja carregada pelo carregador de classe do sistema. Isso foi adicionado para ajudar a corrigir problemas de inicialização do aplicativo com Módulos JBoss quando a API de gerenciamento J2EE/Jakarta é usada. Mais informações são fornecidas no documento resolução de problemas do JBoss/Wildfly.
Tipo
Boleano
Padrão
(nenhum)
Sinalizador expiratório que permite que o agente seja executado com versões java não suportadas.
Tipo
Corda
Padrão
(nenhum)
Defina um nome de exibição para decorar o rótulo “host:port” na interface do New Relic. Requer agente Java 3.17 ou superior.
Tipo
Corda
Padrão
(nenhum)
String contendo um caminho completo para o arquivo de configuração newrelic. Se estiver vazio, o agente assume que newrelic.yml está no mesmo diretório que newrelic.jar.
Tipo
Boleano
Padrão
(nenhum)
Habilite o log de depuração.
Tipo
Corda
Padrão
(nenhum)
String contendo a configuração do ambiente a ser usada pelo agente.
Tipo
Corda
Padrão
(nenhum)
String contendo o diretório inicial do agente. O padrão é o mesmo diretório do jarfile do agente.
Tipo
Corda
Padrão
newrelic_agent.log
String contendo o nome do arquivo de log do agente.
AI Monitoring
Esta seção detalha as opções de configuração do agente Java para AI Monitoring. Esse recurso pode ser configurado na sub-rotina do arquivo de configuração yaml ai_monitoring , com newrelic.config.ai_monitoring. propriedades de sistema prefixadas ou com NEW_RELIC_AI_MONITORING_ variáveis de ambiente prefixadas.
Importante
Se distributed tracing estiver desativado ou o modo de alta segurança estiver ativado, AI Monitoring não coletará dados de IA.
Tipo
Boleano
Padrão
false
Quando definido como true, ativa o AI Monitoring.
Tipo
Boleano
Padrão
true
Se definido como false, o agente omitirá o conteúdo de entrada e saída (como sequências de texto de prompt e respostas) capturado no evento LLM. Esta é uma configuração de segurança opcional se você não quiser registrar dados confidenciais enviados e recebidos de seus LLMs.
Atributo
Para definir essas opções, use a seção attributes . Para substituí- los, use uma propriedade de sistema com prefixo newrelic.config.attributes .
Se atributo estiver habilitado, as chaves de atributo encontradas nesta lista serão enviadas para a New Relic. Separe as chaves da lista com vírgula; por exemplo:
standard : Os relatórios utilizarão padrões (ou seja, OTEL) atributo. Esta configuração é incentivada. Isso minimizará o impacto na funcionalidade e manterá o nível mais baixo de ingestão para relatórios de atributo.
legacy : Os relatórios serão feitos pelo atributo HTTP reintroduzido, esta configuração pode impactar a funcionalidade atual ou futura.
both : Esta é a configuração padrão, o reporte será feito pelo atributo HTTP reintroduzido e pelo atributo OTEL. Esta configuração também aumentará a ingestão de dados.
Importante
Disponível desde a versão 8.8.0 do agente Java. A configuração padrão, both, aumentará a ingestão de dados. Para evitar um aumento na ingestão de dados, você deve substituir o padrão definindo http_attribute_mode como legacy ou standard.
Instrumentação assíncrona
Essas opções são definidas diretamente na seção common e podem ser substituídas usando uma propriedade de sistema prefixada.
Tipo
Inteiro
Padrão (segundos)
180
O número de segundos após os quais o agente expirará automaticamente um token assíncrono que não tenha expirado explicitamente com token.expire(). Para obter instruções de uso, consulte token: Conectar threads assíncronos.
Importante
Aumentar esse valor pode impactar o desempenho, pois aumenta a quantidade de memória que o agente utiliza e evita que a transação seja reportada devido ao token não expirado.
Tipo
Inteiro
Padrão (segundos)
600
O número de segundos após os quais o agente encerrará automaticamente um segmento que não foi explicitamente encerrado com segment.end() ou segment.ignore(). Para obter instruções de uso, consulte Segmentos: atividade assíncrona arbitrária de tempo.
Importante
Aumentar esse valor pode impactar o desempenho, pois aumenta a quantidade de memória que o agente utiliza e evita que a transação seja reportada devido a segmentos não finalizados.
Monitoramento de browser
Essas opções são definidas na seção browser_monitoring e podem ser substituídas usando uma propriedade de sistema com prefixo newrelic.config.browser_monitoring .
O monitoramento do browser fornece insights sobre o desempenho que o usuário real está experimentando com o seu site. Isso é feito medindo o tempo que o browser do seu usuário leva para baixar e renderizar suas páginas da web, injetando uma pequena quantidade de código JavaScript no cabeçalho e rodapé de cada página.
Tipo
Boleano
Padrão
true
Por padrão, o agente insere automaticamente uma chamada de API em JSPs compilados para injetar o JavaScript de monitoramento nas páginas da web. Defina esse atributo como false para desativar esse comportamento.
Tipo
Lista de strings separadas por vírgula
Padrão
(nenhum)
Quando auto_instrument é true, por padrão todas as páginas são instrumento. Liste todas as páginas que você deseja que a instrumentação automática ignore aqui. Você ainda pode usar instrumentação manual nestas páginas.
Esta configuração pode ser usada para ativar ou desativar todos os atributos de monitoramento do Browser. Esses são os dados que você pode consultar. Se attributes.enabled for falso no nível raiz, nenhum atributo será enviado no monitoramento do Browser independente de como esta propriedade em browser_monitoring estiver configurada.
Tipo
Lista de cordas
Padrão
(nenhum)
Se atributo estiver ativado para browser_monitoring, todas as chaves de atributo encontradas nesta lista serão enviadas para New Relic em visualizações de página. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Lista de cordas
Padrão
(nenhum)
Todas as chaves de atributo encontradas nesta lista não serão enviadas para a New Relic nas visualizações de página. Para mais informações, consulte as regras de atribuição de agentes.
Circuit breaker
Essas configurações personalizam o comportamento do circuit breakerJava. Essas configurações não estão incluídas em newrelic.yml por padrão. Você não precisa reiniciar sua JVM após alterá-las.
Se desejar personalizar o circuit breaker, adicione-o na seção common:
Se o seu aplicativo estiver se comportando conforme o esperado, você pode desabilitar o circuit breaker.
Tipo
Inteiro (0 a 100)
Padrão
20
Personalize a porcentagem de memória heap livre abaixo da qual o circuit breaker deve desarmar. Quando a porcentagem de memória de heap livre for menor que memory_threshold e o tempo de CPU gasto na coleta de lixo for maior que gc_cpu_threshold, o circuit breaker. Para diminuir a probabilidade de o circuit breaker desarmar, diminua memory_threshold e/ou aumente gc_cpu_threshold. Ajuste esses valores conforme necessário, com base no desempenho operacional e no comportamento do seu aplicativo.
Tipo
Inteiro (0 a 100)
Padrão
10
Personalize a porcentagem do tempo de CPU da coleta de lixo acima do qual o circuit breaker deve desarmar. Quando a porcentagem de memória heap livre for menor que memory_threshold e o tempo de CPU gasto na coleta de lixo for maior que gc_cpu_threshold, o circuit breaker . Para diminuir a probabilidade de o circuit breaker desarmar, diminua memory_threshold e/ou aumente gc_cpu_threshold. Ajuste esses valores conforme necessário, com base no desempenho operacional e no comportamento do seu aplicativo.
Configuração de cloud
Defina opções relacionadas à nuvem na seção cloud do YAML do agente. Você pode substituir essas configurações com uma propriedade de sistema prefixada newrelic.config.cloud ou uma variável de ambiente prefixada NEW_RELIC_CLOUD_ .
Um exemplo de configuração:
cloud:
aws:
account_id:123456789012
Tipo
Corda
Padrão
(nenhum)
Esta configuração é lida por alguns serviços na instrumentação em nuvem para que o atributo cloud.resource_id possa ser definido nos respectivos spans.
AWS DynamoDB e Kinesis são serviços que exigem esse valor para preencher o atributo cloud.resource_id . Da mesma forma, o AWS Lambda exige esse valor quando o ID da conta não faz parte do nome da função.
Defina as configurações de utilização da plataforma de nuvem na seção utilization e podem ser substituídas pela propriedade de sistema prefixada newrelic.config.utilization .
O agente coleta informações de utilização e as envia para o serviço New Relic. O agente pode coletar informações da instância Amazon Web Services (AWS), Azure, Google Cloud Platform e Pivotal Cloud Foundry. Também coletará informações relacionadas aos serviços Docker contêiner e Kubernetes.
Tipo
Boleano
Padrão
true
Determina se o agente pesquisa a API de metadados da AWS.
Tipo
Boleano
Padrão
true
Determina se o agente pesquisa a API de metadados do Azure.
Tipo
Boleano
Padrão
true
Determina se o agente pesquisa a API de metadados do Google Cloud Platform.
Tipo
Boleano
Padrão
true
Determina se o agente reporta a variável de ambiente KUBERNETES_SERVICE_HOST .
Tipo
Boleano
Padrão
true
Determina se o agente lê variáveis de ambiente do Pivotal Cloud Foundry.
Tipo
Boleano
Padrão
true
Determina se o agente lê informações Docker do sistema de arquivos.
Métrica al nível do código
O nível do código métrico fornece insights detalhados sobre o desempenho do seu código no nível do método. Você verá a métrica para cada método que foi instrumentado automaticamente ou que foi instrumentado pela anotação @Trace.
Defina as opções de nível do código métrico na seção code_level_metrics . Eles podem ser substituídos por uma propriedade de sistema com prefixo newrelic.config.code_level_metrics .
Tipo
Boleano
Padrão
true
o nível do código métrico está desabilitado por padrão na versão 7.10.0 do agente. Defina isso como verdadeiro para ativá-lo. A partir da versão 7.11.0 do agente, o padrão é, conforme observado acima, true.
Configuração Errors Inbox
Definir uma das tags a seguir ajudará você a identificar quais versões do seu software estão produzindo erros.
NEW_RELIC_METADATA_SERVICE_VERSION criará tags.service.version nos dados do evento contendo a versão do seu código que está implantada, em muitos casos uma versão semântica como 1.2.3, mas nem sempre.
NEW_RELIC_METADATA_RELEASE_TAG criará tags.releaseTag nos dados do evento contendo a tag de lançamento (como v0.1.209 ou release-209).
NEW_RELIC_METADATA_COMMIT criará tags.commit nos dados do evento contendo o commit sha. Você pode usar o sha inteiro ou apenas os primeiros sete caracteres (por exemplo, 734713b).
Uma próxima versão da Errors Inbox rastreará automaticamente quais versões do seu software estão produzindo erros. Os dados da versão serão exibidos em CodeStream.
Tracer multiaplicativo
Importante
O rastreamento multiaplicativo foi descontinuado a partir da versão 7.4.0 do agente e será removido em uma versão futura do agente.
Em vez de usar rastreamento multiaplicativo, recomendamos nosso recurso distributed tracing . distributed tracing é uma melhoria no recurso de rastreamento multiaplicativo e é recomendado para sistemas distribuídos grandes.
Defina as opções de rastreamento multiaplicativo na seção cross_application_tracer . Essas configurações podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.cross_application_tracer .
O rastreamento multiaplicativo adiciona cabeçalhos de solicitação e resposta a chamadas externas usando a biblioteca Apache HttpClient. Isso fornece melhores dados de desempenho ao chamar o aplicativo monitor por outro agente New Relic.
Defina as configurações de evento personalizado na seção custom_insights_events . Você pode substituir essas configurações por uma propriedade de sistema com prefixo newrelic.config.custom_insights_events .
Para versões do agente Java anteriores a 4.1.0, a seguinte configuração YAML é reconhecida:
custom_insights_events.enabled:true
custom_insights_events.max_samples_stored:5000
Para versões de agente 4.1.0 e acima, a configuração YAML usa a formatação de seção aninhada:
custom_insights_events:
enabled:false
max_samples_stored:5000
Tipo
Boleano
Padrão
true
Isto habilita o serviço de evento personalizado.
Tipo
Inteiro
Padrão
255
O tamanho máximo de um valor de atributo, após o qual o valor será truncado. O padrão é 255 bytes (na codificação UTF-8 charset) e o limite máximo é 4095.
Esta configuração existe no agente Java versão 8.9.0+.
Tipo
Inteiro
Padrão
30000
O número máximo de eventos personalizados amostrados relatados a cada 60 segundos.
Ao configurar o agente para AI Monitoring, defina o valor máximo 100000. Garante que a quantidade máxima de eventos LLM seja capturada.
Transformador de classe
Defina as configurações relacionadas à instrumentação na seção class_transformer . Você pode substituir essas configurações por uma propriedade de sistema com prefixo newrelic.config.class_transformer ou uma variável de ambiente com prefixo NEW_RELIC_CLASS_TRANSFORMER_ .
Tipo
Boleano
Padrão
Falso
Quando habilitado, a nomenclatura aprimorada de transação Spring nomeará qualquer transação originada de um controlador Spring após a rota definida e o método HTTP. Por exemplo: /customer/v1/edit (POST). Isso inclui controladores que implementam ou estendem interfaces/classes com anotações relacionadas ao WebMVC (@RestController, @Controller, @RequestMapping, etc).
Por padrão, isso é configurado para false, que nomeará a transação para esses tipos de controladores com base no nome e método da classe do controlador. Por exemplo; CustomerController/edit. Esta é a lógica de nomenclatura herdada das versões anteriores do agente. Controladores "padrão", com todas as anotações relevantes presentes na classe real, ainda serão nomeados com base na rota e no método HTTP.
Esta configuração existe no agente Java versão 8.9.0+.
Tipo
Boleano
Padrão
Falso
Por padrão, o ponto de extremidade do atuador integrado e o ponto de extremidade do atuador personalizado (usando a anotação @endpoint e suas subclasses) serão todos nomeados como OperationHandler/handle no New Relic. Habilitar essa configuração fará com que o nome da transação reflita o URI endpoint do atuador base real. Por exemplo, invocar /actuator/loggers ou actuator/loggers/com.newrelic resultará no nome da transação actuator/loggers (GET). Isso é para evitar MGI.
Suportado ao usar Spring Boot v3 e posterior.
Esta configuração existe na versão 8.15.0+ do agente Java.
Tipo
Corda
Padrão
(nenhum)
String contendo o nome completo da classe de anotação que o agente usa para determinar quais métodos especificados pelo usuário devem ser usados. Para obter mais informações sobre anotações customizadas, consulte Coleção Java métrica personalizada.
distributed tracing permite ver o caminho que uma solicitação percorre ao percorrer sistemas distribuídos. Está ativado por padrão para o agente Java versão 7.4.0 ou superior.
No arquivo de configuração, você pode substituir isso manualmente na seção distributed_tracing . Você também pode substituir isso usando uma propriedade de sistema prefixada (newrelic.config.distributed_tracing) ou uma variável de ambiente (NEW_RELIC_DISTRIBUTED_TRACING_ENABLED). Veja os exemplos abaixo.
Por padrão, as versões suportadas do agente utilizam o cabeçalho newrelic e os cabeçalhos W3C Trace Context para distributed tracing. O cabeçalho distributed tracing newrelic permite interoperabilidade com agentes mais antigos que não suportam cabeçalhos W3C Trace Context . As versões do agente que suportam cabeçalhos W3C Trace Context os priorizarão em relação a newrelic cabeçalhos para distributed tracing.
Se você não quiser utilizar o cabeçalho newrelic, defini-lo como true fará com que o agente exclua o cabeçalho newrelic e use apenas cabeçalhos W3C Trace Context para distributed tracing.
Por exemplo, para excluir cabeçalhos newrelic no arquivo de configuração, você usaria:
Defina as configurações do coletor de erros na seção error_collector . Salvo indicação em contrário, você pode substituir essas configurações por uma propriedade de sistema com prefixo newrelic.config.error_collector . O coletor de erros captura informações sobre exceções não detectadas e as envia ao New Relic para visualização.
Dica
Para saber como configurar erros para o agente Java, incluindo como configurar erros por meio da interface, consulte Configuração de erros do agente Java.
Tipo
Boleano
Padrão
true
Habilite a coleta de erros.
Tipo
Seção contendo uma lista de strings class_name totalmente qualificadas
Padrão
(nenhum)
Os nomes de classes de exceção especificados serão ignorados e não afetarão taxa de erros ou pontuação Apdex, nem serão reportados à APM. Cannot be specified by system property.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Por exemplo:
error_collector:
ignore_classes:
-"com.example.MyException"
-"com.example.DifferentException"
Uma variável de ambiente pode ser usada para listar nomes de classes de exceção que você deseja que sejam ignorados:
Seção contendo um class_name totalmente qualificado e uma lista de messages por classe de erro
Padrão
(nenhum)
Especifique os nomes das classes de exceção que o agente deve ignorar. Mensagens ignoradas não afetarão taxa de erros ou pontuação Apdex, nem serão reportadas à APM. Contém yaml pares que consistem em:
Um nome de classe de exceção totalmente qualificado que não deve ser relatado ao APM
E
Uma lista de exceções messages para correspondência (pelo menos uma é obrigatória)
Se o nome da classe de exceção corresponder a um erro, mas a mensagem não, esse erro will not será ignorado. As sequências de mensagens usam contains para correspondência. Uma mensagem não pode ser fornecida sozinha e deve sempre ser associada a um nome de classe totalmente qualificado. Cannot be specified by system property.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Por exemplo:
error_collector:
ignore_messages:
com.example.MyException:
-"Some error message to ignore"
-"Some other error message to ignore"
com.example.DifferentException:
-"Some different error message to ignore"
Uma variável de ambiente pode ser usada para listar nomes de classes de exceção e mensagens que você deseja ignorar:
NEW_RELIC_ERROR_COLLECTOR_IGNORE_MESSAGES="{\"com.example.MyException\": [\"Some error message to ignore\", \"Some other error message to ignore\"], \"com.example.DifferentException\": [\"Some different error message to ignore\"]}"
Tipo
Lista separada por vírgulas de strings e intervalos
Padrão
404
Uma lista separada por vírgulas composta por intervalos individuais e tracejados de códigos de status HTTP que não devem ser tratados como erros.
Se esta propriedade for comentada no arquivo de configuração newrelic.yml , o código de status 404 será automaticamente ignorado. Ao utilizar a configuração no lado do servidor, o código de status 404 deve ser especificado para que seja ignorado.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Por exemplo:
error_collector:
ignore_status_codes:404,507-511
Tipo
Seção contendo uma lista de strings class_name totalmente qualificadas
Padrão
(nenhum)
Impede que classes de exceção especificadas afetem a taxa de erros ou a pontuação Apdex enquanto ainda relatam os erros ao APM. Cannot be specified by system property.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Por exemplo:
error_collector:
expected_classes:
-"com.example.MyException"
-"com.example.DifferentException"
Uma variável de ambiente pode ser usada para listar nomes de classes de exceção esperados:
Seção contendo um class_name totalmente qualificado e uma lista de messages por classe de erro
Padrão
(nenhum)
Contém pares yaml que consistem em um nome de classe de exceção totalmente qualificado que deve ser marcado como esperado e, portanto, impedido de afetar taxa de erros ou pontuação Apdex e uma lista de exceções messages para correspondência, a última das quais pelo menos uma é obrigatória . Se o nome da classe de exceção corresponder a um erro, mas a mensagem não, então esse erro will not será marcado como esperado e, portanto, afetará a taxa de erros e a pontuação do Apdex.
As sequências de mensagens usam contains para correspondência. Uma mensagem não pode ser fornecida sozinha e deve sempre ser associada a um nome de classe totalmente qualificado. Cannot be specified by system property.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Por exemplo:
error_collector:
expected_messages:
com.example.MyException:
-"Some expected error message"
-"Some other expected error message"
com.example.DifferentException:
-"Some different expected error message"
Uma variável de ambiente pode ser usada para listar nomes e mensagens de classes de exceção esperadas:
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_MESSAGES="{\"com.example.MyException\": [\"Some error message to ignore\", \"Some other error message to ignore\"], \"com.example.DifferentException\": [\"Some different error message to ignore\"]}"
Tipo
Lista separada por vírgulas de strings e intervalos
Padrão
(nenhum)
Uma lista separada por vírgulas composta por intervalos individuais e tracejados de códigos de status HTTP a serem marcados como esperado e, assim, impedidos de afetar taxa de erros ou pontuação Apdex.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Por exemplo:
error_collector:
expected_status_codes:415,500-506
Os códigos de status esperados também podem estar na variável de ambiente NEW_RELIC_ERROR_COLLECTOR_EXPECTED_STATUS_CODES .
Tipo
Boleano
Padrão
true
Esta configuração pode ser usada para ativar ou desativar todos os atributos para erros de rastreamento. Se attributes.enabled for false no nível raiz, nenhum atributo será enviado para erros de rastreamento, independentemente de como essa propriedade estiver configurada em error_collector.
Tipo
Lista de strings
Padrão
(nenhum)
Se atributo estiver habilitado para erros de rastreamento, todas as chaves de atributo encontradas nesta lista serão enviadas para New Relic em erros de rastreamento. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Lista de strings
Padrão
(nenhum)
As chaves atributo encontradas nesta lista não serão enviadas para a New Relic em caso de erros de rastreamento. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Boleano
Padrão
true
Quando vários erros são detectados em uma transação, apenas o último erro será relatado por padrão. Definir esta propriedade como false reportará apenas o primeiro erro detectado. Para obter mais informações, consulte a API NoticeError. Por exemplo:
error_collector:
ignoreErrorPriority:false
Tipo
Lista de Strings separadas por vírgula
Padrão
(nenhum)
Todos os nomes de classes de exceção especificados não serão tratados como erros. Obsoleto a partir do agente Java 3.40.0 e substituído por ignore_classes.
Por exemplo:
error_collector:
ignore_errors: some.other.MyException
Tracer externo
Defina as opções de rastreamento externo na seção external_tracer . Essas opções podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.external_tracer .
Tipo
Boleano
Padrão
false
Esta configuração pode ser usada para controlar a coleta de URIs de solicitação de saída para erros e rastreamento da transação. Defina como verdadeiro para desativar a coleta dessas informações.
Nome do host configuração
Defina as opções de configuração do nome do host na seção process_host . Essas opções podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.process_host .
Use estas propriedades para configurar o nome do host exibido na interface:
Tipo
Corda
Padrão
(nenhum)
Defina um nome de exibição para decorar o rótulo “host:port” na interface do New Relic.
Tipo
Corda
Padrão
4
Se o nome do host não puder ser determinado, o endereço IP do host será usado. Esta propriedade determina se o endereço IPv4 ou IPv6 deve ser usado. O padrão é IPv4.
Você também pode usar a propriedade do sistema newrelic.config.infinite_tracing.trace_observer.host ou a variável de ambiente NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST.
Instrumentação
Essas opções são definidas na sub-rotina instrumentation e podem ser substituídas usando uma propriedade de sistema prefixada newrelic.config.instrumentation .
Tipo
Boleano
Padrão
false
Por padrão, as anotações @TraceLambda estão desabilitadas. Para usar a funcionalidade de anotação para rastrear métodos lambda, você deve ativar explicitamente o recurso da seguinte maneira:
Você pode configurar isso via YAML:
instrumentation:
trace_lambda:
enabled:true
Você também pode usar a propriedade do sistema newrelic.config.instrumentation.trace_lambda.enabled=true ou a variável de ambiente NEW_RELIC_INSTRUMENTATION_TRACE_LAMBDA_ENABLED.
Coletor de jar
O agente Java coleta informações sobre jars e suas versões no classpath do aplicativo.
Defina a configuração da coleção jar na seção jar_collector . Essas opções de configuração podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.jar_collector . As opções incluem:
Tipo
Boleano
Padrão
true
Usado para ativar/desativar a coleta e relatórios de jar.
Tipo
Boleano
Padrão
true
Usado para ativar/desativar a coleta de jars temporários. Jars temporários são aqueles que residem no diretório especificado pela propriedade do sistema java.io.tmpdir.
Tipo
Inteiro
Padrão
10
O número máximo de jars a serem processados por segundo. Deve ser positivo.
JFR (perfil em tempo real)
O agente Java usa Java Flight Recorder (JFR) para coletar dados JVM de alta fidelidade para criação de perfil em tempo real.
Configure a criação de perfil em tempo real na seção jfr no YAML do agente. Essas opções de configuração podem ser substituídas por propriedades do sistema prefixadas por newrelic.config.jfr. ou por variáveis de ambiente prefixadas por NEW_RELIC_JFR_.
A criação de perfil em tempo real com JFR está ativada por padrão no agente Java versão 7.1.0. Se você estiver em qualquer outro agente versão 7.0.0 ou superior, poderá ativar o JFR alterando o valor para true.
Tipo
Boleano
Padrão
false
Defina como true para ativar o registro de auditoria que exibirá todas as métricas e eventos JFR em cada lote de colheita. O registro de auditoria é extremamente detalhado e só deve ser usado para fins de resolução de problemas.
Para definir essas opções, use a seção jmx . Para substituí- los, use uma propriedade de sistema com prefixo newrelic.config.jmx .
O agente Java usa JMX para coletar dados JVM. Além disso, o agente pode expor metadados de vinculação por meio de JMX que podem ser usados por outros sistemas de rastreamento.
Tipo
Boleano
Padrão
true
Esta configuração pode ser usada para ativar ou desativar todas as funcionalidades JMX.
Tipo
Boleano
Padrão
false
Essa configuração pode ser ativada para permitir que o agente Java exponha metadados de vinculação por meio de JMX remoto.
O agente Java envia propriedades da JVM para o New Relic para exibição na interface do usuário. A partir da versão 8.16.0 do agente Java, os valores da maioria das propriedades serão ofuscados. Por exemplo: -Dprop=12345 agora será enviado como -Dprop=obfuscated.
Defina opções relacionadas à ofuscação na seção obfuscate_jvm_props do YAML do agente. Você pode substituir essas configurações com uma propriedade de sistema prefixada newrelic.config.obfuscate_jvm_props ou uma variável de ambiente prefixada NEW_RELIC_OBFUSCATE_JVM_PROPS_ .
Por padrão, os valores das propriedades que começam com -X não serão ofuscados.
Tipo
Boleano
Padrão
true
Usado para habilitar/desabilitar a ofuscação de propriedades da JVM.
Tipo
Lista de strings
Padrão
(nenhum)
Se a ofuscação estiver habilitada, quando a chave de propriedade corresponder a um valor nesta lista, o valor não será ofuscado.
Os itens nesta lista podem ter curingas, * como o último caractere. Conflitos com a lista de blocos são resolvidos seguindo regras de atributo, onde allow funciona como include.
Tipo
Lista de strings
Padrão
(nenhum)
Se a ofuscação estiver habilitada, quando a chave de propriedade corresponder a um valor nesta lista, o valor será ofuscado.
Os itens nesta lista podem ter curingas, * como o último caractere. Conflitos com a lista de permissões são resolvidos seguindo regras de atributo, onde block funciona como exclude.
A partir da versão do agente Java 7.6.0, o suporte para logs contextualizados foi adicionado ao agente, facilitando o uso da estrutura de log suportada. Para obter dicas sobre como usar o agente Java para logs contextualizados, consulte logs contextualizados do Java.
A alteração dessas configurações no arquivo de configuração do agente local ocorre de forma dinâmica e não requer a reinicialização do agente para que essas alterações entrem em vigor. Um exemplo de configuração:
application_logging:
enabled:true
forwarding:
enabled:true
max_samples_stored:10000
context_data:
enabled:false
include:
exclude:
metrics:
enabled:true
local_decorating:
enabled:false
Defina a configuração logs contextualizados na seção application_logging . Isso pode ser substituído por uma propriedade de sistema com prefixo newrelic.config.application_logging . A única opção disponível é:
Tipo
Boleano
Padrão
true
Defina como true para ativar o recurso principal de logs contextualizados. Quando habilitado, a instrumentação adicional framework de log é habilitada, independentemente de os logs serem decorados ou enviados para o New Relic ou não.
Importante
As versões 7.7.0 e superiores do agente têm esse recurso ativado no arquivo de configuração do agente por padrão.
Defina como false para desativar completamente esse recurso, incluindo a coleta de métricas log .
Encaminhamento de logs
Se você estiver usando uma framework de registro compatível e quiser usar o agente para enviar o registro do aplicativo para o New Relic, poderá controlar isso por meio das configurações na seção forwarding. Essas configurações podem ser substituídas pela propriedade de sistema prefixada newrelic.config.application_logging.forwarding . As opções disponíveis são:
Tipo
Boleano
Padrão
true
Habilita o envio de log do aplicativo para New Relic.
Importante
As versões 7.7.0 e superiores do agente têm esse recurso ativado no arquivo de configuração do agente por padrão.
Usar o recurso de encaminhamento de logs aumentará a ingestão de dados, o que pode afetar seu faturamento. Para obter mais informações, consulte nossa documentação sobre como rastrear a ingestão de dados.
Se você tiver uma solução de encaminhamento de logs existente e estiver atualizando seu agente para usar o logs contextualizados automáticos, certifique-se de disable your old log forwarder. Caso contrário, seu aplicativo enviará linhas de log duplas. Dependendo da sua conta, isso pode resultar em cobrança dupla. Para obter mais informações, siga os procedimentos para desabilitar seu direcionador de logs específico.
Defina como true para que seu registro decorado seja enviado para a New Relic.
Defina como false se não quiser que seu registro decorado seja enviado para a New Relic.
Tipo
Inteiro
Padrão
10000
Um número inteiro positivo que especifica o número máximo de linhas de log por minuto a serem enviadas.
Defina como 0 para desativar efetivamente o envio de log.
Importante
Isso controla o número de logs enviados por minuto. Definir max_samples_stored como 0 - ou qualquer valor menor que 12 - não desativa o recurso em si, embora resulte no envio de nenhuma linha log para o New Relic.
Defina um valor mais baixo para reduzir a quantidade de linhas de log enviadas (pode causar amostragem de log). Defina um valor mais alto para enviar mais linhas de log.
Cada log recebe a mesma prioridade que sua transação associada. log que ocorrem fora de uma transação receberão uma prioridade aleatória. Alguns registros podem não ser incluídos porque são limitados por max_samples_stored. Por exemplo, se o registro em log max_samples_stored estiver definido como 10.000 e a transação 1 tiver 10.000 entradas de log, somente as entradas de log da transação 1 serão registradas. Se a transação 1 tiver menos de 10.000 logs, você receberá todos os logs da transação 1. Se ainda houver espaço, você receberá todo o log da transação 2 e assim por diante.
Se após todos os logs de transação amostrados forem registrados, e eles não atingirem o limite em max_samples_stored, então será enviada a mensagem do log de transação amostrada que não estava em nossa amostragem. Se sobrar alguma, as mensagens do log fora da transação serão registradas.
Log dados de contexto
O agente Java pode capturar dados de contexto (Mapped Diagnostic Context em logback/slf4j, ThreadContext em log4j2) e adicionar seu conteúdo como atributo no log encaminhado para New Relic. Você pode controlar isso por meio das configurações na seção context_data , aninhada na seção forwarding . Essas configurações podem ser substituídas pela propriedade de sistema prefixada newrelic.config.application_logging.forwarding.context_data . As opções disponíveis são:
Tipo
Boleano
Padrão
false
Defina isto como true envio de dados de contexto como atributo log para New Relic.
Defina como false se não desejar que os dados de contexto no log sejam enviados para o New Relic.
Tipo
Lista de strings
Padrão
(nenhum)
Se context_data estiver habilitado para encaminhamento de logs, todas as chaves de atributo encontradas nesta lista serão enviadas para New Relic nos registros de log. Se esta lista estiver vazia, todos os atributos serão enviados.
Tipo
Lista de strings
Padrão
(nenhum)
Se context_data estiver habilitado para encaminhamento de logs, todas as chaves de atributo encontradas nesta lista NÃO serão enviadas para New Relic nos registros de log.
A lista de inclusão e exclusão segue as regras Exclude overrides include, More specific rules take priority, Keys are case-sensitive e Use an asterisk for wildcards definidas nas regras de atributo.
Log métrico
Além de permitir decorar e enviar linhas de log individuais, o agente Java pode capturar dados métricos de log. Você pode encontrar esses dados no gráfico de log na interface do New Relic. Você pode definir as configurações log métrica na seção metrics. Você pode substituir essas configurações pela propriedade de sistema prefixada newrelic.config.application_logging.metrics . A única opção disponível é:
Tipo
Boleano
Padrão
true
Possibilita a captura de informações métricas sobre seu log e nível de log, que são exibidas em gráfico na página Summary do APM.
Deixe definido como true para permitir que o agente capture informações métricas sobre seu log.
Defina como false para desativar esse recurso.
Importante
Se você desabilitar a coleta de log métrica, o gráfico de log na página de resumo aparecerá em branco.
Decoração log
Você pode definir as configurações de decoração log na seção local_decorating. Você pode usar isso para controlar como as linhas de log locais são decoradas. Você pode substituir essas configurações por uma propriedade de sistema com prefixo newrelic.config.application_logging.local_decorating . A única opção disponível é:
Tipo
Boleano
Padrão
false
Isto controla se as linhas de log armazenadas localmente são decoradas ou não. Isso independe de o encaminhamento de logs estar habilitado ou não e é usado para oferecer suporte a clientes que desejam usar uma solução separada de encaminhamento de logs.
Defina como true para fazer com que o agente adicione logs contextualizados vinculando metadados a linhas log armazenadas localmente pela estrutura suportada.
Importante
Ativar a decoração de log local adicionará metadados de link aos arquivos de log do aplicativo, resultando em um aumento no armazenamento em disco. Desative esse recurso se isso for inaceitável.
Não é necessário usar decoração de log local quando o encaminhamento de logs estiver habilitado. Fazer isso fará com que metadados de link sejam adicionados desnecessariamente à sua mensagem do log, o que pode distrair visualmente.
Defina como false para desativar o recurso de decoração local. Isso não afetará a decoração das linhas log enviadas para a New Relic.
Configuração de registro
Estas fazem parte das variáveis de configuração gerais. Eles são divididos aqui porque são frequentemente ajustados para depuração.
Algumas das variáveis de configuração de criação de log são dinâmicas e não precisam de reinicialização do host para que entrem em vigor. Por exemplo, se o arquivo de log estiver crescendo muito rapidamente, log_level poderá ser definido com uma configuração menos detalhada para reduzir a taxa de relatórios.
Aqui está a ordem de precedência e a explicação das variáveis de configuração que afetam a rotação log .
Se log_daily for true:
Um valor log_limit_in_kbytes maior que zero resultará em uma política de acionamento composta, onde o registro será rolado uma vez por dia ou quando o tamanho definido for atingido, retendo até log_file_count arquivos
Um valor log_limit_in_kbytes igual a zero resultará na rolagem de log uma vez por dia, retendo até log_file_count arquivos
Se log_daily for false e log_limit_in_kbytes > 0, será configurada uma política baseada em tamanho, onde o log será rolado quando o tamanho definido for atingido, retendo até log_file_count arquivos
Se log_daily for false e log_limit_in_kbytes = 0, nenhuma lógica contínua do arquivo de log será configurada
Dependendo da taxa de crescimento, é possível que o tamanho do arquivo de log exceda um pouco o valor configurado.
Tipo
Boleano
Padrão
false
Defina como true para rolar o registro diariamente.
Tipo
Inteiro
Padrão
1
O número máximo de arquivos de log a serem mantidos ao usar rotação de log.
Tipo
Corda
Padrão
newrelic_agent.log
O nome do arquivo de log não qualificado ou a string STDOUT que fará log na saída padrão.
Tipo
Corda
Padrão
logs subdiretório onde newrelic.jar está localizado
O caminho do arquivo de log.
Dica
Se log_file_path for especificado, o diretório já deverá existir. Se o valor padrão for utilizado, o agente tentará criar o diretório.
Tipo
Corda
Padrão
info
O nível de detalhamento do log. Quando você altera essa configuração no arquivo de configuração yaml do agente, ela será atualizada dinamicamente. No entanto, a variável de ambiente e a propriedade do sistema não serão atualizadas dinamicamente.
O agente usa seu próprio arquivo de log para manter seu registro separado do seu aplicativo. As opções válidas, em ordem de detalhamento, são:
off
severe
warning
info
fine
finer
finest
Cuidado
Não use o registro debug ou trace , a menos que o suporte da New Relic solicite que você os use. Esses níveis de registro em log podem gerar sobrecarga excessiva. Na maioria das situações, use info.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Tipo
Inteiro
Padrão
0
O tamanho do arquivo de log em quilobytes no qual os arquivos de log são rotacionados. Defina como 0 sem limite.
Tracer de mensagens
Defina as opções tracer de mensagens na seção message_tracer. Você pode substituir essas configurações por uma propriedade de sistema com prefixo newrelic.config.message_tracer .
Tipo
Boleano
Padrão
true
Adiciona propriedades de mensagem ao atributo tracer . Defina como false para desligá-lo.
Abrir telemetria SDK Auto-configuração
Configuração para a instrumentação de configuração automática do SDK de telemetria aberta na seção:
opentelemetry:
sdk:
autoconfigure:
Tipo
Boleano
Padrão
true
Permite que o recurso de autoconfiguração OpenTelemetry SDK do agente seja habilitado. Pode ser definido através da propriedade do sistema:
Execute o IAST apenas com implantação não produtiva para evitar a exposição de vulnerabilidades em seu software de produção.
Você pode definir a configuração do agente New Relic Security na seção security . Essas configurações podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.security . As opções incluem:
Tipo
Boleano
Padrão
false
Para desabilitar completamente todas as funcionalidades de segurança, defina este sinalizador como falso. Esta propriedade é lida apenas uma vez no início do aplicativo. O padrão é falso.
Tipo
Boleano
Padrão
false
Determina se os dados de segurança são enviados para o New Relic ou não. Quando estiver desabilitado e agente.enabled for verdadeiro, o módulo de segurança será executado, mas os dados não serão enviados. O padrão é falso.
Tipo
Corda
Padrão
IAST
Modo de fornecimento do New Relic Security: IAST. O padrão é IAST. Devido à natureza invasiva da varredura IAST, NÃO ative esse modo em um ambiente de produção ou em um ambiente onde os dados de produção são processados.
Tipo
Corda
Padrão
wss://csec.nr-data.net
URL de conexão SaaS da New Relic Security. Este é o endpoint para o qual o agente de segurança envia dados; ele deve corresponder ao ambiente que você configurou para o agente Java do APM.
Produção nos EUA: wss://csec.nr-data.net
Tipo
Boleano
Padrão
true
Ative a detecção de eventos de segurança RCI. O padrão é verdadeiro.
Tipo
Boleano
Padrão
true
Habilite a detecção de eventos de segurança RXSS. O padrão é verdadeiro.
Tipo
Boleano
Padrão
true
Habilite a detecção de eventos de segurança de desserialização. O padrão é verdadeiro.
O agente agora pode detectar transações lentas via evento SlowTransaction desde a versão do Agente Java 8.7.0. Esses eventos são registrados quando a duração da transação excede um determinado limite. Por padrão, o limite é 600.000 milissegundos (10 minutos).
A detecção de transação lenta é definida em slow_transactions e pode ser substituída usando uma propriedade de sistema com prefixo newrelic.config.slow_transactions . As opções incluem:
Tipo
Boleano
Padrão
true
Usado para ativar/desativar a detecção de transações lentas.
Tipo
Inteiro
Padrão
600000
Determina quanto tempo uma transação deve levar em milissegundos para que um evento SlowTransaction seja relatado.
Tipo
Boleano
Padrão
true
Se for definido como verdadeiro, toda transação será verificada por exceder o limite de transação definido na conclusão. Observe que se um grande número de transações exceder o limite, isso pode ser computacionalmente caro, pois um stack trace é enviado a cada evento SlowTransaction.
Defina a configuração do evento span na seção span_events . Essas configurações podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.span_events . As opções incluem:
Tipo
Boleano
Padrão
true
Usado para ativar/desativar relatórios de eventos de extensão.
Tipo
Inteiro
Padrão
2000
Máx.
10000
Determina o número de eventos de span que podem ser capturados durante um ciclo de coleta de agente. Disponível no agente Java 7.4.0 e superior.
Ao configurar o agente para AI Monitoring, defina o valor máximo 10000. Garante que a quantidade máxima de rastreamento seja capturada.
Importante
Aumentar o número de eventos de span pode levar a sobrecarga adicional do agente.
Tipo
Boleano
Padrão
true
Esta configuração pode ser usada para ativar ou desativar todos os atributos do evento span. Se attributes.enabled no nível raiz for false, nenhum atributo será enviado para span evento, independentemente de como esta propriedade (span_events.attributes.enabled) estiver definida.
Tipo
Lista de strings
Padrão
(nenhum)
Se atributo estiver habilitado para span evento, todas as chaves de atributo encontradas nesta lista serão enviadas para New Relic em span_events. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Lista de strings
Padrão
(nenhum)
Todas as chaves de atributo encontradas nesta lista não serão enviadas para New Relic no evento span. Para mais informações, consulte as regras de atribuição de agentes.
Defina as opções de exceções de faixa na seção strip_exception_messages . Essas opções podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.strip_exception_messages . Habilite esta configuração para controlar se as mensagens de exceção Java serão relatadas ao New Relic.
Tipo
Boleano
Padrão
false
Por padrão, isso é definido como false, o que significa que o agente envia mensagens de todas as exceções para o coletor New Relic.
Se você definir isso como true, o agente retirará as mensagens das exceções para evitar que ele capture inadvertidamente informações confidenciais.
Se você definir enabled como true , mas quiser que o agente capture mensagens de exceções específicas, adicione as exceções à sua lista de permissões.
Tipo
Corda
Padrão
(nenhum)
Importante
Esta configuração foi descontinuada a partir da versão 5.10.0 do agente e será removida em uma versão futura do agente. Em vez disso, use allowed_classes.
Se você definir enabled como true , mas quiser que o agente capture mensagens para exceções específicas, adicione cada exceção a whitelist, separadas por vírgula.
Tipo
Corda
Padrão
(nenhum)
Se você definir enabled como true , mas quiser que o agente capture mensagens para exceções específicas, adicione cada exceção a allowed_classes, separadas por vírgula.
Profiler de thread
Defina as opções profiler de thread na seção thread_profiler. Essas opções podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.thread_profiler .
O Thread profiler mede o tempo transcorrido, o tempo de CPU e a contagem de chamadas de método nos threads do seu aplicativo à medida que eles são executados.
Tipo
Boleano
Padrão
true
Habilite o profiler de thread.
Evento de transação
Defina as opções de evento de transação na seção transaction_events . Essas opções podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.transaction_events .
Os dados do evento de transação são usados para exibir histograma e percentual na interface.
Importante
Anteriormente, esta seção era chamada analytics_events. Se o seu arquivo de configuração ainda usa analytics_events, atualize seu agente para usar transaction_events.
Tipo
Boleano
Padrão
true
Habilite o serviço de evento de transação.
Tipo
Inteiro
Padrão
2000
Máx.
10000
O número máximo de eventos de transação amostrados relatados a cada 60 segundos.
Tipo
Lista de mapas
Padrão
(nenhum)
Importante
Ao contrário de outras configurações, custom_request_headers precisam ser emparelhados e definidos no arquivo newrelic.yml . Eles não podem ser substituídos por argumentos da máquina virtual Java (propriedade do sistema) ou variáveis de ambiente.
Uma lista de mapas com as chaves emparelhadas header_name e o opcional header_alias. Escolha um ou mais cabeçalhos de solicitação HTTP personalizados para adicionar como atributo de transação.
Você pode listar a configuração de vários cabeçalhos:
transaction_events:
custom_request_headers:
-
header_name:"X-Custom-Header-1"
-
header_name:"X-Custom-Header-2"
header_alias:"CustomHeader2alias"
No primeiro conjunto de mapas, X-Custom-Header-1 é capturado e relatado pelo agente como o nome do cabeçalho para um valor correspondente do objeto de solicitação. O header_name também será o nome do atributo enviado para New Relic.
No segundo conjunto de mapas, o cabeçalho da solicitação é X-Custom-Header-2, mas CustomHeader2alias é o nome enviado para New Relic.
Tipo
Boleano
Padrão
true
Esta configuração pode ser usada para ativar ou desativar todos os atributos do evento de transação. Se attributes.enabled for false no nível raiz, nenhum atributo será enviado para o evento de transação, independentemente de como essa propriedade estiver configurada em transaction_events.
Tipo
Lista de cordas
Padrão
(nenhum)
Se o atributo estiver habilitado para evento de transação, todas as chaves de atributo encontradas nesta lista serão enviadas para a New Relic no evento de transação. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Lista de cordas
Padrão
(nenhum)
Todas as chaves de atributo encontradas nesta lista não serão enviadas para a New Relic em evento de transação. Para mais informações, consulte as regras de atribuição de agentes.
Segmentos de transação
Defina as opções de segmentos de transação na seção transaction_segments . Essas opções podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.transaction_segments .
Os segmentos de transação representam partes discretas de trabalho (geralmente chamadas de método) e são exibidos no trace da transação.
Esta configuração pode ser usada para ativar ou desativar todos os atributos para segmentos de transação. Se attributes.enabled no nível raiz for false, nenhum atributo será enviado para segmentos de transação, independentemente de como esta propriedade (transaction_segments.attributes.enabled) estiver configurada.
Tipo
Lista de strings
Padrão
(nenhum)
Se atributo estiver habilitado para segmentos de transação, todas as chaves de atributo encontradas nesta lista serão enviadas para a New Relic em segmentos de transação. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Lista de cordas
Padrão
(nenhum)
Todas as chaves de atributo encontradas nesta lista não serão enviadas para a New Relic em segmentos de transação. Para mais informações, consulte as regras de atribuição de agentes.
Tracer de transação
Defina as opções tracer de transação na seção transaction_tracer. Essas opções podem ser substituídas por uma propriedade de sistema com prefixo newrelic.config.transaction_tracer .
O rastreamento de transação captura informações profundas sobre transações lentas e as envia para o serviço New Relic. A transação inclui a sequência exata de chamadas das transações, incluindo quaisquer declarações de consulta emitidas.
Importante
Não use colchetes [suffix] no final do nome da sua transação. O New Relic remove automaticamente os colchetes do nome. Em vez disso, use parênteses (suffix) ou outros símbolos, se necessário.
Tipo
Boleano
Padrão
true
O tracer de transação está habilitado por padrão. Defina como false para desligá-lo.
Limite em segundos para o tempo de execução da consulta abaixo do qual a consulta lenta e o plano EXPLAIN (se compatível) não serão capturados. Relevante para consulta lenta somente quando record_sql está definido como raw ou obfuscated. Relevante para planos EXPLAIN somente quando explain_enabled está definido como true.
Tipo
Inteiro
Padrão
2000
O limite de caracteres para a cadeia de consulta SQL. Se você tiver muitas consultas SQL lentas com grandes quantidades de informações, isso poderá afetar negativamente o desempenho ou a rapidez com que você vê seus dados no New Relic. Aumente o valor gradualmente até encontrar o equilíbrio certo entre informação e desempenho.
Tipo
Boleano
Padrão
false
Defina como true para ativar o registro de consulta ao arquivo de log do agente em vez de fazer upload para o New Relic. consulta são logados usando o modo record_sql .
Tipo
Corda
Padrão
obfuscated
Quando o tracer de transação está ativado, as instruções de consulta podem ser gravadas opcionalmente. O gravador possui três modos:
off: Não envie nenhuma consulta.
raw: Envie a instrução de consulta em seu formato original.
obfuscated: remove literais numéricos e de string.
Tipo
Boleano
Padrão
false
O padrão é true até o agente Java versão 3.12.1, quando foi alterado para false.
Esta opção é apenas para Play 2.x+. A instrumentação Play/Scala pode usar Thread.getStackTrace() para melhorar a nomenclatura tracer , mas ao custo de maior sobrecarga.
Tipo
Inteiro
Padrão
0.5
Define um limite (em segundos) para coletar rastreamento de pilha de uma chamada SQL. Quando as instruções SQL excederem esse limite, o agente capturará o stack trace atual. Isso é útil para identificar a origem das longas chamadas SQL.
Tipo
Inteiro
Padrão
20
Use esta configuração para controlar a variedade do seu rastreamento de transação. top_n é um número inteiro que representa o número de transações lentas e exclusivas para as quais o rastreamento será criado.
Se você quiser que o rastreamento da transação reflita com mais precisão as transações reais mais lentas no seu aplicativo, defina esse valor lower.
Se você deseja amostrar um conjunto mais diversificado de transações, defina o valor higher.
Um valor 0 significaria que only a transação mais lenta é sempre rastreada. No entanto, isso não é considerado o ideal, porque você pode ter uma ou duas transações que são sempre as mais lentas e ver repetidamente o mesmo rastreamento da transação provavelmente não lhe dará muito valor.
Se a mesma transação for frequentemente a mais lenta, a configuração top_n permitirá que o agente Java (ao longo do tempo) obtenha amostras das transações n mais lentas. Isso oferece maior variedade e mais insights sobre seu aplicativo.
Tipo
String (float)
Padrão
apdex_f
O limite de tempo usado para determinar quando uma transação está qualificada para ser rastreada. Quando o tempo de resposta da transação ultrapassar esse limite, um trace da transação será registrado e enviado à New Relic.
O padrão é apdex_f (padrão), que define o limite como o nível de Apdex"Frustrated" (quatro vezes o apdex_t valor ). Você também pode definir um limite de tempo específico inserindo um valor float que representa um número de segundos.
Tipo
Corda
Padrão
(nenhum)
Importante
Esta configuração foi descontinuada a partir da versão 5.10.0 do agente e será removida em uma versão futura do agente. Em vez disso, use collect_slow_queries_from.
Por padrão, o modo de alta segurança não permite que o agente colete consulta lenta. Habilite esta opção para coletar consultas Cassandra do driver DataStax, mesmo com alta segurança habilitada. Caso não utilize alta segurança, o agente coleta a consulta lenta automaticamente.
Para o driver DataStax 2.1.2, adicione esta regra à sua lista de permissões:
Por padrão, o modo de alta segurança não permite que o agente colete consulta lenta. Habilite esta opção para coletar consultas Cassandra do driver DataStax, mesmo com alta segurança habilitada. Caso não utilize alta segurança, o agente coleta a consulta lenta automaticamente.
Para o driver DataStax 2.1.2, adicione esta regra à sua lista de permissões:
Esta configuração pode ser usada para ativar ou desativar todos os atributos de rastreamento da transação. Se attributes.enabled no nível raiz for false, nenhum atributo será enviado para o rastreamento da transação, independentemente de como esta propriedade (transaction_tracer.attributes.enabled) estiver definida.
Tipo
Lista de strings
Padrão
(nenhum)
Se os atributo estiverem habilitados para rastreamento da transação, todas as chaves de atributo encontradas nesta lista serão enviadas para a New Relic no rastreamento da transação. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Lista de cordas
Padrão
(nenhum)
Todas as chaves de atributo encontradas nesta lista não serão enviadas à New Relic no rastreamento da transação. Para mais informações, consulte as regras de atribuição de agentes.
Tipo
Inteiro
Padrão
3000
Limita o número de tokens que podem ser criados por transação. Aumentar esse valor pode afetar o desempenho, pois aumenta a quantidade de memória que o agente usa e a quantidade de dados enviados para o New Relic.
Tipo
Inteiro
Padrão
3000
Limita o número de segmentos que podem ser criados por transação. Aumentar esse valor pode afetar o desempenho, pois aumenta a quantidade de memória que o agente usa e a quantidade de dados enviados para o New Relic.