問題
Unicornでデータが表示されない場合は、お使いのNew Relic Rubyエージェントのバージョンに応じて、以下の手順を行ってください。
解決
Ruby エージェントのバージョン 3.8.0 以上を使用している場合は、追加の設定は必要ありません。 サポートされているウェブフレームワーク を使用している場合、Unicorn の設定にかかわらず、エージェントはすぐに動作するはずです。
Rubyエージェントのバージョン 3.8.0 より前のものをUnicornで使用している場合、データレポートを取得するためには以下のいずれかを行う必要があります。
前述の通り、newrelic_rpm gemのバージョン3.8.0以降であれば、unicornの設定に関わらず自動的に正しく動作するはずです。
Unicorn 構成ファイルでpreload_app true
ディレクティブを使用します。詳細については、この構成設定に関する Unicorn のドキュメントを参照してください。unicorn
呼び出しに-c <path>
オプションを指定して、Unicorn が設定ファイルを認識できるようにする必要があります (Heraku ユーザー: これはProcfile
にあります)。
ヒント
ディレクティブは `preload_app true` であり、`preload_app = true` ではありません。等号の付いたフォームは静かに失敗します。
preload_app true
を使用したくない場合は、 config/initializers`
の初期化ファイルから Web サーバーをフォークするための New Relic Ruby エージェントのハンドラーを手動で呼び出すことができます。
# Ensure the agent is started using Unicorn.
# This is needed when using Unicorn and preload_app is not set to true.
# See https://docs.newrelic.com/docs/ruby/no-data-with-unicorn
if defined?(Unicorn) && File.basename($0).start_with?('unicorn')
::NewRelic::Agent.manual_start()
::NewRelic::Agent.after_fork(:force_reconnect => true)
変更を有効にするには、「クリーン」再起動 (完全に停止してから開始) を実行します。SIGUSR2
を使用して通常の Unicorn 再起動を実行すると、Gem が適切に初期化されない可能性があります。