問題
New Relic Ruby APM と Unicorn を一緒に使用していますが、メトリクスとカスタム イベントの数が少なすぎるようです。
解決
Unicorn に手動で NewRelic::Agent.shutdown
を呼び出して、エージェントの終了ハンドラーを実行させます。Unicorn の終了メソッドの一部が原因で、エージェントが期待どおりにシャットダウンされません。以下の変更は、Unicorn プロセスを強制終了する前に、New Relic のシャットダウン メソッドを実行します。
この修正は 、unicorn-worker-killer gemの@expectedbehaviorのフォークに依存しています。
以下を使用して、これを Gemfile に追加します。
gem 'unicorn-worker-killer', git: 'https://github.com/expectedbehavior/unicorn-worker-killer'unicorn-worker-killer
Gemfile で既に使用している場合は、参照を更新してこのフォークを使用してください。バンドル:
bash$bundle installユニコーン構成を更新して、以下を含めます。
require "unicorn/worker_killer"::Unicorn::WorkerKiller.configure do |config|config.before_kill do |signal|::NewRelic::Agent.increment_metric("Custom/UnicornWorkerBeforeKillSignal/#{signal}")::NewRelic::Agent.shutdownendendサーバーを再起動します