Sidekiq の計測

Web アプリに加えて、New Relic Ruby エージェント(バージョン 3.6.0 以降)は、Sidekiq ジョブを自動的に計測することができます。ワーカーにに計測ライブラリを追加する必要はありません。

Ruby エージェントは、すべての Sidekiq ワーカーの perform メソッドを計測します。バックグラウンドジョブのデータは、New Relic APM の Transactions ページに表示され、トランザクションの種類として Non-web transactions [Web以外]を選択すると、トランザクショントレースとエラーを表示します。

ジョブの引数の保存

Ruby エージェントバージョン 3.6.9 以降では、トランザクショントレースやトレースエラーにおける Sidekiq ジョブの引数を取得するための設定が、Ruby エージェントにあります。失敗したジョブを再現する際に特に役立ちます。

ジョブの引数に機密情報が含まれている場合を考慮して、デフォルトでは、この機能はオフです。有効にするには、以下のようにエージェントのバージョンに合わせて newrelic.yml を編集します。

  • newrelic_rpm 3.12.0 以上: attributes.include: job.sidekiq.args.*
  • newrelic_rpm 3.6.9 から 3.11.x: sidekiq.capture_params: true
この機能は、トランザクショントレースやトレースエラーの HTTP リクエストパラメータをキャプチャするかどうかを制御する、capture_params 設定とは違うものです。これらの2つ設定は、個別に設定できます。

Sidekiq ジョブのトラブルシューティング

ジョブが監視されていないと感じる場合は、ワーカーの起動時に生成される newrelic_agent.log ファイルを開き、エージェントが Sidekiq を検出し、サーバーと通信しているかをチェックします。サポートが必要な場合は、Sidekiq の起動に使用した正確なコマンドラインを教えてください。