As configurações gerais são as principais opções de configuração para o agente Java, incluindo chave de licença, nome do aplicativo, logging, proxy e modo de alta segurança.
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 tanto o arquivo de configuração quanto as propriedades do sistema. As variáveis de ambiente existem principalmente para oferecer suporte ao Heroku. Quando usada, a 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
Corda
Padrão
NONE
Se vários endereços forem detectados durante o ciclo de conexão para um armazenamento de dados, essa configuração determinará qual endereço o agente escolherá:
NONEO agente retorna um endereço vazio. Este é o comportamento padrão.
FIRST: Usar o primeiro endereço detectado.
LAST: Usar o último endereço detectado.
Essa configuração existe no agente Java versão 8.25.0+.
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 detalhes mais concisos do trace da transação, o agente não relata Scala Futures como segmentos de transação, e esses Futures 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.