• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

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.

Você poderá configurar nosso agente Java para se adequar ao seu ambiente depois de criar uma conta New Relic (é grátis, para sempre) e instalar o agente Java.

Estrutura do arquivo de configuração

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.

Dica

Um modelonewrelic.yml está disponível.

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:

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 .

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:

class_transformer:
com.newrelic.instrumentation.kafka-clients-spans-0.11.0.0:
enabled: true

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

Importante

A configuração do agente por meio de variáveis de ambiente requer o agente Java versão 4.10.0 ou superior.

Propriedades do sistema

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:

Atributo

Para definir essas opções, use a seção attributes . Para substituí- los, use uma propriedade de sistema com prefixo newrelic.config.attributes .

Atributo são pares de valor principal relacionados ao rastreamento da transação, erros de rastreamento, e evento de transação. Há uma seção attribute em cada destino. Para obter mais informações, consulte Atributo do agente Java, Ativando e desativando atributo e exemplos de atributo.

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.

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.

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:

common: &default_settings​
  OTHER_CONFIG_SETTINGS
  circuitbreaker:
    enabled: true
    memory_threshold: 20
    gc_cpu_threshold: 10

Utilização da plataforma em nuvem

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.

Métrica al nível do código

Nível do código métrica fornece insights detalhados sobre o desempenho do seu código no nível do método. Você verá métricas para cada método que foi instrumento automaticamente, ou que foi instrumento pela anotação @Trace. Para mais informações sobre nível do código métrico, consulte Monitoramento de desempenho com CodeStream.

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 .

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.

Evento personalizado

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 .

O APM permite registrar dados personalizados de eventos através do agente de idiomas da API New Relic, que você pode consultar.

Importante

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

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_ .

Distributed tracing

Importante

Habilitar distributed tracing desabilita o rastreamento multiaplicativo e tem outros efeitos no recurso APM. Antes de ativar, leia o guia de transição.

Requer agente Java versão 4.3.0 ou superior.

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.

Para obter mais informações sobre como configurar distributed tracing, consulte Habilitar distributed tracing para seu aplicativo Java.

Erro no coletor

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.

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 .

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:

Rastreamento infinito

Importante

Requisitos:

Para ativar o rastreamento infinito, habilite distributed tracing e adicione a configuração adicional abaixo. Por exemplo, consulte Agente de idioma: configurar distributed tracing.

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 .

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:

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 com propriedades do sistema prefixadas por newrelic.config.jfr. ou com variáveis de ambiente prefixadas por NEW_RELIC_JFR_.

JMX

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.

Kafka fila de mensagens

Informações detalhadas sobre a configuração da instrumentação Kafka podem ser encontradas na página do instrumento Kafka fila de mensagens .

Logs contextualizados

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 é:

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:

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:

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 é:

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 é:

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.

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 .

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:

Agente de segurança

O teste de segurança de aplicativo interativo (IAST) do agente New Relic Security testa seu aplicativo em busca de quaisquer vulnerabilidades exploráveis, reproduzindo a solicitação HTTP gerada com carga vulnerável.

Importante

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:

Importante

O modo de teste de segurança de aplicativo interativo (IAST) do agente de segurança New Relic requer o agente Java versão 8.4.0 ou superior.

Detecção de transação lenta

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:

Evento de extensão

Os eventos Span são relatados para distributed tracing. Você deve ativar distributed tracing para relatar o evento span.

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:

Importante

A filtragem de atributo de evento Span requer o agente Java versão 4.10.0 ou superior.

Tirar exceções

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.

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.

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.

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.

Importante

A filtragem de atributo do segmento de transação requer o agente Java versão 4.10.0 ou superior.

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.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.