問題
Rubyエージェントが正しく起動していないか、New Relicにデータを報告していません。
解決策
この問題を解決するために
Rubyエージェントのバージョン を確認し、必要に応じてアップデートしてください。
アプリケーション環境で newrelic_rpm
Ruby gem が必要になると、自動的にモニタリングを開始して New Relic へのメトリクス送信を開始するか、それとも無効のままにするかを判断しようとします。
プロダクションとステージングです。これらの環境では、エージェントが自動的に監視するように設定されているのが一般的です。
テストと開発。このような環境では、通常、エージェントは無効のままです。
このロジックを制御するには、
monitor_mode
設定キーをtrue
orfalse
newrelic.yml
の各環境セクションで設定してください。
エージェントの自動起動ロジックをオーバーライドするには、最も簡単なメカニズムは、 NEW_RELIC_AGENT_ENABLED=true
環境変数を設定することです。
NEW_RELIC_AGENT_ENABLED=true rake assets:precompile
Rubyエージェントのバージョン3.6.1以降を使用している場合、エージェントの起動が拒否される原因がいくつかあります。
エージェントは、自分がインタラクティブ・セッションにいることを検出します。例えば、
rails console
やirb
のセッションです。エージェントは、Railsの組み込みrakeタスクの1つであることを検出します。例えば、
assets:precompile
やdb:migrate
.Ruby エージェント
newrelic.yml
ファイルで設定変数を使用して、定数、スクリプト名、rake タスクの自動起動の動作をカスタマイズすることができます。変数
説明
定数
- エージェントの起動を阻止するためのRuby定数です。コンマで区切られたリストを指定します。
- Defaults to
" Rails::Console"
. " "
に設定すると、Rails::Console
が環境にあるときにエージェントを起動するように指示します。
Rakeのタスク
- 例えば、
assets:precompile
のように、エージェントに監視させたくない Rake タスクです。コンマで区切られたリストを指定します。 resque:work
のようなタスクは一般的に監視されているので、すべての rake タスクで Ruby エージェントを無効にはしません。
実行ファイル
irb
のような、エージェントの自動起動を妨げるスクリプト名のリスト。コンマで区切られたリストを指定します。- これを
" rake"
に設定すると、エージェントが rake のタスクで起動するのを防ぐことができ、" rake,my_ruby_script.rb"
に設定すると、エージェントが rake とカスタムスクリプトで起動するのを防ぐことができます。