Problema
O agente Ruby não está iniciando corretamente ou não está reportando dados ao New Relic.
Solução
Para resolver este problema:
Verifique a versão do seu agente Ruby e atualize se necessário.
Quando a gem Ruby newrelic_rpm
for necessária em seu ambiente de aplicativo, ela tentará determinar se o monitoramento será iniciado automaticamente e a transmissão de métricas para o New Relic ou permanecerá desativado.
Produção e preparação: o agente normalmente é configurado para monitor automaticamente nesses ambientes.
Teste e desenvolvimento: O agente normalmente permanece desabilitado nesses ambientes.
Para controlar essa lógica, defina a chave de configuração
monitor_mode
comotrue
oufalse
em cada seção de ambiente denewrelic.yml
.
Para substituir a lógica de inicialização automática do agente, o mecanismo mais fácil é definir uma variável de ambiente NEW_RELIC_AGENT_ENABLED=true
; por exemplo:
NEW_RELIC_AGENT_ENABLED=true rake assets:precompile
Se você estiver executando o agente Ruby versão 3.6.1 ou superior, há alguns motivos pelos quais o agente se recusará a iniciar:
O agente detecta que está em uma sessão interativa; por exemplo, uma sessão
rails console
ouirb
.O agente detecta que está em uma das tarefas rake integradas do Rails; por exemplo,
assets:precompile
oudb:migrate
.Você pode usar variáveis de configuração no arquivo
newrelic.yml
do agente Ruby para personalizar o comportamento de inicialização automática para constantes, nomes de script e tarefas rake.Variable
Description
Constantes
- Constantes Ruby que devem impedir a inicialização do agente. Aceita uma lista separada por vírgulas.
- O padrão é
"Rails::Console"
. - Defina como
""
para instruir o agente a iniciar quandoRails::Console
estiver no ambiente.
Tarefas de ancinho
- Rake tarefas que você não deseja que o agente monitor; por exemplo,
assets:precompile
. Aceita uma lista separada por vírgulas. - Não desabilitamos o agente Ruby em todas as tarefas rake, porque tarefas como
resque:work
geralmente são monitoradas.
Executáveis
- Uma lista de nomes script , como
irb
, que impedirá que o agente seja iniciado automaticamente. Aceita uma lista separada por vírgulas. - Defina como
"rake"
para evitar que o agente inicie tarefas de rake ou"rake,my_ruby_script.rb"
para evitar que ele inicie em rake e um script personalizado.